master
 1#ifndef _PERSONALITY_H
 2#define _PERSONALITY_H
 3
 4#ifdef __cplusplus
 5extern "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
44int personality(unsigned long);
45
46#ifdef __cplusplus
47}
48#endif
49#endif