ReactOS
0.4.16-dev-319-g6cf4263
unistd.h
Go to the documentation of this file.
1
/* @(#)unistd.h 1.28 17/04/30 Copyright 1996-2017 J. Schilling */
2
/*
3
* Definitions for unix system interface
4
*
5
* Copyright (c) 1996-2017 J. Schilling
6
*/
7
/*
8
* The contents of this file are subject to the terms of the
9
* Common Development and Distribution License, Version 1.0 only
10
* (the "License"). You may not use this file except in compliance
11
* with the License.
12
*
13
* See the file CDDL.Schily.txt in this distribution for details.
14
* A copy of the CDDL is also available via the Internet at
15
* http://www.opensource.org/licenses/cddl1.txt
16
*
17
* When distributing Covered Code, include this CDDL HEADER in each
18
* file and include the License file CDDL.Schily.txt from this distribution.
19
*/
20
21
#ifndef _SCHILY_UNISTD_H
22
#define _SCHILY_UNISTD_H
23
24
#ifndef _SCHILY_MCONFIG_H
25
#include <
schily/mconfig.h
>
26
#endif
27
28
/*
29
* unistd.h grants things like off_t to be typedef'd.
30
*/
31
#ifndef _SCHILY_TYPES_H
32
#include <
schily/types.h
>
33
#endif
34
35
/*
36
* inttypes.h grants things like Intptr_t to be typedef'd.
37
*/
38
#ifndef _SCHILY_INTTYPES_H
39
#include <
schily/inttypes.h
>
40
#endif
41
42
#ifdef HAVE_UNISTD_H
43
44
#ifndef _INCL_UNISTD_H
45
#include <unistd.h>
46
#define _INCL_UNISTD_H
47
#endif
48
49
#ifndef _SC_PAGESIZE
50
#ifdef _SC_PAGE_SIZE
/* HP/UX & OSF */
51
#define _SC_PAGESIZE _SC_PAGE_SIZE
52
#endif
53
#endif
54
55
#else
/* !HAVE_UNISTD_H */
56
#ifndef _SCHILY_STDLIB_H
57
#include <
schily/stdlib.h
>
/* MSVC: no unistd.h environ is in stdlib.h */
58
#endif
59
#endif
/* !HAVE_UNISTD_H */
60
61
/*
62
* MSVC has getcwd()/chdir()/mkdir()/rmdir() in direct.h
63
*/
64
#if defined(_MSC_VER) && defined(HAVE_DIRECT_H)
65
#ifndef _INCL_DIRECT_H
66
#include <
direct.h
>
67
#define _INCL_DIRECT_H
68
#endif
69
#endif
70
71
/*
72
* MSVC has size_t in stddef.h
73
*/
74
#ifdef HAVE_STDDEF_H
75
#ifndef _INCL_STDDEF_H
76
#include <stddef.h>
77
#define _INCL_STDDEF_H
78
#endif
79
#endif
80
81
#ifndef STDIN_FILENO
82
# ifdef JOS
83
# ifndef _SCHILY_JOS_IO_H
84
# include <schily/jos_io.h>
85
# endif
86
# else
87
# define STDIN_FILENO 0
88
# define STDOUT_FILENO 1
89
# define STDERR_FILENO 2
90
# endif
91
#endif
92
93
#ifndef R_OK
94
/* Symbolic constants for the "access" routine: */
95
#define R_OK 4
/* Test for Read permission */
96
#define W_OK 2
/* Test for Write permission */
97
#define X_OK 1
/* Test for eXecute permission */
98
#define F_OK 0
/* Test for existence of File */
99
#endif
100
#ifndef E_OK
101
#ifdef HAVE_ACCESS_E_OK
102
#ifdef EFF_ONLY_OK
103
#define E_OK EFF_ONLY_OK
/* Irix */
104
#else
105
#ifdef EUID_OK
106
#define E_OK EUID_OK
/* UNICOS (0400) */
107
#else
108
#define E_OK 010
/* Test effective uids */
109
#endif
/* EUID_OK */
110
#endif
/* EFF_ONLY_OK */
111
#else
112
#define E_OK 0
113
#endif
/* HAVE_ACCESS_E_OK */
114
#endif
/* !E_OK */
115
116
/* Symbolic constants for the "lseek" routine: */
117
#ifndef SEEK_SET
118
#define SEEK_SET 0
/* Set file pointer to "offset" */
119
#endif
120
#ifndef SEEK_CUR
121
#define SEEK_CUR 1
/* Set file pointer to current plus "offset" */
122
#endif
123
#ifndef SEEK_END
124
#define SEEK_END 2
/* Set file pointer to EOF plus "offset" */
125
#endif
126
127
#ifdef __cplusplus
128
extern
"C"
{
129
#endif
130
131
#ifndef HAVE_ENVIRON_DEF
132
extern
char
**
environ
;
133
#endif
134
135
#if !defined(HAVE_UNISTD_H) || !defined(_POSIX_VERSION)
136
/*
137
* Maybe we need a lot more definitions here...
138
* It is not clear whether we should have prototyped definitions.
139
*/
140
#if !defined(_MSC_VER) && !defined(__MINGW32__)
141
/*
142
* MS C comes with broken prototypes in wrong header files (in our case, the
143
* wrong prototype is in io.h). Avoid to redefine the broken MS stuff with
144
* correct prototypes.
145
*/
146
extern
int
access
__PR
((
const
char
*,
int
));
147
extern
int
close
__PR
((
int
));
148
extern
int
dup
__PR
((
int
));
149
extern
int
dup2
__PR
((
int
,
int
));
150
extern
int
link
__PR
((
const
char
*,
const
char
*));
151
extern
int
read
__PR
((
int
,
void
*,
size_t
));
152
extern
int
unlink
__PR
((
const
char
*));
153
extern
int
write
__PR
((
int
,
const
void
*,
size_t
));
154
#endif
155
#if !defined(_MSC_VER) && !defined(__MINGW32__)
156
/*
157
* MS C comes with broken prototypes in wrong header files (in our case, the
158
* wrong prototype is in stdlib.h). Avoid to redefine the broken MS stuff with
159
* correct prototypes.
160
*/
161
extern
void
_exit
__PR
((
int
));
162
#endif
163
#endif
164
165
#if !defined(HAVE_PIPE) && defined(HAVE__PIPE) && defined(HAVE_IO_H)
166
#ifndef _SCHILY_LIMITS_H
167
#include <
schily/limits.h
>
/* for PIPE_BUF */
168
#endif
169
#ifndef _SCHILY_FCNTL_H
170
#include <
schily/fcntl.h
>
/* for O_BINARY */
171
#endif
172
#ifndef _SCHILY_IO_H
173
#include <
schily/io.h
>
/* for _pipe() */
174
#endif
175
176
#define pipe(pp) _pipe(pp, PIPE_BUF, O_BINARY)
177
#endif
178
179
#ifdef __cplusplus
180
}
181
#endif
182
183
#endif
/* _SCHILY_UNISTD_H */
_exit
void _exit(int exitcode)
Definition:
_exit.c:25
read
#define read
Definition:
acwin.h:96
close
#define close
Definition:
acwin.h:98
write
#define write
Definition:
acwin.h:97
link
const WCHAR * link
Definition:
db.cpp:997
direct.h
access
GLuint GLint GLboolean GLint GLenum access
Definition:
glext.h:7866
unlink
#define unlink
Definition:
syshdrs.h:54
dup
#define dup
Definition:
syshdrs.h:51
mconfig.h
__PR
#define __PR(a)
Definition:
prototyp.h:106
dup2
_Check_return_ _CRTIMP int __cdecl dup2(_In_ int _FileHandleSrc, _In_ int _FileHandleDst)
io.h
types.h
fcntl.h
inttypes.h
limits.h
stdlib.h
environ
char ** environ
sdk
tools
mkisofs
schilytools
include
schily
unistd.h
Generated on Wed Dec 4 2024 06:14:36 for ReactOS by
1.9.6