1 #ifndef _PERSONALITY_H 2 #define _PERSONALITY_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #define UNAME26 0x0020000 9 #define ADDR_NO_RANDOMIZE 0x0040000 10 #define FDPIC_FUNCPTRS 0x0080000 11 #define MMAP_PAGE_ZERO 0x0100000 12 #define ADDR_COMPAT_LAYOUT 0x0200000 13 #define READ_IMPLIES_EXEC 0x0400000 14 #define ADDR_LIMIT_32BIT 0x0800000 15 #define SHORT_INODE 0x1000000 16 #define WHOLE_SECONDS 0x2000000 17 #define STICKY_TIMEOUTS 0x4000000 18 #define ADDR_LIMIT_3GB 0x8000000 19 20 #define PER_LINUX 0 21 #define PER_LINUX_32BIT ADDR_LIMIT_32BIT 22 #define PER_LINUX_FDPIC FDPIC_FUNCPTRS 23 #define PER_SVR4 (1 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) 24 #define PER_SVR3 (2 | STICKY_TIMEOUTS | SHORT_INODE) 25 #define PER_SCOSVR3 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE) 26 #define PER_OSR5 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS) 27 #define PER_WYSEV386 (4 | STICKY_TIMEOUTS | SHORT_INODE) 28 #define PER_ISCR4 (5 | STICKY_TIMEOUTS) 29 #define PER_BSD 6 30 #define PER_SUNOS (6 | STICKY_TIMEOUTS) 31 #define PER_XENIX (7 | STICKY_TIMEOUTS | SHORT_INODE) 32 #define PER_LINUX32 8 33 #define PER_LINUX32_3GB (8 | ADDR_LIMIT_3GB) 34 #define PER_IRIX32 (9 | STICKY_TIMEOUTS) 35 #define PER_IRIXN32 (0xa | STICKY_TIMEOUTS) 36 #define PER_IRIX64 (0x0b | STICKY_TIMEOUTS) 37 #define PER_RISCOS 0xc 38 #define PER_SOLARIS (0xd | STICKY_TIMEOUTS) 39 #define PER_UW7 (0xe | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) 40 #define PER_OSF4 0xf 41 #define PER_HPUX 0x10 42 #define PER_MASK 0xff 43 44 int personality(unsigned long); 45 46 #ifdef __cplusplus 47 } 48 #endif 49 #endif 50