mastodonpp  0.0.0
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