fcntl.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #define O_ACCMODE 03
  2. #define O_RDONLY 00
  3. #define O_WRONLY 01
  4. #define O_RDWR 02
  5. #define O_CREAT 0100
  6. #define O_EXCL 0200
  7. #define O_NOCTTY 0400
  8. #define O_TRUNC 01000
  9. #define O_APPEND 02000
  10. #define O_NONBLOCK 04000
  11. #define O_SYNC 010000
  12. #define O_DIRECTORY 0200000
  13. #define O_NOFOLLOW 0400000
  14. #define O_CLOEXEC 02000000
  15. /* Extensions, but in the reserved namespace, so OK */
  16. #define O_ASYNC 020000
  17. #define O_DIRECT 040000
  18. #define O_LARGEFILE 0100000
  19. #define O_NOATIME 01000000
  20. #define O_NDELAY O_NONBLOCK
  21. #define F_DUPFD_CLOEXEC 1030
  22. #ifdef _GNU_SOURCE
  23. #define FAPPENT O_APPEND
  24. #define FFSYNC O_FSYNC
  25. #define FASYNC O_ASYNC
  26. #define FNONBLOCK O_NONBLOCK
  27. #define FNDELAY O_NDELAY
  28. #endif
  29. #define F_DUPFD 0
  30. #define F_GETFD 1
  31. #define F_SETFD 2
  32. #define F_GETFL 3
  33. #define F_SETFL 4
  34. #define F_SETOWN 8
  35. #define F_GETOWN 9
  36. #define F_GETLK 12
  37. #define F_SETLK 13
  38. #define F_SETLKW 14
  39. #define FD_CLOEXEC 1
  40. #define F_RDLCK 0
  41. #define F_WRLCK 1
  42. #define F_UNLCK 2
  43. #define AT_FDCWD (-100)
  44. #define AT_SYMLINK_NOFOLLOW 0x100
  45. #define AT_REMOVEDIR 0x200
  46. #define AT_SYMLINK_FOLLOW 0x400
  47. #define AT_EACCESS 0x200
  48. #define POSIX_FADV_NORMAL 0
  49. #define POSIX_FADV_RANDOM 1
  50. #define POSIX_FADV_SEQUENTIAL 2
  51. #define POSIX_FADV_WILLNEED 3
  52. #define POSIX_FADV_DONTNEED 4
  53. #define POSIX_FADV_NOREUSE 5