fix thread leak on timer_create(SIGEV_THREAD) failure
[musl] / include / fcntl.h
index 6d8edcd..b664cdc 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
@@ -97,6 +100,11 @@ int posix_fallocate(int, off_t, off_t);
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define AT_NO_AUTOMOUNT 0x800
 #define AT_EMPTY_PATH 0x1000
+#define AT_STATX_SYNC_TYPE 0x6000
+#define AT_STATX_SYNC_AS_STAT 0x0000
+#define AT_STATX_FORCE_SYNC 0x2000
+#define AT_STATX_DONT_SYNC 0x4000
+#define AT_RECURSIVE 0x8000
 
 #define FAPPEND O_APPEND
 #define FFSYNC O_SYNC
@@ -126,6 +134,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 +164,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 +185,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);