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 */ 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 77 @Override public String toString() { 78 return Objects.toString(this); 79 } 80 } 81