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