X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Ffcntl.h;h=b797cd1a47caa3345c5c20e8135b0eee11a41f8d;hp=36fb24bc3ddaeb79e9601560b60494a871fb6bdd;hb=43653c1250ad5eb5385d7e08292ad047420f8d25;hpb=3b94daba711090f1936f59fae6f7cbcba963b29e diff --git a/include/fcntl.h b/include/fcntl.h index 36fb24bc..b797cd1a 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -5,10 +5,18 @@ extern "C" { #endif +#include + #define __NEED_off_t #define __NEED_pid_t #define __NEED_mode_t +#ifdef _GNU_SOURCE +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec +#endif + #include #include @@ -29,7 +37,11 @@ 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_ACCMODE 03 +#define O_SEARCH 010000000 +#define O_EXEC 010000000 +#define O_PATH 010000000 + +#define O_ACCMODE (03|O_SEARCH) #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 @@ -96,9 +108,51 @@ 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 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 +#if defined(_GNU_SOURCE) +#define F_OWNER_TID 0 +#define F_OWNER_PID 1 +#define F_OWNER_PGRP 2 +#define F_OWNER_GID 2 +struct f_owner_ex { + int type; + pid_t pid; +}; +#define FALLOC_FL_KEEP_SIZE 1 +#define FALLOC_FL_PUNCH_HOLE 2 +#define SYNC_FILE_RANGE_WAIT_BEFORE 1 +#define SYNC_FILE_RANGE_WRITE 2 +#define SYNC_FILE_RANGE_WAIT_AFTER 4 +#define SPLICE_F_MOVE 1 +#define SPLICE_F_NONBLOCK 2 +#define SPLICE_F_MORE 4 +#define SPLICE_F_GIFT 8 +int fallocate(int, int, off_t, off_t); +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); +ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned); +ssize_t tee(int, int, size_t, unsigned); +#define loff_t off_t +#endif + #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) #define open64 open #define openat64 openat