14 #define __NEED_ssize_t
15 #define __NEED_struct_iovec
18 #include <bits/alltypes.h>
20 #include <bits/fcntl.h>
31 int creat(const char *, mode_t);
32 int fcntl(int, int, ...);
33 int open(const char *, int, ...);
34 int openat(int, const char *, int, ...);
35 int posix_fadvise(int, off_t, off_t, int);
36 int posix_fallocate(int, off_t, off_t);
43 #define F_DUPFD_CLOEXEC 1030
51 #define AT_FDCWD (-100)
52 #define AT_SYMLINK_NOFOLLOW 0x100
53 #define AT_REMOVEDIR 0x200
54 #define AT_SYMLINK_FOLLOW 0x400
55 #define AT_EACCESS 0x200
57 #define POSIX_FADV_NORMAL 0
58 #define POSIX_FADV_RANDOM 1
59 #define POSIX_FADV_SEQUENTIAL 2
60 #define POSIX_FADV_WILLNEED 3
61 #define POSIX_FADV_DONTNEED 4
62 #define POSIX_FADV_NOREUSE 5
89 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
90 #define FAPPEND O_APPEND
91 #define FFSYNC O_FSYNC
92 #define FASYNC O_ASYNC
93 #define FNONBLOCK O_NONBLOCK
94 #define FNDELAY O_NDELAY
105 int lockf(int, int, off_t);
108 #if defined(_GNU_SOURCE)
109 #define F_OWNER_TID 0
110 #define F_OWNER_PID 1
111 #define F_OWNER_PGRP 2
112 #define F_OWNER_GID 2
117 #define SPLICE_F_MOVE 1
118 #define SPLICE_F_NONBLOCK 2
119 #define SPLICE_F_MORE 4
120 #define SPLICE_F_GIFT 8
121 ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
122 ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned);
125 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
127 #define openat64 openat
128 #define creat64 creat
129 #define lockf64 lockf
130 #define posix_fadvise64 posix_fadvise
131 #define posix_fallocate64 posix_fallocate
132 #define off64_t off_t