sysvipc: overhaul {sem,shm,msg}ctl for time64
[musl] / include / fcntl.h
index 6d8edcd..af29340 100644 (file)
@@ -36,8 +36,9 @@ 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  O_PATH
-#define O_EXEC    O_PATH
+#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
@@ -66,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
@@ -126,6 +129,7 @@ int posix_fallocate(int, off_t, off_t);
 #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
@@ -155,12 +159,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
@@ -170,6 +180,8 @@ struct f_owner_ex {
 #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);