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