|
|
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 ! 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 ... */ ! 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.