/** * fcntl.h * * access constants for _open. Note that this file is not complete * and should not be used (yet) */ #ifndef __STRICT_ANSI__ #ifndef _FCNTL_H #define _FCNTL_H /** * File access modes */ #define _O_RDONLY 0 /* read only */ #define _O_WRONLY 1 /* write only */ #define _O_RDWR 2 /* read and write */ /** * Mask for access mode bits in the _open flags */ #define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) #define _O_APPEND 0x0008 /* append output to end of file */ #define _O_RANDOM 0x0010 #define _O_SEQUENTIAL 0x0020 #define _O_TEMPORARY 0x0040 /* make the file dissappear after closing */ #define _O_NOINHERIT 0x0080 #define _O_CREAT 0x0100 /* create file if it doesn't exist */ #define _O_TRUNC 0x0200 /* truncate file to zero bytes if it exists */ #define _O_EXCL 0x0400 /* open only if the file does not exist */ #define _O_SHORT_LIVED 0x1000 #define _O_TEXT 0x4000 /* crlf in file == lf in memory (\r\n == \n) */ #define _O_BINARY 0x8000 /* input and output is not translated */ #define _O_RAW _O_BINARY /* compatability */ /** * XXX * The following special mode(s) are only available to the * kernel. Modules (even kernel-level modules) and other * binaries will never be allowed to use these special modes. * * Modules which are compiled into the kernel may use these * special modes (mainly at boot). */ #define _O_DEV 0x9000 /* XXX: special device links (files) */ #define _O_SWAP 0x9100 /* swap */ #ifndef _NO_OLDNAMES /** * POSIX/Non-ANSI names for increased portability */ #define O_RDONLY _O_RDONLY #define O_WRONLY _O_WRONLY #define O_RDWR _O_RDWR #define O_ACCMODE _O_ACCMODE #define O_APPEND _O_APPEND #define O_CREAT _O_CREAT #define O_TRUNC _O_TRUNC #define O_EXCL _O_EXCL #define O_TEXT _O_TEXT #define O_BINARY _O_BINARY #define O_TEMPORARY _O_TEMPORARY #define O_NOINHERIT _O_NOINHERIT #define O_SEQUENTIAL _O_SEQUENTIAL #define O_RANDOM _O_RANDOM #define O_DEV _O_DEV #define O_SWAP _O_SWAP #endif /* ! _NO_OLDNAMES */ #endif /* ! _FCNTL_H */ #endif /* ! __STRICT_ANSI__ */