diff options
author | Jeffrey Hsu <hsu@FreeBSD.org> | 1996-03-11 02:15:04 +0000 |
---|---|---|
committer | Jeffrey Hsu <hsu@FreeBSD.org> | 1996-03-11 02:15:04 +0000 |
commit | 1fed30f4b34b55833dbeef9218255392ff7291e3 (patch) | |
tree | e6d8c1a04d67a636a51f58b8e4e095895dae0099 /sys | |
parent | 83edfd3e32b3b3890175e18564165f699dd212ae (diff) | |
download | src-1fed30f4b34b55833dbeef9218255392ff7291e3.tar.gz src-1fed30f4b34b55833dbeef9218255392ff7291e3.zip |
Notes
Diffstat (limited to 'sys')
-rw-r--r-- | sys/sys/stat.h | 71 |
1 files changed, 43 insertions, 28 deletions
diff --git a/sys/sys/stat.h b/sys/sys/stat.h index 99ae6b9792dc..592b84e9d915 100644 --- a/sys/sys/stat.h +++ b/sys/sys/stat.h @@ -35,8 +35,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)stat.h 8.6 (Berkeley) 3/8/94 - * $Id: stat.h,v 1.5 1994/10/02 17:24:57 phk Exp $ + * @(#)stat.h 8.12 (Berkeley) 6/16/95 + * $Id: stat.h,v 1.7 1996/02/24 11:19:43 hsu Exp $ */ #ifndef _SYS_STAT_H_ @@ -51,46 +51,57 @@ #ifndef _POSIX_SOURCE struct ostat { - unsigned short st_dev; /* inode's device */ - ino_t st_ino; /* inode's number */ - mode_t st_mode; /* inode protection mode */ - nlink_t st_nlink; /* number of hard links */ - unsigned short st_uid; /* user ID of the file's owner */ - unsigned short st_gid; /* group ID of the file's group */ - unsigned short st_rdev; /* device type */ - long st_size; /* file size, in bytes */ + u_int16_t st_dev; /* inode's device */ + ino_t st_ino; /* inode's number */ + mode_t st_mode; /* inode protection mode */ + nlink_t st_nlink; /* number of hard links */ + u_int16_t st_uid; /* user ID of the file's owner */ + u_int16_t st_gid; /* group ID of the file's group */ + u_int16_t st_rdev; /* device type */ + int32_t st_size; /* file size, in bytes */ struct timespec st_atimespec; /* time of last access */ struct timespec st_mtimespec; /* time of last data modification */ struct timespec st_ctimespec; /* time of last file status change */ - long st_blksize; /* optimal blocksize for I/O */ - long st_blocks; /* blocks allocated for file */ - unsigned long st_flags; /* user defined flags for file */ - unsigned long st_gen; /* file generation number */ + int32_t st_blksize; /* optimal blocksize for I/O */ + int32_t st_blocks; /* blocks allocated for file */ + u_int32_t st_flags; /* user defined flags for file */ + u_int32_t st_gen; /* file generation number */ }; #endif /* !_POSIX_SOURCE */ struct stat { - dev_t st_dev; /* inode's device */ - ino_t st_ino; /* inode's number */ - mode_t st_mode; /* inode protection mode */ - nlink_t st_nlink; /* number of hard links */ - uid_t st_uid; /* user ID of the file's owner */ - gid_t st_gid; /* group ID of the file's group */ - dev_t st_rdev; /* device type */ + dev_t st_dev; /* inode's device */ + ino_t st_ino; /* inode's number */ + mode_t st_mode; /* inode protection mode */ + nlink_t st_nlink; /* number of hard links */ + uid_t st_uid; /* user ID of the file's owner */ + gid_t st_gid; /* group ID of the file's group */ + dev_t st_rdev; /* device type */ +#ifndef _POSIX_SOURCE struct timespec st_atimespec; /* time of last access */ struct timespec st_mtimespec; /* time of last data modification */ struct timespec st_ctimespec; /* time of last file status change */ - off_t st_size; /* file size, in bytes */ - quad_t st_blocks; /* blocks allocated for file */ - unsigned long st_blksize; /* optimal blocksize for I/O */ - unsigned long st_flags; /* user defined flags for file */ - unsigned long st_gen; /* file generation number */ - long st_lspare; - quad_t st_qspare[2]; +#else + time_t st_atime; /* time of last access */ + long st_atimensec; /* nsec of last access */ + time_t st_mtime; /* time of last data modification */ + long st_mtimensec; /* nsec of last data modification */ + time_t st_ctime; /* time of last file status change */ + long st_ctimensec; /* nsec of last file status change */ +#endif + off_t st_size; /* file size, in bytes */ + int64_t st_blocks; /* blocks allocated for file */ + u_int32_t st_blksize; /* optimal blocksize for I/O */ + u_int32_t st_flags; /* user defined flags for file */ + u_int32_t st_gen; /* file generation number */ + int32_t st_lspare; + int64_t st_qspare[2]; }; +#ifndef _POSIX_SOURCE #define st_atime st_atimespec.ts_sec #define st_mtime st_mtimespec.ts_sec #define st_ctime st_ctimespec.ts_sec +#endif #define S_ISUID 0004000 /* set user id on execution */ #define S_ISGID 0002000 /* set group id on execution */ @@ -128,6 +139,7 @@ struct stat { #define S_IFREG 0100000 /* regular */ #define S_IFLNK 0120000 /* symbolic link */ #define S_IFSOCK 0140000 /* socket */ +#define S_IFWHT 0160000 /* whiteout */ #define S_ISVTX 0001000 /* save swapped text even after use */ #endif @@ -141,6 +153,7 @@ struct stat { #define S_ISLNK(m) (((m) & 0170000) == 0120000) /* symbolic link */ #define S_ISSOCK(m) (((m) & 0170000) == 0010000 || \ ((m) & 0170000) == 0140000) /* fifo or socket */ +#define S_ISWHT(m) (((m) & 0170000) == 0160000) /* whiteout */ #endif #ifndef _POSIX_SOURCE @@ -161,6 +174,7 @@ struct stat { #define UF_NODUMP 0x00000001 /* do not dump file */ #define UF_IMMUTABLE 0x00000002 /* file may not be changed */ #define UF_APPEND 0x00000004 /* writes to file may only append */ +#define UF_OPAQUE 0x00000008 /* directory is opaque wrt. union */ /* * Super-user changeable flags. */ @@ -173,6 +187,7 @@ struct stat { /* * Shorthand abbreviations of above. */ +#define OPAQUE (UF_OPAQUE) #define APPEND (UF_APPEND | SF_APPEND) #define IMMUTABLE (UF_IMMUTABLE | SF_IMMUTABLE) #endif |