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_ */
|
---|