STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fcntl.h
Go to the documentation of this file.
1 /***
2 *fcntl.h - file control options used by open()
3 *
4 * Copyright (c) Microsoft Corporation. All rights reserved.
5 *
6 *Purpose:
7 * This file defines constants for the file control options used
8 * by the _open() function.
9 * [System V]
10 *
11 * [Public]
12 *
13 ****/
14 
15 #pragma once
16 
17 #include <crtdefs.h>
18 
19 #ifndef _INC_FCNTL
20 #define _INC_FCNTL
21 
22 #define _O_RDONLY 0x0000 /* open for reading only */
23 #define _O_WRONLY 0x0001 /* open for writing only */
24 #define _O_RDWR 0x0002 /* open for reading and writing */
25 #define _O_APPEND 0x0008 /* writes done at eof */
26 
27 #define _O_CREAT 0x0100 /* create and open file */
28 #define _O_TRUNC 0x0200 /* open and truncate */
29 #define _O_EXCL 0x0400 /* open only if file doesn't already exist */
30 
31 /* O_TEXT files have <cr><lf> sequences translated to <lf> on read()'s,
32 ** and <lf> sequences translated to <cr><lf> on write()'s
33 */
34 
35 #define _O_TEXT 0x4000 /* file mode is text (translated) */
36 #define _O_BINARY 0x8000 /* file mode is binary (untranslated) */
37 #define _O_WTEXT 0x10000 /* file mode is UTF16 (translated) */
38 #define _O_U16TEXT 0x20000 /* file mode is UTF16 no BOM (translated) */
39 #define _O_U8TEXT 0x40000 /* file mode is UTF8 no BOM (translated) */
40 
41 /* macro to translate the C 2.0 name used to force binary mode for files */
42 
43 #define _O_RAW _O_BINARY
44 
45 /* Open handle inherit bit */
46 
47 #define _O_NOINHERIT 0x0080 /* child process doesn't inherit file */
48 
49 /* Temporary file bit - file is deleted when last handle is closed */
50 
51 #define _O_TEMPORARY 0x0040 /* temporary file bit */
52 
53 /* temporary access hint */
54 
55 #define _O_SHORT_LIVED 0x1000 /* temporary storage file, try not to flush */
56 
57 /* directory access hint */
58 
59 #define _O_OBTAIN_DIR 0x2000 /* get information about a directory */
60 
61 /* sequential/random access hints */
62 
63 #define _O_SEQUENTIAL 0x0020 /* file access is primarily sequential */
64 #define _O_RANDOM 0x0010 /* file access is primarily random */
65 
66 #if !__STDC__
67 /* Non-ANSI names for compatibility */
68 #define O_RDONLY _O_RDONLY
69 #define O_WRONLY _O_WRONLY
70 #define O_RDWR _O_RDWR
71 #define O_APPEND _O_APPEND
72 #define O_CREAT _O_CREAT
73 #define O_TRUNC _O_TRUNC
74 #define O_EXCL _O_EXCL
75 #define O_TEXT _O_TEXT
76 #define O_BINARY _O_BINARY
77 #define O_RAW _O_BINARY
78 #define O_TEMPORARY _O_TEMPORARY
79 #define O_NOINHERIT _O_NOINHERIT
80 #define O_SEQUENTIAL _O_SEQUENTIAL
81 #define O_RANDOM _O_RANDOM
82 #endif /* !__STDC__ */
83 
84 #endif /* _INC_FCNTL */