constants.rs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. use bitflags::bitflags;
  2. pub const TCGETS: u32 = 0x5401;
  3. pub const TCSETS: u32 = 0x5402;
  4. pub const TIOCGPGRP: u32 = 0x540f;
  5. pub const TIOCSPGRP: u32 = 0x5410;
  6. pub const TIOCGWINSZ: u32 = 0x5413;
  7. pub const PR_SET_NAME: u32 = 15;
  8. pub const PR_GET_NAME: u32 = 16;
  9. pub const SIG_BLOCK: u32 = 0;
  10. pub const SIG_UNBLOCK: u32 = 1;
  11. pub const SIG_SETMASK: u32 = 2;
  12. pub const CLOCK_REALTIME: u32 = 0;
  13. pub const CLOCK_MONOTONIC: u32 = 1;
  14. pub const EPERM: u32 = 1;
  15. pub const ENOENT: u32 = 2;
  16. pub const ESRCH: u32 = 3;
  17. pub const EINTR: u32 = 4;
  18. pub const EIO: u32 = 5;
  19. pub const ENXIO: u32 = 6;
  20. pub const ENOEXEC: u32 = 8;
  21. pub const EBADF: u32 = 9;
  22. pub const ECHILD: u32 = 10;
  23. pub const ENOMEM: u32 = 12;
  24. pub const EACCES: u32 = 13;
  25. pub const EFAULT: u32 = 14;
  26. pub const EEXIST: u32 = 17;
  27. pub const ENODEV: u32 = 19;
  28. pub const ENOTDIR: u32 = 20;
  29. pub const EISDIR: u32 = 21;
  30. pub const EINVAL: u32 = 22;
  31. pub const ENOTTY: u32 = 25;
  32. pub const ESPIPE: u32 = 29;
  33. // pub const EROFS: u32 = 30;
  34. pub const EPIPE: u32 = 32;
  35. pub const ERANGE: u32 = 34;
  36. pub const ENOSYS: u32 = 38;
  37. pub const ELOOP: u32 = 40;
  38. pub const EOVERFLOW: u32 = 75;
  39. // pub const S_IFIFO: u32 = 0o010000;
  40. pub const S_IFCHR: u32 = 0o020000;
  41. pub const S_IFDIR: u32 = 0o040000;
  42. pub const S_IFBLK: u32 = 0o060000;
  43. pub const S_IFREG: u32 = 0o100000;
  44. pub const S_IFLNK: u32 = 0o120000;
  45. // pub const S_IFSOCK: u32 = 0o140000;
  46. pub const S_IFMT: u32 = 0o170000;
  47. pub const RLIMIT_STACK: u32 = 0x3;
  48. pub const AT_FDCWD: i32 = -100;
  49. pub const AT_STATX_SYNC_AS_STAT: u32 = 0;
  50. pub const AT_SYMLINK_NOFOLLOW: u32 = 0x0100;
  51. // pub const AT_REMOVEDIR: u32 = 0x0200;
  52. // pub const AT_SYMLINK_FOLLOW: u32 = 0x0400;
  53. pub const AT_EMPTY_PATH: u32 = 0x1000;
  54. // pub const AT_STATX_DONT_SYNC: u32 = 0x2000;
  55. pub const AT_STATX_SYNC_TYPE: u32 = 0x6000;
  56. // pub const AT_STATX_SYNC_FORCE: u32 = 0x8000;
  57. pub const SEEK_SET: u32 = 0;
  58. pub const SEEK_CUR: u32 = 1;
  59. pub const SEEK_END: u32 = 2;
  60. // pub const O_RDONLY: u32 = 0;
  61. pub const O_WRONLY: u32 = 1;
  62. pub const O_RDWR: u32 = 2;
  63. pub const O_CREAT: u32 = 64;
  64. pub const O_EXCL: u32 = 128;
  65. pub const O_TRUNC: u32 = 512;
  66. pub const O_APPEND: u32 = 1024;
  67. pub const O_DIRECTORY: u32 = 65536;
  68. pub const O_CLOEXEC: u32 = 524288;
  69. pub const F_DUPFD: u32 = 0;
  70. pub const F_GETFD: u32 = 1;
  71. pub const F_SETFD: u32 = 2;
  72. // pub const F_GETFL: u32 = 3;
  73. // pub const F_SETFL: u32 = 4;
  74. pub const F_DUPFD_CLOEXEC: u32 = 1030;
  75. pub const FD_CLOEXEC: u32 = 1;
  76. pub const STATX_TYPE: u32 = 1;
  77. pub const STATX_MODE: u32 = 2;
  78. pub const STATX_NLINK: u32 = 4;
  79. pub const STATX_UID: u32 = 8;
  80. pub const STATX_GID: u32 = 16;
  81. pub const STATX_ATIME: u32 = 32;
  82. pub const STATX_MTIME: u32 = 64;
  83. pub const STATX_CTIME: u32 = 128;
  84. pub const STATX_INO: u32 = 256;
  85. pub const STATX_SIZE: u32 = 512;
  86. pub const STATX_BLOCKS: u32 = 1024;
  87. // pub const STATX_BASIC_STATS: u32 = 2047;
  88. // pub const STATX_BTIME: u32 = 2048;
  89. bitflags! {
  90. #[derive(Debug, Clone, Copy)]
  91. pub struct UserMmapFlags: u32 {
  92. const MAP_SHARED = 0x01;
  93. const MAP_PRIVATE = 0x02;
  94. const MAP_FIXED = 0x10;
  95. const MAP_ANONYMOUS = 0x20;
  96. }
  97. #[derive(Debug, Clone, Copy)]
  98. pub struct UserMmapProtocol: u32 {
  99. const PROT_READ = 0x01;
  100. const PROT_WRITE = 0x02;
  101. const PROT_EXEC = 0x04;
  102. }
  103. }