|
|
1.1 root 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
1.1.1.2 ! root 16: #define O_NONBLOCK 04000
1.1 root 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 ... */
43: struct 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:
51: extern int creat(const char * filename,mode_t mode);
52: extern int fcntl(int fildes,int cmd, ...);
53: extern int open(const char * filename, int flags, ...);
54:
55: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.