summaryrefslogtreecommitdiffstats
path: root/src/include/fcntl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/fcntl.h')
-rw-r--r--src/include/fcntl.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/include/fcntl.h b/src/include/fcntl.h
new file mode 100644
index 0000000..a5bf9af
--- /dev/null
+++ b/src/include/fcntl.h
@@ -0,0 +1,55 @@
1#ifndef _FCNTL_H
2#define _FCNTL_H
3
4#include <sys/types.h>
5
6/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */
7#define O_ACCMODE 00003
8#define O_RDONLY 00
9#define O_WRONLY 01
10#define O_RDWR 02
11#define O_CREAT 00100 /* not fcntl */
12#define O_EXCL 00200 /* not fcntl */
13#define O_NOCTTY 00400 /* not fcntl */
14#define O_TRUNC 01000 /* not fcntl */
15#define O_APPEND 02000
16#define O_NONBLOCK 04000 /* not fcntl */
17#define O_NDELAY O_NONBLOCK
18
19/* Defines for fcntl-commands. Note that currently
20 * locking isn't supported, and other things aren't really
21 * tested.
22 */
23#define F_DUPFD 0 /* dup */
24#define F_GETFD 1 /* get f_flags */
25#define F_SETFD 2 /* set f_flags */
26#define F_GETFL 3 /* more flags (cloexec) */
27#define F_SETFL 4
28#define F_GETLK 5 /* not implemented */
29#define F_SETLK 6
30#define F_SETLKW 7
31
32/* for F_[GET|SET]FL */
33#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
34
35/* Ok, these are locking features, and aren't implemented at any
36 * level. POSIX wants them.
37 */
38#define F_RDLCK 0
39#define F_WRLCK 1
40#define F_UNLCK 2
41
42/* Once again - not implemented, but ... */
43struct flock {
44 short l_type;
45 short l_whence;
46 off_t l_start;
47 off_t l_len;
48 pid_t l_pid;
49};
50
51extern int creat(const char * filename,mode_t mode);
52extern int fcntl(int fildes,int cmd, ...);
53extern int open(const char * filename, int flags, ...);
54
55#endif