| // MyLinux.h |
| |
| #ifndef ZIP7_INC_COMMON_MY_LINUX_H |
| #define ZIP7_INC_COMMON_MY_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 |