|
1 /* |
|
2 * fcntl.h |
|
3 * This file has no copyright assigned and is placed in the Public Domain. |
|
4 * This file is a part of the mingw-runtime package. |
|
5 * No warranty is given; refer to the file DISCLAIMER within the package. |
|
6 * |
|
7 * Access constants for _open. Note that the permissions constants are |
|
8 * in sys/stat.h (ick). |
|
9 * |
|
10 */ |
|
11 #ifndef _FCNTL_H_ |
|
12 #define _FCNTL_H_ |
|
13 |
|
14 /* All the headers include this file. */ |
|
15 #include <_mingw.h> |
|
16 |
|
17 /* |
|
18 * It appears that fcntl.h should include io.h for compatibility... |
|
19 */ |
|
20 #include <io.h> |
|
21 |
|
22 /* Specifiy one of these flags to define the access mode. */ |
|
23 #define _O_RDONLY 0 |
|
24 #define _O_WRONLY 1 |
|
25 #define _O_RDWR 2 |
|
26 |
|
27 /* Mask for access mode bits in the _open flags. */ |
|
28 #define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) |
|
29 |
|
30 #define _O_APPEND 0x0008 /* Writes will add to the end of the file. */ |
|
31 |
|
32 #define _O_RANDOM 0x0010 |
|
33 #define _O_SEQUENTIAL 0x0020 |
|
34 #define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing. |
|
35 * WARNING: Even if not created by _open! */ |
|
36 #define _O_NOINHERIT 0x0080 |
|
37 |
|
38 #define _O_CREAT 0x0100 /* Create the file if it does not exist. */ |
|
39 #define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */ |
|
40 #define _O_EXCL 0x0400 /* Open only if the file does not exist. */ |
|
41 |
|
42 #define _O_SHORT_LIVED 0x1000 |
|
43 |
|
44 /* NOTE: Text is the default even if the given _O_TEXT bit is not on. */ |
|
45 #define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */ |
|
46 #define _O_BINARY 0x8000 /* Input and output is not translated. */ |
|
47 #define _O_RAW _O_BINARY |
|
48 |
|
49 #if (__MSVCRT_VERSION__ >= 0x0800) |
|
50 #define _O_WTEXT 0x10000 |
|
51 #define _O_U16TEXT 0x20000 |
|
52 #define _O_U8TEXT 0x40000 |
|
53 #endif |
|
54 |
|
55 #ifndef _NO_OLDNAMES |
|
56 |
|
57 /* POSIX/Non-ANSI names for increased portability */ |
|
58 #define O_RDONLY _O_RDONLY |
|
59 #define O_WRONLY _O_WRONLY |
|
60 #define O_RDWR _O_RDWR |
|
61 #define O_ACCMODE _O_ACCMODE |
|
62 #define O_APPEND _O_APPEND |
|
63 #define O_CREAT _O_CREAT |
|
64 #define O_TRUNC _O_TRUNC |
|
65 #define O_EXCL _O_EXCL |
|
66 #define O_TEXT _O_TEXT |
|
67 #define O_BINARY _O_BINARY |
|
68 #define O_TEMPORARY _O_TEMPORARY |
|
69 #define O_NOINHERIT _O_NOINHERIT |
|
70 #define O_SEQUENTIAL _O_SEQUENTIAL |
|
71 #define O_RANDOM _O_RANDOM |
|
72 |
|
73 #endif /* Not _NO_OLDNAMES */ |
|
74 |
|
75 #endif /* Not _FCNTL_H_ */ |