Ticket #4033: statvfs.h

File statvfs.h, 4.8 KB (added by dp, 4 years ago)
Line 
1/* IBM_PROLOG_BEGIN_TAG                                                   */
2/* This is an automatically generated prolog.                             */
3/*                                                                        */
4/* bos720 src/bos/kernel/sys/statvfs.h 1.12                               */
5/*                                                                        */
6/* Licensed Materials - Property of IBM                                   */
7/*                                                                        */
8/* COPYRIGHT International Business Machines Corp. 1995,2004              */
9/* All Rights Reserved                                                    */
10/*                                                                        */
11/* US Government Users Restricted Rights - Use, duplication or            */
12/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
13/*                                                                        */
14/* IBM_PROLOG_END_TAG                                                     */
15/* @(#)10       1.12  src/bos/kernel/sys/statvfs.h, libcfs, bos720 8/4/04 15:15:57 */
16/*
17 *   COMPONENT_NAME: LIBCFS
18 *
19 *   FUNCTIONS: none
20 *
21 *   ORIGINS: 4,27
22 *
23 *
24 *   (C) COPYRIGHT International Business Machines Corp. 1993,1995
25 *   All Rights Reserved
26 *   Licensed Materials - Property of IBM
27 *   US Government Users Restricted Rights - Use, duplication or
28 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
29 */
30
31#ifndef _H_STATVFS
32#define _H_STATVFS
33
34#ifndef _H_STANDARDS
35#include <standards.h>
36#endif
37
38#if _XOPEN_SOURCE_EXTENDED==1
39
40#include <strict_stdtypes.h>
41
42#ifndef _H_TYPES
43#include <sys/types.h>
44#endif
45
46#include <end_strict_stdtypes.h>
47
48#define _FSTYPSIZ       16     
49
50#ifdef _ALL_SOURCE
51#include <sys/vmount.h>
52
53#define FSTYPSIZ        _FSTYPSIZ
54#endif
55
56/*
57 * statvfs system call return structure
58 */
59
60struct statvfs {
61        ulong_t    f_bsize;     /* preferred file system block size          */
62        ulong_t    f_frsize;    /* fundamental file system block size        */
63        fsblkcnt_t f_blocks;    /* total # of blocks of f_frsize in fs       */ 
64        fsblkcnt_t f_bfree;     /* total # of free blocks                    */
65        fsblkcnt_t f_bavail;    /* # of blocks available to non super user   */
66        fsfilcnt_t f_files;     /* total # of file nodes (inode in JFS)      */
67        fsfilcnt_t f_ffree;     /* total # of free file nodes                */
68        fsfilcnt_t f_favail;    /* # of nodes available to non super user    */
69#ifdef _ALL_SOURCE
70        fsid_t     f_fsid;      /* file system id                            */
71#else
72        ulong_t    f_fsid;      /* file system id                            */
73#ifndef __64BIT__
74        ulong_t    f_fstype;    /* file system type                          */
75#endif
76#endif  /* _ALL_SOURCE */
77        char       f_basetype[_FSTYPSIZ]; /* Filesystem type name (eg. jfs)  */
78        ulong_t    f_flag;      /* bit mask of flags                         */
79        ulong_t    f_namemax;   /* maximum filename length                   */
80        char       f_fstr[32];  /* filesystem-specific string */
81        ulong_t    f_filler[16];/* reserved for future use                   */
82};
83
84#define ST_NOSUID       0x0040          /* don't maintain SUID capability    */
85
86#define ST_RDONLY       0x0001          /* file system mounted read only     */
87#define ST_NODEV        0x0080          /* don't allow device access across  */
88                                        /* this mount                        */ 
89
90/*
91 * Prototypes
92 */
93#ifdef _NO_PROTO
94extern int statvfs();
95extern int fstatvfs();
96#else
97extern int statvfs(const char *__restrict__, struct statvfs *__restrict__);
98extern int fstatvfs(int, struct statvfs *);
99#endif
100
101/*
102 * statvfs64 system call return structure
103 */
104#ifdef _ALL_SOURCE
105
106struct statvfs64 {
107        blksize64_t f_bsize;    /* preferred file system block size          */
108        blksize64_t f_frsize;   /* fundamental file system block size        */
109        blkcnt64_t f_blocks;    /* total # of blocks of f_frsize in fs       */
110        blkcnt64_t f_bfree;     /* total # of free blocks                    */
111        blkcnt64_t f_bavail;    /* # of blocks available to non super user   */
112        blkcnt64_t f_files;     /* total # of file nodes (inode in JFS)      */
113        blkcnt64_t f_ffree;     /* total # of free file nodes                */
114        blkcnt64_t f_favail;    /* # of nodes available to non super user    */
115        fsid64_t   f_fsid;      /* file system id                            */
116        char       f_basetype[FSTYPSIZ]; /* Filesystem type name (eg. jfs)  */
117        ulong_t    f_flag;      /* bit mask of flags                         */
118        ulong_t    f_namemax;   /* maximum filename length                   */
119        char       f_fstr[32];  /* filesystem-specific string */
120        ulong_t    f_filler[16];/* reserved for future use                   */
121};
122
123/*
124 * Prototypes
125 */
126#ifdef _NO_PROTO
127extern int statvfs64();
128extern int fstatvfs64();
129#else
130extern int statvfs64(const char *__restrict__, struct statvfs64 *__restrict__);
131extern int fstatvfs64(int, struct statvfs64 *);
132#endif
133
134#endif  /* _ALL_SOURCE */
135
136#endif /* _XOPEN_SOURCE_EXTENDED */
137#endif /* _H_STATVFS */