xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/bits/statvfs.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* Copyright (C) 1997,1998,2000,2001,2002,2006 Free Software Foundation, Inc.
2*53ee8cc1Swenshuai.xi    This file is part of the GNU C Library.
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi    The GNU C Library is free software; you can redistribute it and/or
5*53ee8cc1Swenshuai.xi    modify it under the terms of the GNU Lesser General Public
6*53ee8cc1Swenshuai.xi    License as published by the Free Software Foundation; either
7*53ee8cc1Swenshuai.xi    version 2.1 of the License, or (at your option) any later version.
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi    The GNU C Library is distributed in the hope that it will be useful,
10*53ee8cc1Swenshuai.xi    but WITHOUT ANY WARRANTY; without even the implied warranty of
11*53ee8cc1Swenshuai.xi    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*53ee8cc1Swenshuai.xi    Lesser General Public License for more details.
13*53ee8cc1Swenshuai.xi 
14*53ee8cc1Swenshuai.xi    You should have received a copy of the GNU Lesser General Public
15*53ee8cc1Swenshuai.xi    License along with the GNU C Library; if not, write to the Free
16*53ee8cc1Swenshuai.xi    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17*53ee8cc1Swenshuai.xi    02111-1307 USA.  */
18*53ee8cc1Swenshuai.xi 
19*53ee8cc1Swenshuai.xi #ifndef _SYS_STATVFS_H
20*53ee8cc1Swenshuai.xi # error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
21*53ee8cc1Swenshuai.xi #endif
22*53ee8cc1Swenshuai.xi 
23*53ee8cc1Swenshuai.xi #include <bits/types.h>  /* For __fsblkcnt_t and __fsfilcnt_t.  */
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi #if __WORDSIZE == 32
26*53ee8cc1Swenshuai.xi #define _STATVFSBUF_F_UNUSED
27*53ee8cc1Swenshuai.xi #endif
28*53ee8cc1Swenshuai.xi 
29*53ee8cc1Swenshuai.xi struct statvfs
30*53ee8cc1Swenshuai.xi   {
31*53ee8cc1Swenshuai.xi     unsigned long int f_bsize;
32*53ee8cc1Swenshuai.xi     unsigned long int f_frsize;
33*53ee8cc1Swenshuai.xi #ifndef __USE_FILE_OFFSET64
34*53ee8cc1Swenshuai.xi     __fsblkcnt_t f_blocks;
35*53ee8cc1Swenshuai.xi     __fsblkcnt_t f_bfree;
36*53ee8cc1Swenshuai.xi     __fsblkcnt_t f_bavail;
37*53ee8cc1Swenshuai.xi     __fsfilcnt_t f_files;
38*53ee8cc1Swenshuai.xi     __fsfilcnt_t f_ffree;
39*53ee8cc1Swenshuai.xi     __fsfilcnt_t f_favail;
40*53ee8cc1Swenshuai.xi #else
41*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_blocks;
42*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_bfree;
43*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_bavail;
44*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_files;
45*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_ffree;
46*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_favail;
47*53ee8cc1Swenshuai.xi #endif
48*53ee8cc1Swenshuai.xi     unsigned long int f_fsid;
49*53ee8cc1Swenshuai.xi #ifdef _STATVFSBUF_F_UNUSED
50*53ee8cc1Swenshuai.xi     int __f_unused;
51*53ee8cc1Swenshuai.xi #endif
52*53ee8cc1Swenshuai.xi     unsigned long int f_flag;
53*53ee8cc1Swenshuai.xi     unsigned long int f_namemax;
54*53ee8cc1Swenshuai.xi     int __f_spare[6];
55*53ee8cc1Swenshuai.xi   };
56*53ee8cc1Swenshuai.xi 
57*53ee8cc1Swenshuai.xi #ifdef __USE_LARGEFILE64
58*53ee8cc1Swenshuai.xi struct statvfs64
59*53ee8cc1Swenshuai.xi   {
60*53ee8cc1Swenshuai.xi     unsigned long int f_bsize;
61*53ee8cc1Swenshuai.xi     unsigned long int f_frsize;
62*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_blocks;
63*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_bfree;
64*53ee8cc1Swenshuai.xi     __fsblkcnt64_t f_bavail;
65*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_files;
66*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_ffree;
67*53ee8cc1Swenshuai.xi     __fsfilcnt64_t f_favail;
68*53ee8cc1Swenshuai.xi     unsigned long int f_fsid;
69*53ee8cc1Swenshuai.xi #ifdef _STATVFSBUF_F_UNUSED
70*53ee8cc1Swenshuai.xi     int __f_unused;
71*53ee8cc1Swenshuai.xi #endif
72*53ee8cc1Swenshuai.xi     unsigned long int f_flag;
73*53ee8cc1Swenshuai.xi     unsigned long int f_namemax;
74*53ee8cc1Swenshuai.xi     int __f_spare[6];
75*53ee8cc1Swenshuai.xi   };
76*53ee8cc1Swenshuai.xi #endif
77*53ee8cc1Swenshuai.xi 
78*53ee8cc1Swenshuai.xi /* Definitions for the flag in `f_flag'.  These definitions should be
79*53ee8cc1Swenshuai.xi    kept in sync with the definitions in <sys/mount.h>.  */
80*53ee8cc1Swenshuai.xi enum
81*53ee8cc1Swenshuai.xi {
82*53ee8cc1Swenshuai.xi   ST_RDONLY = 1,		/* Mount read-only.  */
83*53ee8cc1Swenshuai.xi #define ST_RDONLY	ST_RDONLY
84*53ee8cc1Swenshuai.xi   ST_NOSUID = 2			/* Ignore suid and sgid bits.  */
85*53ee8cc1Swenshuai.xi #define ST_NOSUID	ST_NOSUID
86*53ee8cc1Swenshuai.xi #ifdef __USE_GNU
87*53ee8cc1Swenshuai.xi   ,
88*53ee8cc1Swenshuai.xi   ST_NODEV = 4,			/* Disallow access to device special files.  */
89*53ee8cc1Swenshuai.xi # define ST_NODEV	ST_NODEV
90*53ee8cc1Swenshuai.xi   ST_NOEXEC = 8,		/* Disallow program execution.  */
91*53ee8cc1Swenshuai.xi # define ST_NOEXEC	ST_NOEXEC
92*53ee8cc1Swenshuai.xi   ST_SYNCHRONOUS = 16,		/* Writes are synced at once.  */
93*53ee8cc1Swenshuai.xi # define ST_SYNCHRONOUS	ST_SYNCHRONOUS
94*53ee8cc1Swenshuai.xi   ST_MANDLOCK = 64,		/* Allow mandatory locks on an FS.  */
95*53ee8cc1Swenshuai.xi # define ST_MANDLOCK	ST_MANDLOCK
96*53ee8cc1Swenshuai.xi   ST_WRITE = 128,		/* Write on file/directory/symlink.  */
97*53ee8cc1Swenshuai.xi # define ST_WRITE	ST_WRITE
98*53ee8cc1Swenshuai.xi   ST_APPEND = 256,		/* Append-only file.  */
99*53ee8cc1Swenshuai.xi # define ST_APPEND	ST_APPEND
100*53ee8cc1Swenshuai.xi   ST_IMMUTABLE = 512,		/* Immutable file.  */
101*53ee8cc1Swenshuai.xi # define ST_IMMUTABLE	ST_IMMUTABLE
102*53ee8cc1Swenshuai.xi   ST_NOATIME = 1024,		/* Do not update access times.  */
103*53ee8cc1Swenshuai.xi # define ST_NOATIME	ST_NOATIME
104*53ee8cc1Swenshuai.xi   ST_NODIRATIME = 2048,		/* Do not update directory access times.  */
105*53ee8cc1Swenshuai.xi # define ST_NODIRATIME	ST_NODIRATIME
106*53ee8cc1Swenshuai.xi   ST_RELATIME = 4096		/* Update atime relative to mtime/ctime.  */
107*53ee8cc1Swenshuai.xi # define ST_RELATIME	ST_RELATIME
108*53ee8cc1Swenshuai.xi #endif	/* Use GNU.  */
109*53ee8cc1Swenshuai.xi };
110