home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 June / SGI IRIX Patches 1995 Jun.iso / 5.3_patches / patchSG0000281 / patchSG0000281.idb / usr / include / sys / statvfs.h.z / statvfs.h
Encoding:
C/C++ Source or Header  |  1995-06-12  |  2.5 KB  |  85 lines

  1. /*    Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _FS_STATVFS_H    /* wrapper symbol for kernel use */
  11. #define _FS_STATVFS_H    /* subject to change without notice */
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17. /*#ident    "@(#)uts-3b2:fs/statvfs.h    1.2"*/
  18. #ident    "$Revision: 1.6 $"
  19. /*
  20.  * Structure returned by statvfs(2).
  21.  */
  22.  
  23. #include <sys/types.h>
  24.  
  25. #define    FSTYPSZ    16
  26.  
  27. typedef struct statvfs {
  28.     ulong_t    f_bsize;    /* fundamental file system block size */
  29.     ulong_t    f_frsize;    /* fragment size */
  30.     ulong_t    f_blocks;    /* total # of blocks of f_frsize on fs */
  31.     ulong_t    f_bfree;    /* total # of free blocks of f_frsize */
  32.     ulong_t    f_bavail;    /* # of free blocks avail to non-superuser */
  33.     ulong_t    f_files;    /* total # of file nodes (inodes) */
  34.     ulong_t    f_ffree;    /* total # of free file nodes */
  35.     ulong_t    f_favail;    /* # of free nodes avail to non-superuser */
  36.     ulong_t    f_fsid;        /* file system id (dev for now) */
  37.     char    f_basetype[FSTYPSZ]; /* target fs type name, null-terminated */
  38.     ulong_t    f_flag;        /* bit-mask of flags */
  39.     ulong_t    f_namemax;    /* maximum file name length */
  40.     char    f_fstr[32];    /* filesystem-specific string */
  41.     ulong_t    f_filler[16];    /* reserved for future expansion */
  42. } statvfs_t;
  43.  
  44. /*
  45.  * Flag definitions.
  46.  */
  47.  
  48. #define    ST_RDONLY    0x01    /* read-only file system */
  49. #define    ST_NOSUID    0x02    /* does not support setuid/setgid semantics */
  50. #define ST_NOTRUNC    0x04    /* does not truncate long file names */
  51. #define ST_DMI        0x08    /* DMI is enabled for current mount of FS */
  52. #define    ST_NODEV    0x20000000    /* disallow opening of device files */
  53. #define    ST_GRPID    0x40000000    /* group-ID assigned from directory */
  54. #define    ST_LOCAL    0x80000000    /* local filesystem, for find */
  55.  
  56. #ifndef _KERNEL
  57. int statvfs(const char *, struct statvfs *);
  58. int fstatvfs(int, struct statvfs *);
  59. #endif
  60.  
  61. #ifdef _KERNEL
  62. typedef struct irix5_statvfs {
  63.     app32_ulong_t    f_bsize;
  64.     app32_ulong_t    f_frsize;
  65.     app32_ulong_t    f_blocks;
  66.     app32_ulong_t    f_bfree;
  67.     app32_ulong_t    f_bavail;
  68.     app32_ulong_t    f_files;
  69.     app32_ulong_t    f_ffree;
  70.     app32_ulong_t    f_favail;
  71.     app32_ulong_t    f_fsid;    
  72.     char        f_basetype[FSTYPSZ];
  73.     app32_ulong_t    f_flag;
  74.     app32_ulong_t    f_namemax;
  75.     char        f_fstr[32];
  76.     app32_ulong_t    f_filler[16];
  77. } irix5_statvfs_t;
  78. #endif
  79.  
  80. #ifdef __cplusplus
  81. }
  82. #endif
  83.  
  84. #endif    /* _FS_STATVFS_H */
  85.