/* * fcntl.h — open / creat for Sprinter ESTEX. * * POSIX-style flag bits. The low two bits select access mode (matches * POSIX numbering — RDONLY=0, WRONLY=1, RDWR=2 — and is translated to * the ESTEX OPEN $11 convention inside open()). * * The other flags map onto ESTEX calls like this: * O_CREAT + O_EXCL → $0B (CREATE_NEW, fails if exists) * O_CREAT + O_TRUNC → $0A (CREATE, truncates existing) * O_CREAT alone → try $11 (OPEN); on ENOENT fall back to $0A * no O_CREAT → $11 (OPEN, fails if missing) * O_APPEND → after open, $15 lseek(0, SEEK_END) */ #ifndef FCNTL_H #define FCNTL_H #ifndef _STD_SEEK_ #define _STD_SEEK_ /* constants to be used as 3rd argument for "fseek" function */ #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 #endif /* Definition "open flags" */ #define O_WRONLY 0x01 /* 0 file write only */ #define O_RDONLY 0x02 /* 1 file read only */ #define O_RDWR 0x03 /* 1,0 file read/write */ #define O_TRUNC 0x04 /* 2 open with truncation */ #define O_CREAT 0x08 /* 3 create and open file */ #define O_EXCL 0x10 /* 4 exclusive open */ #define O_APPEND 0x20 /* 5 to end of file */ int open (const char *path, int flags); int creat(const char *path, int mode); /* mode arg ignored on Sprinter */ #endif