personality.h 1.3 KB

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