blob: badcbf4cbb10df3d5b89a9e012b917baabd11a68 [file] [log] [blame]
Viet-Trung Luu96b05c12016-01-11 11:26:36 -08001#ifndef _PERSONALITY_H
2#define _PERSONALITY_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
George Kulakowski17e3b042016-02-18 15:59:50 -08008#define ADDR_NO_RANDOMIZE 0x0040000
9#define MMAP_PAGE_ZERO 0x0100000
Viet-Trung Luu96b05c12016-01-11 11:26:36 -080010#define ADDR_COMPAT_LAYOUT 0x0200000
George Kulakowski17e3b042016-02-18 15:59:50 -080011#define READ_IMPLIES_EXEC 0x0400000
12#define ADDR_LIMIT_32BIT 0x0800000
13#define SHORT_INODE 0x1000000
14#define WHOLE_SECONDS 0x2000000
15#define STICKY_TIMEOUTS 0x4000000
16#define ADDR_LIMIT_3GB 0x8000000
Viet-Trung Luu96b05c12016-01-11 11:26:36 -080017
18#define PER_LINUX 0
19#define PER_LINUX_32BIT ADDR_LIMIT_32BIT
20#define PER_SVR4 (1 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)
21#define PER_SVR3 (2 | STICKY_TIMEOUTS | SHORT_INODE)
22#define PER_SCOSVR3 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE)
23#define PER_OSR5 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS)
24#define PER_WYSEV386 (4 | STICKY_TIMEOUTS | SHORT_INODE)
25#define PER_ISCR4 (5 | STICKY_TIMEOUTS)
26#define PER_BSD 6
27#define PER_SUNOS (6 | STICKY_TIMEOUTS)
28#define PER_XENIX (7 | STICKY_TIMEOUTS | SHORT_INODE)
29#define PER_LINUX32 8
30#define PER_LINUX32_3GB (8 | ADDR_LIMIT_3GB)
31#define PER_IRIX32 (9 | STICKY_TIMEOUTS)
32#define PER_IRIXN32 (0xa | STICKY_TIMEOUTS)
33#define PER_IRIX64 (0x0b | STICKY_TIMEOUTS)
34#define PER_RISCOS 0xc
35#define PER_SOLARIS (0xd | STICKY_TIMEOUTS)
36#define PER_UW7 (0xe | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)
37#define PER_OSF4 0xf
38#define PER_HPUX 0x10
39#define PER_MASK 0xff
40
41int personality(unsigned long);
42
43#ifdef __cplusplus
44}
45#endif
46#endif