|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 4.1.0 ! 3: * Copyright (c) 1982, 1993 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: /* ! 7: * /usr/include/sys/stat.h ! 8: * Stat. ! 9: */ ! 10: ! 11: #ifndef __SYS_STAT_H__ ! 12: #define __SYS_STAT_H__ ! 13: ! 14: #include <sys/types.h> ! 15: ! 16: /* ! 17: * Structure returned by stat and fstat system calls. ! 18: */ ! 19: struct stat { ! 20: dev_t st_dev; /* Device */ ! 21: ino_t st_ino; /* Inode number */ ! 22: unsigned short st_mode; /* Mode */ ! 23: short st_nlink; /* Link count */ ! 24: short st_uid; /* User id */ ! 25: short st_gid; /* Group id */ ! 26: dev_t st_rdev; /* Real device */ ! 27: fsize_t st_size; /* Size */ ! 28: time_t st_atime; /* Access time */ ! 29: time_t st_mtime; /* Modify time */ ! 30: time_t st_ctime; /* Change time */ ! 31: }; ! 32: ! 33: /* ! 34: * Modes. ! 35: */ ! 36: #define S_IFMT 0xF000 /* Type */ ! 37: #define S_IFDIR 0x4000 /* Directory */ ! 38: #define S_IFCHR 0x2000 /* Character special */ ! 39: #define S_IFPIP 0x1000 /* Pipe */ ! 40: #define S_IFIFO S_IFPIP /* Pipe */ ! 41: #define S_IFBLK 0x6000 /* Block special */ ! 42: #define S_IFREG 0x8000 /* Regular */ ! 43: #define S_IFSOCK 0xC000 /* Socket -- UNIMPLEMENTED */ ! 44: #define S_IFMPC 0x3000 /* Multiplexed character special */ ! 45: #define S_IFMPB 0x7000 /* Multiplexed block special */ ! 46: ! 47: #define S_ISUID 0x0800 /* Set user id on execution */ ! 48: #define S_ISGID 0x0400 /* Set group id on execution */ ! 49: #define S_ISVTX 0x0200 /* Save swapped text even after use */ ! 50: ! 51: #define S_IREAD 0400 /* Read permission, owner */ ! 52: #define S_IWRITE 0200 /* Write permission, owner */ ! 53: #define S_IEXEC 0100 /* Execute/search permission, owner */ ! 54: #define S_IRWXU 0700 /* RWX permission, owner */ ! 55: #define S_IRUSR S_IREAD /* Read permission, owner */ ! 56: #define S_IWUSR S_IWRITE /* Write permission, owner */ ! 57: #define S_IXUSR S_IEXEC /* Execute/search permission, owner */ ! 58: #define S_IRWXG 0070 /* RWX permission, group */ ! 59: #define S_IRGRP 0040 /* Read permission, group */ ! 60: #define S_IWGRP 0020 /* Write permission, group */ ! 61: #define S_IXGRP 0010 /* Execute/search permission, group */ ! 62: #define S_IRWXO 0007 /* RWX permission, other */ ! 63: #define S_IROTH 0004 /* Read permission, other */ ! 64: #define S_IWOTH 0002 /* Write permission, other */ ! 65: #define S_IXOTH 0001 /* Execute/search permission, other */ ! 66: ! 67: /* Mode test macros. */ ! 68: #define S_ISFIFO(mode) (((mode)&S_IFMT) == S_IFIFO) ! 69: #define S_ISCHR(mode) (((mode)&S_IFMT) == S_IFCHR) ! 70: #define S_ISDIR(mode) (((mode)&S_IFMT) == S_IFDIR) ! 71: #define S_ISBLK(mode) (((mode)&S_IFMT) == S_IFBLK) ! 72: #define S_ISREG(mode) (((mode)&S_IFMT) == S_IFREG) ! 73: #define S_ISSOCK(mode) (((mode)&S_IFMT) == S_IFSOCK) ! 74: ! 75: /* ! 76: * Nonexistent device. ! 77: * Must compare correctly with dev_t, which is an unsigned short. ! 78: */ ! 79: #define NODEV ((dev_t)-1) ! 80: ! 81: /* ! 82: * Functions. ! 83: */ ! 84: #define major(dev) ((dev>>8) & 0xFF) ! 85: #define minor(dev) (dev & 0xFF) ! 86: #define makedev(m1, m2) ((m1<<8)|m2) ! 87: ! 88: #endif ! 89: ! 90: /* end of sys/stat.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.