|
|
1.1 ! root 1: /* ! 2: * G. S. Fowler ! 3: * AT&T Bell Laboratories ! 4: * ! 5: * ls formatter interface definitions ! 6: */ ! 7: ! 8: #ifndef LS_USER ! 9: ! 10: #include <fsinfo.h> ! 11: ! 12: #ifndef S_IRWXU ! 13: #ifndef S_IREAD ! 14: #define S_IREAD 00400 ! 15: #define S_IWRITE 00200 ! 16: #define S_IEXEC 00100 ! 17: #endif ! 18: #ifndef S_ISUID ! 19: #define S_ISUID 04000 ! 20: #endif ! 21: #ifndef S_ISGID ! 22: #define S_ISGID 02000 ! 23: #endif ! 24: #ifndef S_ISVTX ! 25: #define S_ISVTX 01000 ! 26: #endif ! 27: #ifndef S_IRUSR ! 28: #define S_IRUSR S_IREAD ! 29: #define S_IWUSR S_IWRITE ! 30: #define S_IXUSR S_IEXEC ! 31: #define S_IRGRP (S_IREAD>>3) ! 32: #define S_IWGRP (S_IWRITE>>3) ! 33: #define S_IXGRP (S_IEXEC>>3) ! 34: #define S_IROTH (S_IREAD>>6) ! 35: #define S_IWOTH (S_IWRITE>>6) ! 36: #define S_IXOTH (S_IEXEC>>6) ! 37: #endif ! 38: ! 39: #define S_IRWXU (S_IRUSR|S_IWUSR|S_IXUSR) ! 40: #define S_IRWXG (S_IRGRP|S_IWGRP|S_IXGRP) ! 41: #define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH) ! 42: #endif ! 43: ! 44: #ifdef stat_blocks ! 45: #define tblocks(p) (((p)->st_blocks+1)/2) ! 46: #else ! 47: #define tblocks(p) iblocks(p) ! 48: #if __STDC__ || __cplusplus || c_plusplus ! 49: #if __cplusplus ! 50: extern "C" { ! 51: #endif ! 52: extern long iblocks(struct stat*); ! 53: #if __cplusplus ! 54: } ! 55: #endif ! 56: #else ! 57: extern long iblocks(); ! 58: #endif ! 59: #endif ! 60: ! 61: #define LS_ATIME (1<<0) /* list st_atime */ ! 62: #define LS_BLOCKS (1<<1) /* list blocks used by file */ ! 63: #define LS_CTIME (1<<2) /* list st_ctime */ ! 64: #define LS_INUMBER (1<<3) /* list st_ino */ ! 65: #define LS_LONG (1<<4) /* long listing */ ! 66: #define LS_MARK (1<<5) /* append file name marks */ ! 67: #define LS_NOGROUP (1<<6) /* omit group name for LS_LONG */ ! 68: #define LS_NOUSER (1<<7) /* omit user name for LS_LONG */ ! 69: ! 70: #define LS_USER (1<<8) /* first user flag bit */ ! 71: ! 72: #define LS_W_BLOCKS 5 /* LS_BLOCKS field width */ ! 73: #define LS_W_INUMBER 7 /* LS_INUMBER field width */ ! 74: #define LS_W_LONG 55 /* LS_LONG width (w/o names) */ ! 75: #define LS_W_LINK 4 /* link text width (w/o names) */ ! 76: #define LS_W_MARK 1 /* LS_MARK field width */ ! 77: #define LS_W_NAME 9 /* group|user name field width */ ! 78: ! 79: #if __STDC__ || __cplusplus || c_plusplus ! 80: #if __cplusplus ! 81: extern "C" { ! 82: #endif ! 83: extern char* fmtls(char*, const char*, struct stat*, const char*, const char*, int); ! 84: #if __cplusplus ! 85: } ! 86: #endif ! 87: #else ! 88: extern char* fmtls(); ! 89: #endif ! 90: ! 91: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.