X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Ffcntl.h;h=4d91338b3deba517f7195ecf24f89b57334237c8;hb=aba17aa3599c06af39ca7a89188070f4184945c5;hp=55a89f9cb1e03e4e7b16a7842daa4e8262cd8fb1;hpb=8f0359605a24277e3d67f2b9e3477437a7d38706;p=musl diff --git a/include/fcntl.h b/include/fcntl.h index 55a89f9c..4d91338b 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,18 @@ 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_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 @@ -97,7 +99,7 @@ int posix_fallocate(int, off_t, off_t); #define AT_EMPTY_PATH 0x1000 #define FAPPEND O_APPEND -#define FFSYNC O_FSYNC +#define FFSYNC O_SYNC #define FASYNC O_ASYNC #define FNONBLOCK O_NONBLOCK #define FNDELAY O_NDELAY @@ -117,6 +119,25 @@ int posix_fallocate(int, off_t, off_t); #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_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 @@ -134,12 +155,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 @@ -148,6 +175,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); @@ -160,6 +190,7 @@ ssize_t tee(int, int, size_t, unsigned); #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