1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.system;
18 
19 import libcore.util.Objects;
20 
21 /**
22  * File information returned by {@link Os#fstatvfs} and {@link Os#statvfs}.
23  */
24 public final class StructStatVfs {
25     /** File system block size (used for block counts). */
26     public final long f_bsize; /*unsigned long*/
27 
28     /** Fundamental file system block size. */
29     public final long f_frsize; /*unsigned long*/
30 
31     /** Total block count. */
32     public final long f_blocks; /*fsblkcnt_t*/
33 
34     /** Free block count. */
35     public final long f_bfree; /*fsblkcnt_t*/
36 
37     /** Free block count available to non-root. */
38     public final long f_bavail; /*fsblkcnt_t*/
39 
40     /** Total file (inode) count. */
41     public final long f_files; /*fsfilcnt_t*/
42 
43     /** Free file (inode) count. */
44     public final long f_ffree; /*fsfilcnt_t*/
45 
46     /** Free file (inode) count available to non-root. */
47     public final long f_favail; /*fsfilcnt_t*/
48 
49     /** File system id. */
50     public final long f_fsid; /*unsigned long*/
51 
52     /** Bit mask of ST_* flags. */
53     public final long f_flag; /*unsigned long*/
54 
55     /** Maximum filename length. */
56     public final long f_namemax; /*unsigned long*/
57 
58     /**
59      * Constructs an instance with the given field values.
60      */
StructStatVfs(long f_bsize, long f_frsize, long f_blocks, long f_bfree, long f_bavail, long f_files, long f_ffree, long f_favail, long f_fsid, long f_flag, long f_namemax)61     public StructStatVfs(long f_bsize, long f_frsize, long f_blocks, long f_bfree, long f_bavail,
62             long f_files, long f_ffree, long f_favail,
63             long f_fsid, long f_flag, long f_namemax) {
64         this.f_bsize = f_bsize;
65         this.f_frsize = f_frsize;
66         this.f_blocks = f_blocks;
67         this.f_bfree = f_bfree;
68         this.f_bavail = f_bavail;
69         this.f_files = f_files;
70         this.f_ffree = f_ffree;
71         this.f_favail = f_favail;
72         this.f_fsid = f_fsid;
73         this.f_flag = f_flag;
74         this.f_namemax = f_namemax;
75     }
76 
toString()77     @Override public String toString() {
78         return Objects.toString(this);
79     }
80 }
81