1 // MyLinux.h 2 3 #ifndef __MY_LIN_LINUX_H 4 #define __MY_LIN_LINUX_H 5 6 // #include "../../C/7zTypes.h" 7 8 #define MY_LIN_DT_UNKNOWN 0 9 #define MY_LIN_DT_FIFO 1 10 #define MY_LIN_DT_CHR 2 11 #define MY_LIN_DT_DIR 4 12 #define MY_LIN_DT_BLK 6 13 #define MY_LIN_DT_REG 8 14 #define MY_LIN_DT_LNK 10 15 #define MY_LIN_DT_SOCK 12 16 #define MY_LIN_DT_WHT 14 17 18 #define MY_LIN_S_IFMT 00170000 19 #define MY_LIN_S_IFSOCK 0140000 20 #define MY_LIN_S_IFLNK 0120000 21 #define MY_LIN_S_IFREG 0100000 22 #define MY_LIN_S_IFBLK 0060000 23 #define MY_LIN_S_IFDIR 0040000 24 #define MY_LIN_S_IFCHR 0020000 25 #define MY_LIN_S_IFIFO 0010000 26 27 #define MY_LIN_S_ISLNK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFLNK) 28 #define MY_LIN_S_ISREG(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFREG) 29 #define MY_LIN_S_ISDIR(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFDIR) 30 #define MY_LIN_S_ISCHR(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFCHR) 31 #define MY_LIN_S_ISBLK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFBLK) 32 #define MY_LIN_S_ISFIFO(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFIFO) 33 #define MY_LIN_S_ISSOCK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFSOCK) 34 35 #define MY_LIN_S_ISUID 0004000 36 #define MY_LIN_S_ISGID 0002000 37 #define MY_LIN_S_ISVTX 0001000 38 39 #define MY_LIN_S_IRWXU 00700 40 #define MY_LIN_S_IRUSR 00400 41 #define MY_LIN_S_IWUSR 00200 42 #define MY_LIN_S_IXUSR 00100 43 44 #define MY_LIN_S_IRWXG 00070 45 #define MY_LIN_S_IRGRP 00040 46 #define MY_LIN_S_IWGRP 00020 47 #define MY_LIN_S_IXGRP 00010 48 49 #define MY_LIN_S_IRWXO 00007 50 #define MY_LIN_S_IROTH 00004 51 #define MY_LIN_S_IWOTH 00002 52 #define MY_LIN_S_IXOTH 00001 53 54 /* 55 // major/minor encoding for makedev(): MMMMMmmmmmmMMMmm: 56 57 inline UInt32 MY_dev_major(UInt64 dev) 58 { 59 return ((UInt32)(dev >> 8) & (UInt32)0xfff) | ((UInt32)(dev >> 32) & ~(UInt32)0xfff); 60 } 61 62 inline UInt32 MY_dev_minor(UInt64 dev) 63 { 64 return ((UInt32)(dev) & 0xff) | ((UInt32)(dev >> 12) & ~0xff); 65 } 66 67 inline UInt64 MY_dev_makedev(UInt32 __major, UInt32 __minor) 68 { 69 return (__minor & 0xff) | ((__major & 0xfff) << 8) 70 | ((UInt64) (__minor & ~0xff) << 12) 71 | ((UInt64) (__major & ~0xfff) << 32); 72 } 73 */ 74 75 #endif 76