]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/libc++/include/cerrno
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / libc++ / include / cerrno
1 // -*- C++ -*-
2 //===-------------------------- cerrno ------------------------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 #ifndef _LIBCPP_CERRNO
12 #define _LIBCPP_CERRNO
13
14 /*
15     cerrno synopsis
16
17 Macros:
18
19     EDOM
20     EILSEQ  // C99
21     ERANGE
22     errno
23
24 */
25
26 #include <__config>
27 #include <errno.h>
28
29 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
30 #pragma GCC system_header
31 #endif
32
33 #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
34
35 #ifdef ELAST
36
37 const int __elast1 = ELAST+1;
38 const int __elast2 = ELAST+2;
39
40 #else
41
42 const int __elast1 = 104;
43 const int __elast2 = 105;
44
45 #endif
46
47 #ifdef ENOTRECOVERABLE
48
49 #define EOWNERDEAD __elast1
50
51 #ifdef ELAST
52 #undef ELAST
53 #define ELAST EOWNERDEAD
54 #endif
55
56 #elif defined(EOWNERDEAD)
57
58 #define ENOTRECOVERABLE __elast1
59 #ifdef ELAST
60 #undef ELAST
61 #define ELAST ENOTRECOVERABLE
62 #endif
63
64 #else  // defined(EOWNERDEAD)
65
66 #define EOWNERDEAD __elast1
67 #define ENOTRECOVERABLE __elast2
68 #ifdef ELAST
69 #undef ELAST
70 #define ELAST ENOTRECOVERABLE
71 #endif
72
73 #endif  // defined(EOWNERDEAD)
74
75 #endif  // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
76
77 //  supply errno values likely to be missing, particularly on Windows
78
79 #ifndef EAFNOSUPPORT
80 #define EAFNOSUPPORT 9901
81 #endif
82
83 #ifndef EADDRINUSE
84 #define EADDRINUSE 9902
85 #endif
86
87 #ifndef EADDRNOTAVAIL
88 #define EADDRNOTAVAIL 9903
89 #endif
90
91 #ifndef EISCONN
92 #define EISCONN 9904
93 #endif
94
95 #ifndef EBADMSG
96 #define EBADMSG 9905
97 #endif
98
99 #ifndef ECONNABORTED
100 #define ECONNABORTED 9906
101 #endif
102
103 #ifndef EALREADY
104 #define EALREADY 9907
105 #endif
106
107 #ifndef ECONNREFUSED
108 #define ECONNREFUSED 9908
109 #endif
110
111 #ifndef ECONNRESET
112 #define ECONNRESET 9909
113 #endif
114
115 #ifndef EDESTADDRREQ
116 #define EDESTADDRREQ 9910
117 #endif
118
119 #ifndef EHOSTUNREACH
120 #define EHOSTUNREACH 9911
121 #endif
122
123 #ifndef EIDRM
124 #define EIDRM 9912
125 #endif
126
127 #ifndef EMSGSIZE
128 #define EMSGSIZE 9913
129 #endif
130
131 #ifndef ENETDOWN
132 #define ENETDOWN 9914
133 #endif
134
135 #ifndef ENETRESET
136 #define ENETRESET 9915
137 #endif
138
139 #ifndef ENETUNREACH
140 #define ENETUNREACH 9916
141 #endif
142
143 #ifndef ENOBUFS
144 #define ENOBUFS 9917
145 #endif
146
147 #ifndef ENOLINK
148 #define ENOLINK 9918
149 #endif
150
151 #ifndef ENODATA
152 #define ENODATA 9919
153 #endif
154
155 #ifndef ENOMSG
156 #define ENOMSG 9920
157 #endif
158
159 #ifndef ENOPROTOOPT
160 #define ENOPROTOOPT 9921
161 #endif
162
163 #ifndef ENOSR
164 #define ENOSR 9922
165 #endif
166
167 #ifndef ENOTSOCK
168 #define ENOTSOCK 9923
169 #endif
170
171 #ifndef ENOSTR
172 #define ENOSTR 9924
173 #endif
174
175 #ifndef ENOTCONN
176 #define ENOTCONN 9925
177 #endif
178
179 #ifndef ENOTSUP
180 #define ENOTSUP 9926
181 #endif
182
183 #ifndef ECANCELED
184 #define ECANCELED 9927
185 #endif
186
187 #ifndef EINPROGRESS
188 #define EINPROGRESS 9928
189 #endif
190
191 #ifndef EOPNOTSUPP
192 #define EOPNOTSUPP 9929
193 #endif
194
195 #ifndef EWOULDBLOCK
196 #define EWOULDBLOCK 9930
197 #endif
198
199 #ifndef EOWNERDEAD
200 #define EOWNERDEAD  9931
201 #endif
202
203 #ifndef EPROTO
204 #define EPROTO 9932
205 #endif
206
207 #ifndef EPROTONOSUPPORT
208 #define EPROTONOSUPPORT 9933
209 #endif
210
211 #ifndef ENOTRECOVERABLE
212 #define ENOTRECOVERABLE 9934
213 #endif
214
215 #ifndef ETIME
216 #define ETIME 9935
217 #endif
218
219 #ifndef ETXTBSY
220 #define ETXTBSY 9936
221 #endif
222
223 #ifndef ETIMEDOUT
224 #define ETIMEDOUT 9938
225 #endif
226
227 #ifndef ELOOP
228 #define ELOOP 9939
229 #endif
230
231 #ifndef EOVERFLOW
232 #define EOVERFLOW 9940
233 #endif
234
235 #ifndef EPROTOTYPE
236 #define EPROTOTYPE 9941
237 #endif
238
239 #ifndef ENOSYS
240 #define ENOSYS 9942
241 #endif
242
243 #ifndef EINVAL
244 #define EINVAL 9943
245 #endif
246
247 #ifndef ERANGE
248 #define ERANGE 9944
249 #endif
250
251 #ifndef EILSEQ
252 #define EILSEQ 9945
253 #endif
254
255 //  Windows Mobile doesn't appear to define these:
256
257 #ifndef E2BIG
258 #define E2BIG 9946
259 #endif
260
261 #ifndef EDOM
262 #define EDOM 9947
263 #endif
264
265 #ifndef EFAULT
266 #define EFAULT 9948
267 #endif
268
269 #ifndef EBADF
270 #define EBADF 9949
271 #endif
272
273 #ifndef EPIPE
274 #define EPIPE 9950
275 #endif
276
277 #ifndef EXDEV
278 #define EXDEV 9951
279 #endif
280
281 #ifndef EBUSY
282 #define EBUSY 9952
283 #endif
284
285 #ifndef ENOTEMPTY
286 #define ENOTEMPTY 9953
287 #endif
288
289 #ifndef ENOEXEC
290 #define ENOEXEC 9954
291 #endif
292
293 #ifndef EEXIST
294 #define EEXIST 9955
295 #endif
296
297 #ifndef EFBIG
298 #define EFBIG 9956
299 #endif
300
301 #ifndef ENAMETOOLONG
302 #define ENAMETOOLONG 9957
303 #endif
304
305 #ifndef ENOTTY
306 #define ENOTTY 9958
307 #endif
308
309 #ifndef EINTR
310 #define EINTR 9959
311 #endif
312
313 #ifndef ESPIPE
314 #define ESPIPE 9960
315 #endif
316
317 #ifndef EIO
318 #define EIO 9961
319 #endif
320
321 #ifndef EISDIR
322 #define EISDIR 9962
323 #endif
324
325 #ifndef ECHILD
326 #define ECHILD 9963
327 #endif
328
329 #ifndef ENOLCK
330 #define ENOLCK 9964
331 #endif
332
333 #ifndef ENOSPC
334 #define ENOSPC 9965
335 #endif
336
337 #ifndef ENXIO
338 #define ENXIO 9966
339 #endif
340
341 #ifndef ENODEV
342 #define ENODEV 9967
343 #endif
344
345 #ifndef ENOENT
346 #define ENOENT 9968
347 #endif
348
349 #ifndef ESRCH
350 #define ESRCH 9969
351 #endif
352
353 #ifndef ENOTDIR
354 #define ENOTDIR 9970
355 #endif
356
357 #ifndef ENOMEM
358 #define ENOMEM 9971
359 #endif
360
361 #ifndef EPERM
362 #define EPERM 9972
363 #endif
364
365 #ifndef EACCES
366 #define EACCES 9973
367 #endif
368
369 #ifndef EROFS
370 #define EROFS 9974
371 #endif
372
373 #ifndef EDEADLK
374 #define EDEADLK 9975
375 #endif
376
377 #ifndef EAGAIN
378 #define EAGAIN 9976
379 #endif
380
381 #ifndef ENFILE
382 #define ENFILE 9977
383 #endif
384
385 #ifndef EMFILE
386 #define EMFILE 9978
387 #endif
388
389 #ifndef EMLINK
390 #define EMLINK 9979
391 #endif
392
393 #endif  // _LIBCPP_CERRNO