#ifndef _ABIBITS_FCNTL_H #define _ABIBITS_FCNTL_H #include #define O_PATH 010000000 #define O_ACCMODE (03 | O_PATH) #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 #define O_CREAT 0100 #define O_EXCL 0200 #define O_NOCTTY 0400 #define O_TRUNC 01000 #define O_APPEND 02000 #define O_NONBLOCK 04000 #define O_DSYNC 010000 #define O_ASYNC 020000 #define O_DIRECT 040000 #define O_DIRECTORY 0200000 #define O_NOFOLLOW 0400000 #define O_CLOEXEC 02000000 #define O_SYNC 04010000 #define O_RSYNC 04010000 #define O_LARGEFILE 0100000 #define O_NOATIME 01000000 #define O_TMPFILE 020000000 #define O_EXEC O_PATH #define O_SEARCH O_PATH #define F_DUPFD 0 #define F_GETFD 1 #define F_SETFD 2 #define F_GETFL 3 #define F_SETFL 4 #define F_SETOWN 8 #define F_GETOWN 9 #define F_SETSIG 10 #define F_GETSIG 11 #define F_GETLK 5 #define F_SETLK 6 #define F_SETLKW 7 #define F_SETOWN_EX 15 #define F_GETOWN_EX 16 #define F_GETOWNER_UIDS 17 #define F_DUPFD_CLOEXEC 1030 #define F_ADD_SEALS 1033 #define F_GET_SEALS 1034 #define F_SEAL_SEAL 0x0001 #define F_SEAL_SHRINK 0x0002 #define F_SEAL_GROW 0x0004 #define F_SEAL_WRITE 0x0008 #define F_RDLCK 0 #define F_WRLCK 1 #define F_UNLCK 2 #define FD_CLOEXEC 1 #define AT_FDCWD -100 #define AT_SYMLINK_NOFOLLOW 0x100 #define AT_REMOVEDIR 0x200 #define AT_SYMLINK_FOLLOW 0x400 #define AT_EACCESS 0x200 #define AT_EMPTY_PATH 0x1000 struct f_owner_ex { int type; pid_t pid; }; #define POSIX_FADV_NORMAL 0 #define POSIX_FADV_RANDOM 1 #define POSIX_FADV_SEQUENTIAL 2 #define POSIX_FADV_WILLNEED 3 #define POSIX_FADV_DONTNEED 4 #define POSIX_FADV_NOREUSE 5 #endif // _ABIBITS_FCNTL_H