move F_DUPFD_CLOEXEC out of bits
[musl] / include / fcntl.h
1 #ifndef _FCNTL_H
2 #define _FCNTL_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #define __NEED_off_t
9 #define __NEED_pid_t
10 #define __NEED_mode_t
11
12 #include <bits/alltypes.h>
13
14 #include <bits/fcntl.h>
15
16 struct flock
17 {
18         short l_type;
19         short l_whence;
20         off_t l_start;
21         off_t l_len;
22         pid_t l_pid;
23 };
24
25 int creat(const char *, mode_t);
26 int fcntl(int, int, ...);
27 int open(const char *, int, ...);
28 int openat(int, const char *, int, ...);
29 int posix_fadvise(int, off_t, off_t, int);
30 int posix_fallocate(int, off_t, off_t);
31
32 #define O_ACCMODE 03
33 #define O_RDONLY  00
34 #define O_WRONLY  01
35 #define O_RDWR    02
36
37 #define F_DUPFD_CLOEXEC 1030
38
39 #define F_RDLCK 0
40 #define F_WRLCK 1
41 #define F_UNLCK 2
42
43 #define FD_CLOEXEC 1
44
45 #define AT_FDCWD (-100)
46 #define AT_SYMLINK_NOFOLLOW 0x100
47 #define AT_REMOVEDIR 0x200
48 #define AT_SYMLINK_FOLLOW 0x400
49 #define AT_EACCESS 0x200
50
51 #define POSIX_FADV_NORMAL     0
52 #define POSIX_FADV_RANDOM     1
53 #define POSIX_FADV_SEQUENTIAL 2
54 #define POSIX_FADV_WILLNEED   3
55 #define POSIX_FADV_DONTNEED   4
56 #define POSIX_FADV_NOREUSE    5
57
58 #undef SEEK_SET
59 #undef SEEK_CUR
60 #undef SEEK_END
61 #define SEEK_SET 0
62 #define SEEK_CUR 1
63 #define SEEK_END 2
64
65 #ifndef S_IRUSR
66 #define S_ISUID 04000
67 #define S_ISGID 02000
68 #define S_ISVTX 01000
69 #define S_IRUSR 0400
70 #define S_IWUSR 0200
71 #define S_IXUSR 0100
72 #define S_IRWXU 0700
73 #define S_IRGRP 0040
74 #define S_IWGRP 0020
75 #define S_IXGRP 0010
76 #define S_IRWXG 0070
77 #define S_IROTH 0004
78 #define S_IWOTH 0002
79 #define S_IXOTH 0001
80 #define S_IRWXO 0007
81 #endif
82
83 #ifdef _GNU_SOURCE
84 #define FAPPEND O_APPEND
85 #define FFSYNC O_FSYNC
86 #define FASYNC O_ASYNC
87 #define FNONBLOCK O_NONBLOCK
88 #define FNDELAY O_NDELAY
89 #endif
90
91 #ifdef __cplusplus
92 }
93 #endif
94
95 #endif