123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /*
- * fcntl.h
- *
- * Access constants for _open. Note that the permissions constants are
- * in sys/stat.h (ick).
- *
- * This code is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <[email protected]>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.2 $
- * $Author: bellard $
- * $Date: 2005/04/17 13:14:29 $
- *
- */
- #ifndef __STRICT_ANSI__
- #ifndef _FCNTL_H_
- #define _FCNTL_H_
- /* All the headers include this file. */
- #include <_mingw.h>
- /*
- * It appears that fcntl.h should include io.h for compatibility...
- */
- #include <io.h>
- /* Specifiy one of these flags to define the access mode. */
- #define _O_RDONLY 0
- #define _O_WRONLY 1
- #define _O_RDWR 2
- /* Mask for access mode bits in the _open flags. */
- #define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR)
- #define _O_APPEND 0x0008 /* Writes will add to the end of the file. */
- #define _O_RANDOM 0x0010
- #define _O_SEQUENTIAL 0x0020
- #define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing.
- * WARNING: Even if not created by _open! */
- #define _O_NOINHERIT 0x0080
- #define _O_CREAT 0x0100 /* Create the file if it does not exist. */
- #define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */
- #define _O_EXCL 0x0400 /* Open only if the file does not exist. */
- /* NOTE: Text is the default even if the given _O_TEXT bit is not on. */
- #define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */
- #define _O_BINARY 0x8000 /* Input and output is not translated. */
- #define _O_RAW _O_BINARY
- #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_SEQENTIAL _O_SEQUENTIAL
- #define O_RANDOM _O_RANDOM
- #endif /* Not _NO_OLDNAMES */
- #ifndef RC_INVOKED
- /*
- * This variable determines the default file mode.
- * TODO: Which flags work?
- */
- #ifndef __DECLSPEC_SUPPORTED
- #ifdef __MSVCRT__
- extern unsigned int* __imp__fmode;
- #define _fmode (*__imp__fmode)
- #else
- /* CRTDLL */
- extern unsigned int* __imp__fmode_dll;
- #define _fmode (*__imp__fmode_dll)
- #endif
- #else /* __DECLSPEC_SUPPORTED */
- #ifdef __MSVCRT__
- __MINGW_IMPORT unsigned int _fmode;
- #else /* ! __MSVCRT__ */
- __MINGW_IMPORT unsigned int _fmode_dll;
- #define _fmode _fmode_dll
- #endif /* ! __MSVCRT__ */
- #endif /* __DECLSPEC_SUPPORTED */
- #ifdef __cplusplus
- extern "C" {
- #endif
- int _setmode (int, int);
- #ifndef _NO_OLDNAMES
- int setmode (int, int);
- #endif /* Not _NO_OLDNAMES */
- #ifdef __cplusplus
- }
- #endif
- #endif /* Not RC_INVOKED */
- #endif /* Not _FCNTL_H_ */
- #endif /* Not __STRICT_ANSI__ */
|