X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Ffcntl.h;h=515f255d4154f269f33c9f832dc5f40c871224b8;hb=36b72cd6fdfed2cac6b6ff1ed58a96d8265785cf;hp=70d4cbb533966476b834d15040a77aa84f1d2c85;hpb=19b1a8453e9d329a16711900a84797c5f1333208;p=musl diff --git a/include/fcntl.h b/include/fcntl.h index 70d4cbb5..515f255d 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -21,8 +21,7 @@ extern "C" { #include -struct flock -{ +struct flock { short l_type; short l_whence; off_t l_start; @@ -37,15 +36,19 @@ int openat(int, const char *, int, ...); int posix_fadvise(int, off_t, off_t, int); int posix_fallocate(int, off_t, off_t); -#define O_SEARCH 010000000 -#define O_EXEC 010000000 -#define O_PATH 010000000 +#define O_SEARCH O_PATH +#define O_EXEC O_PATH +#define O_TTY_INIT 0 #define O_ACCMODE (03|O_SEARCH) #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 +#define F_OFD_GETLK 36 +#define F_OFD_SETLK 37 +#define F_OFD_SETLKW 38 + #define F_DUPFD_CLOEXEC 1030 #define F_RDLCK 0 @@ -64,8 +67,10 @@ int posix_fallocate(int, off_t, off_t); #define POSIX_FADV_RANDOM 1 #define POSIX_FADV_SEQUENTIAL 2 #define POSIX_FADV_WILLNEED 3 +#ifndef POSIX_FADV_DONTNEED #define POSIX_FADV_DONTNEED 4 #define POSIX_FADV_NOREUSE 5 +#endif #undef SEEK_SET #undef SEEK_CUR @@ -93,8 +98,16 @@ int posix_fallocate(int, off_t, off_t); #endif #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define AT_NO_AUTOMOUNT 0x800 +#define AT_EMPTY_PATH 0x1000 +#define AT_STATX_SYNC_TYPE 0x6000 +#define AT_STATX_SYNC_AS_STAT 0x0000 +#define AT_STATX_FORCE_SYNC 0x2000 +#define AT_STATX_DONT_SYNC 0x4000 +#define AT_RECURSIVE 0x8000 + #define FAPPEND O_APPEND -#define FFSYNC O_FSYNC +#define FFSYNC O_SYNC #define FASYNC O_ASYNC #define FNONBLOCK O_NONBLOCK #define FNDELAY O_NDELAY @@ -108,6 +121,41 @@ int posix_fallocate(int, off_t, off_t); #define F_TLOCK 2 #define F_TEST 3 +#define F_SETLEASE 1024 +#define F_GETLEASE 1025 +#define F_NOTIFY 1026 +#define F_CANCELLK 1029 +#define F_SETPIPE_SZ 1031 +#define F_GETPIPE_SZ 1032 +#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_SEAL_FUTURE_WRITE 0x0010 + +#define F_GET_RW_HINT 1035 +#define F_SET_RW_HINT 1036 +#define F_GET_FILE_RW_HINT 1037 +#define F_SET_FILE_RW_HINT 1038 + +#define RWF_WRITE_LIFE_NOT_SET 0 +#define RWH_WRITE_LIFE_NONE 1 +#define RWH_WRITE_LIFE_SHORT 2 +#define RWH_WRITE_LIFE_MEDIUM 3 +#define RWH_WRITE_LIFE_LONG 4 +#define RWH_WRITE_LIFE_EXTREME 5 + +#define DN_ACCESS 0x00000001 +#define DN_MODIFY 0x00000002 +#define DN_CREATE 0x00000004 +#define DN_DELETE 0x00000008 +#define DN_RENAME 0x00000010 +#define DN_ATTRIB 0x00000020 +#define DN_MULTISHOT 0x80000000 + int lockf(int, int, off_t); #endif @@ -116,12 +164,18 @@ int lockf(int, int, off_t); #define F_OWNER_PID 1 #define F_OWNER_PGRP 2 #define F_OWNER_GID 2 +struct file_handle { + unsigned handle_bytes; + int handle_type; + unsigned char f_handle[]; +}; struct f_owner_ex { int type; pid_t pid; }; #define FALLOC_FL_KEEP_SIZE 1 #define FALLOC_FL_PUNCH_HOLE 2 +#define MAX_HANDLE_SZ 128 #define SYNC_FILE_RANGE_WAIT_BEFORE 1 #define SYNC_FILE_RANGE_WRITE 2 #define SYNC_FILE_RANGE_WAIT_AFTER 4 @@ -130,6 +184,9 @@ struct f_owner_ex { #define SPLICE_F_MORE 4 #define SPLICE_F_GIFT 8 int fallocate(int, int, off_t, off_t); +#define fallocate64 fallocate +int name_to_handle_at(int, const char *, struct file_handle *, int *, int); +int open_by_handle_at(int, struct file_handle *, int); ssize_t readahead(int, off_t, size_t); int sync_file_range(int, off_t, off_t, unsigned); ssize_t vmsplice(int, const struct iovec *, size_t, unsigned); @@ -138,7 +195,11 @@ ssize_t tee(int, int, size_t, unsigned); #define loff_t off_t #endif -#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#if defined(_LARGEFILE64_SOURCE) +#define F_GETLK64 F_GETLK +#define F_SETLK64 F_SETLK +#define F_SETLKW64 F_SETLKW +#define flock64 flock #define open64 open #define openat64 openat #define creat64 creat