_GNU_SOURCE is supposed to imply _LARGEFILE64_SOURCE
[musl] / include / fcntl.h
index 1c18c6e..36fb24b 100644 (file)
@@ -34,6 +34,8 @@ int posix_fallocate(int, off_t, off_t);
 #define O_WRONLY  01
 #define O_RDWR    02
 
+#define F_DUPFD_CLOEXEC 1030
+
 #define F_RDLCK 0
 #define F_WRLCK 1
 #define F_UNLCK 2
@@ -78,12 +80,33 @@ int posix_fallocate(int, off_t, off_t);
 #define S_IRWXO 0007
 #endif
 
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define FAPPEND O_APPEND
 #define FFSYNC O_FSYNC
 #define FASYNC O_ASYNC
 #define FNONBLOCK O_NONBLOCK
 #define FNDELAY O_NDELAY
+
+#define F_OK 0
+#define R_OK 4
+#define W_OK 2
+#define X_OK 1
+#define F_ULOCK 0
+#define F_LOCK  1
+#define F_TLOCK 2
+#define F_TEST  3
+
+int lockf(int, int, off_t);
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
+#define open64 open
+#define openat64 openat
+#define creat64 creat
+#define lockf64 lockf
+#define posix_fadvise64 posix_fadvise
+#define posix_fallocate64 posix_fallocate
+#define off64_t off_t
 #endif
 
 #ifdef __cplusplus