13e12c5d1SDavid du Colombier #ifndef __FCNTL_H 23e12c5d1SDavid du Colombier #define __FCNTL_H 33e12c5d1SDavid du Colombier #ifndef _POSIX_SOURCE 43e12c5d1SDavid du Colombier This header file is not defined in pure ANSI 53e12c5d1SDavid du Colombier #endif 63e12c5d1SDavid du Colombier #pragma lib "/$M/lib/ape/libap.a" 73e12c5d1SDavid du Colombier 8*59cc4ca5SDavid du Colombier #include <sys/types.h> 9*59cc4ca5SDavid du Colombier 103e12c5d1SDavid du Colombier #define O_RDONLY 0 113e12c5d1SDavid du Colombier #define O_WRONLY 1 123e12c5d1SDavid du Colombier #define O_RDWR 2 133e12c5d1SDavid du Colombier #define O_ACCMODE 0x003 143e12c5d1SDavid du Colombier #define O_NONBLOCK 0x004 153e12c5d1SDavid du Colombier #define O_APPEND 0x008 163e12c5d1SDavid du Colombier #define O_CREAT 0x100 173e12c5d1SDavid du Colombier #define O_TRUNC 0x200 183e12c5d1SDavid du Colombier #define O_EXCL 0x400 193e12c5d1SDavid du Colombier #define O_NOCTTY 0x800 207dd7cddfSDavid du Colombier #define O_DSYNC 0x1000 217dd7cddfSDavid du Colombier #define O_RSYNC 0x2000 227dd7cddfSDavid du Colombier #define O_SYNC 0x4000 233e12c5d1SDavid du Colombier 243e12c5d1SDavid du Colombier #define F_DUPFD 0 /* Duplicate fildes */ 253e12c5d1SDavid du Colombier #define F_GETFD 1 /* Get fildes flags */ 263e12c5d1SDavid du Colombier #define F_SETFD 2 /* Set fildes flags */ 273e12c5d1SDavid du Colombier #define F_GETFL 3 /* Get file flags */ 283e12c5d1SDavid du Colombier #define F_SETFL 4 /* Set file flags */ 293e12c5d1SDavid du Colombier #define F_GETLK 5 /* Get file lock */ 303e12c5d1SDavid du Colombier #define F_SETLK 6 /* Set file lock */ 313e12c5d1SDavid du Colombier #define F_SETLKW 7 /* Set file lock and wait */ 323e12c5d1SDavid du Colombier 333e12c5d1SDavid du Colombier #define FD_CLOEXEC 1 343e12c5d1SDavid du Colombier 353e12c5d1SDavid du Colombier struct flock { 363e12c5d1SDavid du Colombier short l_type; 373e12c5d1SDavid du Colombier short l_whence; 383e12c5d1SDavid du Colombier off_t l_start; 393e12c5d1SDavid du Colombier off_t l_len; 403e12c5d1SDavid du Colombier pid_t l_pid; 413e12c5d1SDavid du Colombier }; 423e12c5d1SDavid du Colombier 433e12c5d1SDavid du Colombier #define F_RDLCK 1 /* shared or read lock */ 443e12c5d1SDavid du Colombier #define F_UNLCK 2 /* unlock */ 453e12c5d1SDavid du Colombier #define F_WRLCK 3 /* exclusive or write lock */ 463e12c5d1SDavid du Colombier 473e12c5d1SDavid du Colombier #ifdef __cplusplus 483e12c5d1SDavid du Colombier extern "C" { 493e12c5d1SDavid du Colombier #endif 503e12c5d1SDavid du Colombier 513e12c5d1SDavid du Colombier extern int fcntl(int, int, ...); 523e12c5d1SDavid du Colombier extern int open(const char *, int, ...); 533e12c5d1SDavid du Colombier extern int creat(const char *, mode_t); 543e12c5d1SDavid du Colombier 553e12c5d1SDavid du Colombier #ifdef __cplusplus 563e12c5d1SDavid du Colombier } 573e12c5d1SDavid du Colombier #endif 583e12c5d1SDavid du Colombier 593e12c5d1SDavid du Colombier #endif 60