// MyLinux.h #ifndef __MY_LIN_LINUX_H #define __MY_LIN_LINUX_H // #include "../../C/7zTypes.h" #define MY_LIN_DT_UNKNOWN 0 #define MY_LIN_DT_FIFO 1 #define MY_LIN_DT_CHR 2 #define MY_LIN_DT_DIR 4 #define MY_LIN_DT_BLK 6 #define MY_LIN_DT_REG 8 #define MY_LIN_DT_LNK 10 #define MY_LIN_DT_SOCK 12 #define MY_LIN_DT_WHT 14 #define MY_LIN_S_IFMT 00170000 #define MY_LIN_S_IFSOCK 0140000 #define MY_LIN_S_IFLNK 0120000 #define MY_LIN_S_IFREG 0100000 #define MY_LIN_S_IFBLK 0060000 #define MY_LIN_S_IFDIR 0040000 #define MY_LIN_S_IFCHR 0020000 #define MY_LIN_S_IFIFO 0010000 #define MY_LIN_S_ISLNK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFLNK) #define MY_LIN_S_ISREG(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFREG) #define MY_LIN_S_ISDIR(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFDIR) #define MY_LIN_S_ISCHR(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFCHR) #define MY_LIN_S_ISBLK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFBLK) #define MY_LIN_S_ISFIFO(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFIFO) #define MY_LIN_S_ISSOCK(m) (((m) & MY_LIN_S_IFMT) == MY_LIN_S_IFSOCK) #define MY_LIN_S_ISUID 0004000 #define MY_LIN_S_ISGID 0002000 #define MY_LIN_S_ISVTX 0001000 #define MY_LIN_S_IRWXU 00700 #define MY_LIN_S_IRUSR 00400 #define MY_LIN_S_IWUSR 00200 #define MY_LIN_S_IXUSR 00100 #define MY_LIN_S_IRWXG 00070 #define MY_LIN_S_IRGRP 00040 #define MY_LIN_S_IWGRP 00020 #define MY_LIN_S_IXGRP 00010 #define MY_LIN_S_IRWXO 00007 #define MY_LIN_S_IROTH 00004 #define MY_LIN_S_IWOTH 00002 #define MY_LIN_S_IXOTH 00001 /* // major/minor encoding for makedev(): MMMMMmmmmmmMMMmm: inline UInt32 MY_dev_major(UInt64 dev) { return ((UInt32)(dev >> 8) & (UInt32)0xfff) | ((UInt32)(dev >> 32) & ~(UInt32)0xfff); } inline UInt32 MY_dev_minor(UInt64 dev) { return ((UInt32)(dev) & 0xff) | ((UInt32)(dev >> 12) & ~0xff); } inline UInt64 MY_dev_makedev(UInt32 __major, UInt32 __minor) { return (__minor & 0xff) | ((__major & 0xfff) << 8) | ((UInt64) (__minor & ~0xff) << 12) | ((UInt64) (__major & ~0xfff) << 32); } */ #endif