parent
2f868631c8
commit
29033c3b7c
@ -0,0 +1,55 @@
|
||||
#ifndef _FCNTL_H
|
||||
#define _FCNTL_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */
|
||||
#define O_ACCMODE 00003
|
||||
#define O_RDONLY 00
|
||||
#define O_WRONLY 01
|
||||
#define O_RDWR 02
|
||||
#define O_CREAT 00100 /* not fcntl */
|
||||
#define O_EXCL 00200 /* not fcntl */
|
||||
#define O_NOCTTY 00400 /* not fcntl */
|
||||
#define O_TRUNC 01000 /* not fcntl */
|
||||
#define O_APPEND 02000
|
||||
#define O_NONBLOCK 04000 /* not fcntl */
|
||||
#define O_NDELAY O_NONBLOCK
|
||||
|
||||
/* Defines for fcntl-commands. Note that currently
|
||||
* locking isn't supported, and other things aren't really
|
||||
* tested.
|
||||
*/
|
||||
#define F_DUPFD 0 /* dup */
|
||||
#define F_GETFD 1 /* get f_flags */
|
||||
#define F_SETFD 2 /* set f_flags */
|
||||
#define F_GETFL 3 /* more flags (cloexec) */
|
||||
#define F_SETFL 4
|
||||
#define F_GETLK 5 /* not implemented */
|
||||
#define F_SETLK 6
|
||||
#define F_SETLKW 7
|
||||
|
||||
/* for F_[GET|SET]FL */
|
||||
#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||
|
||||
/* Ok, these are locking features, and aren't implemented at any
|
||||
* level. POSIX wants them.
|
||||
*/
|
||||
#define F_RDLCK 0
|
||||
#define F_WRLCK 1
|
||||
#define F_UNLCK 2
|
||||
|
||||
/* Once again - not implemented, but ... */
|
||||
struct flock {
|
||||
short l_type;
|
||||
short l_whence;
|
||||
off_t l_start;
|
||||
off_t l_len;
|
||||
pid_t l_pid;
|
||||
};
|
||||
|
||||
extern int creat(const char * filename,mode_t mode);
|
||||
extern int fcntl(int fildes,int cmd, ...);
|
||||
extern int open(const char * filename, int flags, ...);
|
||||
|
||||
#endif
|
Loading…
Reference in new issue