libphobos: Merge common version blocks using arch_any conditions
[official-gcc.git] / libphobos / libdruntime / core / stdc / errno.d
blobeaf4867a9426e5b366937d97190745e6bbe24960
1 /**
2 * D header file for C99.
4 * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_errno.h.html, _errno.h)
6 * Copyright: Copyright Sean Kelly 2005 - 2009.
7 * License: Distributed under the
8 * $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
9 * (See accompanying file LICENSE)
10 * Authors: Sean Kelly, Alex Rønne Petersen
11 * Source: https://github.com/dlang/druntime/blob/master/src/core/stdc/errno.d
12 * Standards: ISO/IEC 9899:1999 (E)
15 module core.stdc.errno;
17 version (OSX)
18 version = Darwin;
19 else version (iOS)
20 version = Darwin;
21 else version (TVOS)
22 version = Darwin;
23 else version (WatchOS)
24 version = Darwin;
26 version (ARM) version = ARM_Any;
27 version (AArch64) version = ARM_Any;
28 version (MIPS32) version = MIPS_Any;
29 version (MIPS64) version = MIPS_Any;
30 version (PPC) version = PPC_Any;
31 version (PPC64) version = PPC_Any;
32 version (RISCV32) version = RISCV_Any;
33 version (RISCV64) version = RISCV_Any;
34 version (S390) version = IBMZ_Any;
35 version (SPARC) version = SPARC_Any;
36 version (SPARC64) version = SPARC_Any;
37 version (SystemZ) version = IBMZ_Any;
38 version (X86) version = X86_Any;
39 version (X86_64) version = X86_Any;
41 @trusted: // Only manipulates errno.
42 nothrow:
43 @nogc:
45 version (CRuntime_DigitalMars)
47 extern (C)
49 ref int _errno();
50 alias errno = _errno;
53 else version (CRuntime_Microsoft)
55 extern (C)
57 ref int _errno();
58 alias errno = _errno;
61 else version (CRuntime_Glibc)
63 extern (C)
65 ref int __errno_location();
66 alias errno = __errno_location;
69 else version (CRuntime_Musl)
71 extern (C)
73 ref int __errno_location();
74 alias errno = __errno_location;
77 else version (FreeBSD)
79 extern (C)
81 ref int __error();
82 alias errno = __error;
85 else version (DragonFlyBSD)
87 pragma(mangle, "errno") extern int __errno;
88 ref int errno() { return __errno;}
90 else version (CRuntime_Bionic)
92 extern (C)
94 ref int __errno();
95 alias errno = __errno;
98 else version (CRuntime_UClibc)
100 extern (C)
102 ref int __errno_location();
103 alias errno = __errno_location;
106 else version (Darwin)
108 extern (C)
110 ref int __error();
111 alias errno = __error;
114 else version (Solaris)
116 extern (C)
118 ref int ___errno();
119 alias errno = ___errno;
122 else
125 @property int errno() { return getErrno(); }
127 @property int errno(int n) { return setErrno(n); }
129 extern (C)
131 private int getErrno(); // for internal use
132 private int setErrno(int); // for internal use
136 extern (C):
139 version (Windows)
141 enum EPERM = 1; /// Operation not permitted
142 enum ENOENT = 2; /// No such file or directory
143 enum ESRCH = 3; /// No such process
144 enum EINTR = 4; /// Interrupted system call
145 enum EIO = 5; /// I/O error
146 enum ENXIO = 6; /// No such device or address
147 enum E2BIG = 7; /// Argument list too long
148 enum ENOEXEC = 8; /// Exec format error
149 enum EBADF = 9; /// Bad file number
150 enum ECHILD = 10; /// No child processes
151 enum EAGAIN = 11; /// Try again
152 enum ENOMEM = 12; /// Out of memory
153 enum EACCES = 13; /// Permission denied
154 enum EFAULT = 14; /// Bad address
155 enum EBUSY = 16; /// Device or resource busy
156 enum EEXIST = 17; /// File exists
157 enum EXDEV = 18; /// Cross-device link
158 enum ENODEV = 19; /// No such device
159 enum ENOTDIR = 20; /// Not a directory
160 enum EISDIR = 21; /// Is a directory
161 enum EINVAL = 22; /// Invalid argument
162 enum ENFILE = 23; /// File table overflow
163 enum EMFILE = 24; /// Too many open files
164 enum ENOTTY = 25; /// Not a typewriter
165 enum EFBIG = 27; /// File too large
166 enum ENOSPC = 28; /// No space left on device
167 enum ESPIPE = 29; /// Illegal seek
168 enum EROFS = 30; /// Read-only file system
169 enum EMLINK = 31; /// Too many links
170 enum EPIPE = 32; /// Broken pipe
171 enum EDOM = 33; /// Math argument out of domain of func
172 enum ERANGE = 34; /// Math result not representable
173 enum EDEADLK = 36; /// Resource deadlock would occur
174 enum ENAMETOOLONG = 38; /// File name too long
175 enum ENOLCK = 39; /// No record locks available
176 enum ENOSYS = 40; /// Function not implemented
177 enum ENOTEMPTY = 41; /// Directory not empty
178 enum EILSEQ = 42; /// Illegal byte sequence
179 enum EDEADLOCK = EDEADLK; /// Resource deadlock would occur
181 else version (linux)
183 enum EPERM = 1; ///
184 enum ENOENT = 2; ///
185 enum ESRCH = 3; ///
186 enum EINTR = 4; ///
187 enum EIO = 5; ///
188 enum ENXIO = 6; ///
189 enum E2BIG = 7; ///
190 enum ENOEXEC = 8; ///
191 enum EBADF = 9; ///
192 enum ECHILD = 10; ///
193 enum EAGAIN = 11; ///
194 enum ENOMEM = 12; ///
195 enum EACCES = 13; ///
196 enum EFAULT = 14; ///
197 enum ENOTBLK = 15; ///
198 enum EBUSY = 16; ///
199 enum EEXIST = 17; ///
200 enum EXDEV = 18; ///
201 enum ENODEV = 19; ///
202 enum ENOTDIR = 20; ///
203 enum EISDIR = 21; ///
204 enum EINVAL = 22; ///
205 enum ENFILE = 23; ///
206 enum EMFILE = 24; ///
207 enum ENOTTY = 25; ///
208 enum ETXTBSY = 26; ///
209 enum EFBIG = 27; ///
210 enum ENOSPC = 28; ///
211 enum ESPIPE = 29; ///
212 enum EROFS = 30; ///
213 enum EMLINK = 31; ///
214 enum EPIPE = 32; ///
215 enum EDOM = 33; ///
216 enum ERANGE = 34; ///
218 version (X86_Any)
220 enum EDEADLK = 35; ///
221 enum ENAMETOOLONG = 36; ///
222 enum ENOLCK = 37; ///
223 enum ENOSYS = 38; ///
224 enum ENOTEMPTY = 39; ///
225 enum ELOOP = 40; ///
226 enum EWOULDBLOCK = EAGAIN; ///
227 enum ENOMSG = 42; ///
228 enum EIDRM = 43; ///
229 enum ECHRNG = 44; ///
230 enum EL2NSYNC = 45; ///
231 enum EL3HLT = 46; ///
232 enum EL3RST = 47; ///
233 enum ELNRNG = 48; ///
234 enum EUNATCH = 49; ///
235 enum ENOCSI = 50; ///
236 enum EL2HLT = 51; ///
237 enum EBADE = 52; ///
238 enum EBADR = 53; ///
239 enum EXFULL = 54; ///
240 enum ENOANO = 55; ///
241 enum EBADRQC = 56; ///
242 enum EBADSLT = 57; ///
243 enum EDEADLOCK = EDEADLK; ///
244 enum EBFONT = 59; ///
245 enum ENOSTR = 60; ///
246 enum ENODATA = 61; ///
247 enum ETIME = 62; ///
248 enum ENOSR = 63; ///
249 enum ENONET = 64; ///
250 enum ENOPKG = 65; ///
251 enum EREMOTE = 66; ///
252 enum ENOLINK = 67; ///
253 enum EADV = 68; ///
254 enum ESRMNT = 69; ///
255 enum ECOMM = 70; ///
256 enum EPROTO = 71; ///
257 enum EMULTIHOP = 72; ///
258 enum EDOTDOT = 73; ///
259 enum EBADMSG = 74; ///
260 enum EOVERFLOW = 75; ///
261 enum ENOTUNIQ = 76; ///
262 enum EBADFD = 77; ///
263 enum EREMCHG = 78; ///
264 enum ELIBACC = 79; ///
265 enum ELIBBAD = 80; ///
266 enum ELIBSCN = 81; ///
267 enum ELIBMAX = 82; ///
268 enum ELIBEXEC = 83; ///
269 enum EILSEQ = 84; ///
270 enum ERESTART = 85; ///
271 enum ESTRPIPE = 86; ///
272 enum EUSERS = 87; ///
273 enum ENOTSOCK = 88; ///
274 enum EDESTADDRREQ = 89; ///
275 enum EMSGSIZE = 90; ///
276 enum EPROTOTYPE = 91; ///
277 enum ENOPROTOOPT = 92; ///
278 enum EPROTONOSUPPORT = 93; ///
279 enum ESOCKTNOSUPPORT = 94; ///
280 enum EOPNOTSUPP = 95; ///
281 enum ENOTSUP = EOPNOTSUPP; ///
282 enum EPFNOSUPPORT = 96; ///
283 enum EAFNOSUPPORT = 97; ///
284 enum EADDRINUSE = 98; ///
285 enum EADDRNOTAVAIL = 99; ///
286 enum ENETDOWN = 100; ///
287 enum ENETUNREACH = 101; ///
288 enum ENETRESET = 102; ///
289 enum ECONNABORTED = 103; ///
290 enum ECONNRESET = 104; ///
291 enum ENOBUFS = 105; ///
292 enum EISCONN = 106; ///
293 enum ENOTCONN = 107; ///
294 enum ESHUTDOWN = 108; ///
295 enum ETOOMANYREFS = 109; ///
296 enum ETIMEDOUT = 110; ///
297 enum ECONNREFUSED = 111; ///
298 enum EHOSTDOWN = 112; ///
299 enum EHOSTUNREACH = 113; ///
300 enum EALREADY = 114; ///
301 enum EINPROGRESS = 115; ///
302 enum ESTALE = 116; ///
303 enum EUCLEAN = 117; ///
304 enum ENOTNAM = 118; ///
305 enum ENAVAIL = 119; ///
306 enum EISNAM = 120; ///
307 enum EREMOTEIO = 121; ///
308 enum EDQUOT = 122; ///
309 enum ENOMEDIUM = 123; ///
310 enum EMEDIUMTYPE = 124; ///
311 enum ECANCELED = 125; ///
312 enum ENOKEY = 126; ///
313 enum EKEYEXPIRED = 127; ///
314 enum EKEYREVOKED = 128; ///
315 enum EKEYREJECTED = 129; ///
316 enum EOWNERDEAD = 130; ///
317 enum ENOTRECOVERABLE = 131; ///
318 enum ERFKILL = 132; ///
319 enum EHWPOISON = 133; ///
321 else version (ARM_Any)
323 enum EDEADLK = 35; ///
324 enum ENAMETOOLONG = 36; ///
325 enum ENOLCK = 37; ///
326 enum ENOSYS = 38; ///
327 enum ENOTEMPTY = 39; ///
328 enum ELOOP = 40; ///
329 enum EWOULDBLOCK = EAGAIN; ///
330 enum ENOMSG = 42; ///
331 enum EIDRM = 43; ///
332 enum ECHRNG = 44; ///
333 enum EL2NSYNC = 45; ///
334 enum EL3HLT = 46; ///
335 enum EL3RST = 47; ///
336 enum ELNRNG = 48; ///
337 enum EUNATCH = 49; ///
338 enum ENOCSI = 50; ///
339 enum EL2HLT = 51; ///
340 enum EBADE = 52; ///
341 enum EBADR = 53; ///
342 enum EXFULL = 54; ///
343 enum ENOANO = 55; ///
344 enum EBADRQC = 56; ///
345 enum EBADSLT = 57; ///
346 enum EDEADLOCK = EDEADLK; ///
347 enum EBFONT = 59; ///
348 enum ENOSTR = 60; ///
349 enum ENODATA = 61; ///
350 enum ETIME = 62; ///
351 enum ENOSR = 63; ///
352 enum ENONET = 64; ///
353 enum ENOPKG = 65; ///
354 enum EREMOTE = 66; ///
355 enum ENOLINK = 67; ///
356 enum EADV = 68; ///
357 enum ESRMNT = 69; ///
358 enum ECOMM = 70; ///
359 enum EPROTO = 71; ///
360 enum EMULTIHOP = 72; ///
361 enum EDOTDOT = 73; ///
362 enum EBADMSG = 74; ///
363 enum EOVERFLOW = 75; ///
364 enum ENOTUNIQ = 76; ///
365 enum EBADFD = 77; ///
366 enum EREMCHG = 78; ///
367 enum ELIBACC = 79; ///
368 enum ELIBBAD = 80; ///
369 enum ELIBSCN = 81; ///
370 enum ELIBMAX = 82; ///
371 enum ELIBEXEC = 83; ///
372 enum EILSEQ = 84; ///
373 enum ERESTART = 85; ///
374 enum ESTRPIPE = 86; ///
375 enum EUSERS = 87; ///
376 enum ENOTSOCK = 88; ///
377 enum EDESTADDRREQ = 89; ///
378 enum EMSGSIZE = 90; ///
379 enum EPROTOTYPE = 91; ///
380 enum ENOPROTOOPT = 92; ///
381 enum EPROTONOSUPPORT = 93; ///
382 enum ESOCKTNOSUPPORT = 94; ///
383 enum EOPNOTSUPP = 95; ///
384 enum ENOTSUP = EOPNOTSUPP; ///
385 enum EPFNOSUPPORT = 96; ///
386 enum EAFNOSUPPORT = 97; ///
387 enum EADDRINUSE = 98; ///
388 enum EADDRNOTAVAIL = 99; ///
389 enum ENETDOWN = 100; ///
390 enum ENETUNREACH = 101; ///
391 enum ENETRESET = 102; ///
392 enum ECONNABORTED = 103; ///
393 enum ECONNRESET = 104; ///
394 enum ENOBUFS = 105; ///
395 enum EISCONN = 106; ///
396 enum ENOTCONN = 107; ///
397 enum ESHUTDOWN = 108; ///
398 enum ETOOMANYREFS = 109; ///
399 enum ETIMEDOUT = 110; ///
400 enum ECONNREFUSED = 111; ///
401 enum EHOSTDOWN = 112; ///
402 enum EHOSTUNREACH = 113; ///
403 enum EALREADY = 114; ///
404 enum EINPROGRESS = 115; ///
405 enum ESTALE = 116; ///
406 enum EUCLEAN = 117; ///
407 enum ENOTNAM = 118; ///
408 enum ENAVAIL = 119; ///
409 enum EISNAM = 120; ///
410 enum EREMOTEIO = 121; ///
411 enum EDQUOT = 122; ///
412 enum ENOMEDIUM = 123; ///
413 enum EMEDIUMTYPE = 124; ///
414 enum ECANCELED = 125; ///
415 enum ENOKEY = 126; ///
416 enum EKEYEXPIRED = 127; ///
417 enum EKEYREVOKED = 128; ///
418 enum EKEYREJECTED = 129; ///
419 enum EOWNERDEAD = 130; ///
420 enum ENOTRECOVERABLE = 131; ///
421 enum ERFKILL = 132; ///
422 enum EHWPOISON = 133; ///
424 else version (MIPS_Any)
426 enum ENOMSG = 35; ///
427 enum EIDRM = 36; ///
428 enum ECHRNG = 37; ///
429 enum EL2NSYNC = 38; ///
430 enum EL3HLT = 39; ///
431 enum EL3RST = 40; ///
432 enum ELNRNG = 41; ///
433 enum EUNATCH = 42; ///
434 enum ENOCSI = 43; ///
435 enum EL2HLT = 44; ///
436 enum EDEADLK = 45; ///
437 enum ENOLCK = 46; ///
438 enum EBADE = 50; ///
439 enum EBADR = 51; ///
440 enum EXFULL = 52; ///
441 enum ENOANO = 53; ///
442 enum EBADRQC = 54; ///
443 enum EBADSLT = 55; ///
444 enum EDEADLOCK = 56; ///
445 enum EBFONT = 59; ///
446 enum ENOSTR = 60; ///
447 enum ENODATA = 61; ///
448 enum ETIME = 62; ///
449 enum ENOSR = 63; ///
450 enum ENONET = 64; ///
451 enum ENOPKG = 65; ///
452 enum EREMOTE = 66; ///
453 enum ENOLINK = 67; ///
454 enum EADV = 68; ///
455 enum ESRMNT = 69; ///
456 enum ECOMM = 70; ///
457 enum EPROTO = 71; ///
458 enum EDOTDOT = 73; ///
459 enum EMULTIHOP = 74; ///
460 enum EBADMSG = 77; ///
461 enum ENAMETOOLONG = 78; ///
462 enum EOVERFLOW = 79; ///
463 enum ENOTUNIQ = 80; ///
464 enum EBADFD = 81; ///
465 enum EREMCHG = 82; ///
466 enum ELIBACC = 83; ///
467 enum ELIBBAD = 84; ///
468 enum ELIBSCN = 85; ///
469 enum ELIBMAX = 86; ///
470 enum ELIBEXEC = 87; ///
471 enum EILSEQ = 88; ///
472 enum ENOSYS = 89; ///
473 enum ELOOP = 90; ///
474 enum ERESTART = 91; ///
475 enum ESTRPIPE = 92; ///
476 enum ENOTEMPTY = 93; ///
477 enum EUSERS = 94; ///
478 enum ENOTSOCK = 95; ///
479 enum EDESTADDRREQ = 96; ///
480 enum EMSGSIZE = 97; ///
481 enum EPROTOTYPE = 98; ///
482 enum ENOPROTOOPT = 99; ///
483 enum EPROTONOSUPPORT = 120; ///
484 enum ESOCKTNOSUPPORT = 121; ///
485 enum EOPNOTSUPP = 122; ///
486 enum ENOTSUP = EOPNOTSUPP; ///
487 enum EPFNOSUPPORT = 123; ///
488 enum EAFNOSUPPORT = 124; ///
489 enum EADDRINUSE = 125; ///
490 enum EADDRNOTAVAIL = 126; ///
491 enum ENETDOWN = 127; ///
492 enum ENETUNREACH = 128; ///
493 enum ENETRESET = 129; ///
494 enum ECONNABORTED = 130; ///
495 enum ECONNRESET = 131; ///
496 enum ENOBUFS = 132; ///
497 enum EISCONN = 133; ///
498 enum ENOTCONN = 134; ///
499 enum EUCLEAN = 135; ///
500 enum ENOTNAM = 137; ///
501 enum ENAVAIL = 138; ///
502 enum EISNAM = 139; ///
503 enum EREMOTEIO = 140; ///
504 enum EINIT = 141; ///
505 enum EREMDEV = 142; ///
506 enum ESHUTDOWN = 143; ///
507 enum ETOOMANYREFS = 144; ///
508 enum ETIMEDOUT = 145; ///
509 enum ECONNREFUSED = 146; ///
510 enum EHOSTDOWN = 147; ///
511 enum EHOSTUNREACH = 148; ///
512 enum EWOULDBLOCK = EAGAIN; ///
513 enum EALREADY = 149; ///
514 enum EINPROGRESS = 150; ///
515 enum ESTALE = 151; ///
516 enum ECANCELED = 158; ///
517 enum ENOMEDIUM = 159; ///
518 enum EMEDIUMTYPE = 160; ///
519 enum ENOKEY = 161; ///
520 enum EKEYEXPIRED = 162; ///
521 enum EKEYREVOKED = 163; ///
522 enum EKEYREJECTED = 164; ///
523 enum EOWNERDEAD = 165; ///
524 enum ENOTRECOVERABLE = 166; ///
525 enum ERFKILL = 167; ///
526 enum EHWPOISON = 168; ///
527 enum EDQUOT = 1133; ///
529 else version (PPC_Any)
531 enum EDEADLK = 35; ///
532 enum ENAMETOOLONG = 36; ///
533 enum ENOLCK = 37; ///
534 enum ENOSYS = 38; ///
535 enum ENOTEMPTY = 39; ///
536 enum ELOOP = 40; ///
537 enum EWOULDBLOCK = EAGAIN; ///
538 enum ENOMSG = 42; ///
539 enum EIDRM = 43; ///
540 enum ECHRNG = 44; ///
541 enum EL2NSYNC = 45; ///
542 enum EL3HLT = 46; ///
543 enum EL3RST = 47; ///
544 enum ELNRNG = 48; ///
545 enum EUNATCH = 49; ///
546 enum ENOCSI = 50; ///
547 enum EL2HLT = 51; ///
548 enum EBADE = 52; ///
549 enum EBADR = 53; ///
550 enum EXFULL = 54; ///
551 enum ENOANO = 55; ///
552 enum EBADRQC = 56; ///
553 enum EBADSLT = 57; ///
554 enum EDEADLOCK = 58; ///
555 enum EBFONT = 59; ///
556 enum ENOSTR = 60; ///
557 enum ENODATA = 61; ///
558 enum ETIME = 62; ///
559 enum ENOSR = 63; ///
560 enum ENONET = 64; ///
561 enum ENOPKG = 65; ///
562 enum EREMOTE = 66; ///
563 enum ENOLINK = 67; ///
564 enum EADV = 68; ///
565 enum ESRMNT = 69; ///
566 enum ECOMM = 70; ///
567 enum EPROTO = 71; ///
568 enum EMULTIHOP = 72; ///
569 enum EDOTDOT = 73; ///
570 enum EBADMSG = 74; ///
571 enum EOVERFLOW = 75; ///
572 enum ENOTUNIQ = 76; ///
573 enum EBADFD = 77; ///
574 enum EREMCHG = 78; ///
575 enum ELIBACC = 79; ///
576 enum ELIBBAD = 80; ///
577 enum ELIBSCN = 81; ///
578 enum ELIBMAX = 82; ///
579 enum ELIBEXEC = 83; ///
580 enum EILSEQ = 84; ///
581 enum ERESTART = 85; ///
582 enum ESTRPIPE = 86; ///
583 enum EUSERS = 87; ///
584 enum ENOTSOCK = 88; ///
585 enum EDESTADDRREQ = 89; ///
586 enum EMSGSIZE = 90; ///
587 enum EPROTOTYPE = 91; ///
588 enum ENOPROTOOPT = 92; ///
589 enum EPROTONOSUPPORT = 93; ///
590 enum ESOCKTNOSUPPORT = 94; ///
591 enum EOPNOTSUPP = 95; ///
592 enum ENOTSUP = EOPNOTSUPP; ///
593 enum EPFNOSUPPORT = 96; ///
594 enum EAFNOSUPPORT = 97; ///
595 enum EADDRINUSE = 98; ///
596 enum EADDRNOTAVAIL = 99; ///
597 enum ENETDOWN = 100; ///
598 enum ENETUNREACH = 101; ///
599 enum ENETRESET = 102; ///
600 enum ECONNABORTED = 103; ///
601 enum ECONNRESET = 104; ///
602 enum ENOBUFS = 105; ///
603 enum EISCONN = 106; ///
604 enum ENOTCONN = 107; ///
605 enum ESHUTDOWN = 108; ///
606 enum ETOOMANYREFS = 109; ///
607 enum ETIMEDOUT = 110; ///
608 enum ECONNREFUSED = 111; ///
609 enum EHOSTDOWN = 112; ///
610 enum EHOSTUNREACH = 113; ///
611 enum EALREADY = 114; ///
612 enum EINPROGRESS = 115; ///
613 enum ESTALE = 116; ///
614 enum EUCLEAN = 117; ///
615 enum ENOTNAM = 118; ///
616 enum ENAVAIL = 119; ///
617 enum EISNAM = 120; ///
618 enum EREMOTEIO = 121; ///
619 enum EDQUOT = 122; ///
620 enum ENOMEDIUM = 123; ///
621 enum EMEDIUMTYPE = 124; ///
622 enum ECANCELED = 125; ///
623 enum ENOKEY = 126; ///
624 enum EKEYEXPIRED = 127; ///
625 enum EKEYREVOKED = 128; ///
626 enum EKEYREJECTED = 129; ///
627 enum EOWNERDEAD = 130; ///
628 enum ENOTRECOVERABLE = 131; ///
629 enum ERFKILL = 132; ///
630 enum EHWPOISON = 133; ///
632 else version (RISCV_Any)
634 enum EDEADLK = 35; ///
635 enum ENAMETOOLONG = 36; ///
636 enum ENOLCK = 37; ///
637 enum ENOSYS = 38; ///
638 enum ENOTEMPTY = 39; ///
639 enum ELOOP = 40; ///
640 enum EWOULDBLOCK = EAGAIN; ///
641 enum ENOMSG = 42; ///
642 enum EIDRM = 43; ///
643 enum ECHRNG = 44; ///
644 enum EL2NSYNC = 45; ///
645 enum EL3HLT = 46; ///
646 enum EL3RST = 47; ///
647 enum ELNRNG = 48; ///
648 enum EUNATCH = 49; ///
649 enum ENOCSI = 50; ///
650 enum EL2HLT = 51; ///
651 enum EBADE = 52; ///
652 enum EBADR = 53; ///
653 enum EXFULL = 54; ///
654 enum ENOANO = 55; ///
655 enum EBADRQC = 56; ///
656 enum EBADSLT = 57; ///
657 enum EDEADLOCK = EDEADLK; ///
658 enum EBFONT = 59; ///
659 enum ENOSTR = 60; ///
660 enum ENODATA = 61; ///
661 enum ETIME = 62; ///
662 enum ENOSR = 63; ///
663 enum ENONET = 64; ///
664 enum ENOPKG = 65; ///
665 enum EREMOTE = 66; ///
666 enum ENOLINK = 67; ///
667 enum EADV = 68; ///
668 enum ESRMNT = 69; ///
669 enum ECOMM = 70; ///
670 enum EPROTO = 71; ///
671 enum EMULTIHOP = 72; ///
672 enum EDOTDOT = 73; ///
673 enum EBADMSG = 74; ///
674 enum EOVERFLOW = 75; ///
675 enum ENOTUNIQ = 76; ///
676 enum EBADFD = 77; ///
677 enum EREMCHG = 78; ///
678 enum ELIBACC = 79; ///
679 enum ELIBBAD = 80; ///
680 enum ELIBSCN = 81; ///
681 enum ELIBMAX = 82; ///
682 enum ELIBEXEC = 83; ///
683 enum EILSEQ = 84; ///
684 enum ERESTART = 85; ///
685 enum ESTRPIPE = 86; ///
686 enum EUSERS = 87; ///
687 enum ENOTSOCK = 88; ///
688 enum EDESTADDRREQ = 89; ///
689 enum EMSGSIZE = 90; ///
690 enum EPROTOTYPE = 91; ///
691 enum ENOPROTOOPT = 92; ///
692 enum EPROTONOSUPPORT = 93; ///
693 enum ESOCKTNOSUPPORT = 94; ///
694 enum EOPNOTSUPP = 95; ///
695 enum EPFNOSUPPORT = 96; ///
696 enum EAFNOSUPPORT = 97; ///
697 enum EADDRINUSE = 98; ///
698 enum EADDRNOTAVAIL = 99; ///
699 enum ENETDOWN = 100; ///
700 enum ENETUNREACH = 101; ///
701 enum ENETRESET = 102; ///
702 enum ECONNABORTED = 103; ///
703 enum ECONNRESET = 104; ///
704 enum ENOBUFS = 105; ///
705 enum EISCONN = 106; ///
706 enum ENOTCONN = 107; ///
707 enum ESHUTDOWN = 108; ///
708 enum ETOOMANYREFS = 109; ///
709 enum ETIMEDOUT = 110; ///
710 enum ECONNREFUSED = 111; ///
711 enum EHOSTDOWN = 112; ///
712 enum EHOSTUNREACH = 113; ///
713 enum EALREADY = 114; ///
714 enum EINPROGRESS = 115; ///
715 enum ESTALE = 116; ///
716 enum EUCLEAN = 117; ///
717 enum ENOTNAM = 118; ///
718 enum ENAVAIL = 119; ///
719 enum EISNAM = 120; ///
720 enum EREMOTEIO = 121; ///
721 enum EDQUOT = 122; ///
722 enum ENOMEDIUM = 123; ///
723 enum EMEDIUMTYPE = 124; ///
724 enum ECANCELED = 125; ///
725 enum ENOKEY = 126; ///
726 enum EKEYEXPIRED = 127; ///
727 enum EKEYREVOKED = 128; ///
728 enum EKEYREJECTED = 129; ///
729 enum EOWNERDEAD = 130; ///
730 enum ENOTRECOVERABLE = 131; ///
731 enum ERFKILL = 132; ///
732 enum EHWPOISON = 133; ///
734 else version (SPARC_Any)
736 enum EWOULDBLOCK = EAGAIN; ///
737 enum EINPROGRESS = 36; ///
738 enum EALREADY = 37; ///
739 enum ENOTSOCK = 38; ///
740 enum EDESTADDRREQ = 39; ///
741 enum EMSGSIZE = 40; ///
742 enum EPROTOTYPE = 41; ///
743 enum ENOPROTOOPT = 42; ///
744 enum EPROTONOSUPPORT = 43; ///
745 enum ESOCKTNOSUPPORT = 44; ///
746 enum EOPNOTSUPP = 45; ///
747 enum ENOTSUP = EOPNOTSUPP; ///
748 enum EPFNOSUPPORT = 46; ///
749 enum EAFNOSUPPORT = 47; ///
750 enum EADDRINUSE = 48; ///
751 enum EADDRNOTAVAIL = 49; ///
752 enum ENETDOWN = 50; ///
753 enum ENETUNREACH = 51; ///
754 enum ENETRESET = 52; ///
755 enum ECONNABORTED = 53; ///
756 enum ECONNRESET = 54; ///
757 enum ENOBUFS = 55; ///
758 enum EISCONN = 56; ///
759 enum ENOTCONN = 57; ///
760 enum ESHUTDOWN = 58; ///
761 enum ETOOMANYREFS = 59; ///
762 enum ETIMEDOUT = 60; ///
763 enum ECONNREFUSED = 61; ///
764 enum ELOOP = 62; ///
765 enum ENAMETOOLONG = 63; ///
766 enum EHOSTDOWN = 64; ///
767 enum EHOSTUNREACH = 65; ///
768 enum ENOTEMPTY = 66; ///
769 enum EPROCLIM = 67; ///
770 enum EUSERS = 68; ///
771 enum EDQUOT = 69; ///
772 enum ESTALE = 70; ///
773 enum EREMOTE = 71; ///
774 enum ENOSTR = 72; ///
775 enum ETIME = 73; ///
776 enum ENOSR = 74; ///
777 enum ENOMSG = 75; ///
778 enum EBADMSG = 76; ///
779 enum EIDRM = 77; ///
780 enum EDEADLK = 78; ///
781 enum ENOLCK = 79; ///
782 enum ENONET = 80; ///
783 enum ERREMOTE = 81; ///
784 enum ENOLINK = 82; ///
785 enum EADV = 83; ///
786 enum ESRMNT = 84; ///
787 enum ECOMM = 85; ///
788 enum EPROTO = 86; ///
789 enum EMULTIHOP = 87; ///
790 enum EDOTDOT = 88; ///
791 enum EREMCHG = 89; ///
792 enum ENOSYS = 90; ///
793 enum ESTRPIPE = 91; ///
794 enum EOVERFLOW = 92; ///
795 enum EBADFD = 93; ///
796 enum ECHRNG = 94; ///
797 enum EL2NSYNC = 95; ///
798 enum EL3HLT = 96; ///
799 enum EL3RST = 97; ///
800 enum ELNRNG = 98; ///
801 enum EUNATCH = 99; ///
802 enum ENOCSI = 100; ///
803 enum EL2HLT = 101; ///
804 enum EBADE = 102; ///
805 enum EBADR = 103; ///
806 enum EXFULL = 104; ///
807 enum ENOANO = 105; ///
808 enum EBADRQC = 106; ///
809 enum EBADSLT = 107; ///
810 enum EDEADLOCK = 108; ///
811 enum EBFONT = 109; ///
812 enum ELIBEXEC = 110; ///
813 enum ENODATA = 111; ///
814 enum ELIBBAD = 112; ///
815 enum ENOPKG = 113; ///
816 enum ELIBACC = 114; ///
817 enum ENOTUNIQ = 115; ///
818 enum ERESTART = 116; ///
819 enum EUCLEAN = 117; ///
820 enum ENOTNAM = 118; ///
821 enum ENAVAIL = 119; ///
822 enum EISNAM = 120; ///
823 enum EREMOTEIO = 121; ///
824 enum EILSEQ = 122; ///
825 enum ELIBMAX = 123; ///
826 enum ELIBSCN = 124; ///
827 enum ENOMEDIUM = 125; ///
828 enum EMEDIUMTYPE = 126; ///
829 enum ECANCELED = 127; ///
830 enum ENOKEY = 128; ///
831 enum EKEYEXPIRED = 129; ///
832 enum EKEYREVOKED = 130; ///
833 enum EKEYREJECTED = 131; ///
834 enum EOWNERDEAD = 132; ///
835 enum ENOTRECOVERABLE = 133; ///
836 enum ERFKILL = 134; ///
837 enum EHWPOISON = 135; ///
839 else version (IBMZ_Any)
841 enum EDEADLK = 35; ///
842 enum ENAMETOOLONG = 36; ///
843 enum ENOLCK = 37; ///
844 enum ENOSYS = 38; ///
845 enum ENOTEMPTY = 39; ///
846 enum ELOOP = 40; ///
847 enum EWOULDBLOCK = EAGAIN; ///
848 enum ENOMSG = 42; ///
849 enum EIDRM = 43; ///
850 enum ECHRNG = 44; ///
851 enum EL2NSYNC = 45; ///
852 enum EL3HLT = 46; ///
853 enum EL3RST = 47; ///
854 enum ELNRNG = 48; ///
855 enum EUNATCH = 49; ///
856 enum ENOCSI = 50; ///
857 enum EL2HLT = 51; ///
858 enum EBADE = 52; ///
859 enum EBADR = 53; ///
860 enum EXFULL = 54; ///
861 enum ENOANO = 55; ///
862 enum EBADRQC = 56; ///
863 enum EBADSLT = 57; ///
864 enum EDEADLOCK = EDEADLK; ///
865 enum EBFONT = 59; ///
866 enum ENOSTR = 60; ///
867 enum ENODATA = 61; ///
868 enum ETIME = 62; ///
869 enum ENOSR = 63; ///
870 enum ENONET = 64; ///
871 enum ENOPKG = 65; ///
872 enum EREMOTE = 66; ///
873 enum ENOLINK = 67; ///
874 enum EADV = 68; ///
875 enum ESRMNT = 69; ///
876 enum ECOMM = 70; ///
877 enum EPROTO = 71; ///
878 enum EMULTIHOP = 72; ///
879 enum EDOTDOT = 73; ///
880 enum EBADMSG = 74; ///
881 enum EOVERFLOW = 75; ///
882 enum ENOTUNIQ = 76; ///
883 enum EBADFD = 77; ///
884 enum EREMCHG = 78; ///
885 enum ELIBACC = 79; ///
886 enum ELIBBAD = 80; ///
887 enum ELIBSCN = 81; ///
888 enum ELIBMAX = 82; ///
889 enum ELIBEXEC = 83; ///
890 enum EILSEQ = 84; ///
891 enum ERESTART = 85; ///
892 enum ESTRPIPE = 86; ///
893 enum EUSERS = 87; ///
894 enum ENOTSOCK = 88; ///
895 enum EDESTADDRREQ = 89; ///
896 enum EMSGSIZE = 90; ///
897 enum EPROTOTYPE = 91; ///
898 enum ENOPROTOOPT = 92; ///
899 enum EPROTONOSUPPORT = 93; ///
900 enum ESOCKTNOSUPPORT = 94; ///
901 enum EOPNOTSUPP = 95; ///
902 enum ENOTSUP = EOPNOTSUPP; ///
903 enum EPFNOSUPPORT = 96; ///
904 enum EAFNOSUPPORT = 97; ///
905 enum EADDRINUSE = 98; ///
906 enum EADDRNOTAVAIL = 99; ///
907 enum ENETDOWN = 100; ///
908 enum ENETUNREACH = 101; ///
909 enum ENETRESET = 102; ///
910 enum ECONNABORTED = 103; ///
911 enum ECONNRESET = 104; ///
912 enum ENOBUFS = 105; ///
913 enum EISCONN = 106; ///
914 enum ENOTCONN = 107; ///
915 enum ESHUTDOWN = 108; ///
916 enum ETOOMANYREFS = 109; ///
917 enum ETIMEDOUT = 110; ///
918 enum ECONNREFUSED = 111; ///
919 enum EHOSTDOWN = 112; ///
920 enum EHOSTUNREACH = 113; ///
921 enum EALREADY = 114; ///
922 enum EINPROGRESS = 115; ///
923 enum ESTALE = 116; ///
924 enum EUCLEAN = 117; ///
925 enum ENOTNAM = 118; ///
926 enum ENAVAIL = 119; ///
927 enum EISNAM = 120; ///
928 enum EREMOTEIO = 121; ///
929 enum EDQUOT = 122; ///
930 enum ENOMEDIUM = 123; ///
931 enum EMEDIUMTYPE = 124; ///
932 enum ECANCELED = 125; ///
933 enum ENOKEY = 126; ///
934 enum EKEYEXPIRED = 127; ///
935 enum EKEYREVOKED = 128; ///
936 enum EKEYREJECTED = 129; ///
937 enum EOWNERDEAD = 130; ///
938 enum ENOTRECOVERABLE = 131; ///
939 enum ERFKILL = 132; ///
940 enum EHWPOISON = 133; ///
942 else
944 static assert(false, "Architecture not supported.");
947 else version (Darwin)
949 enum EPERM = 1; /// Operation not permitted
950 enum ENOENT = 2; /// No such file or directory
951 enum ESRCH = 3; /// No such process
952 enum EINTR = 4; /// Interrupted system call
953 enum EIO = 5; /// Input/output error
954 enum ENXIO = 6; /// Device not configured
955 enum E2BIG = 7; /// Argument list too long
956 enum ENOEXEC = 8; /// Exec format error
957 enum EBADF = 9; /// Bad file descriptor
958 enum ECHILD = 10; /// No child processes
959 enum EDEADLK = 11; /// Resource deadlock avoided
960 enum ENOMEM = 12; /// Cannot allocate memory
961 enum EACCES = 13; /// Permission denied
962 enum EFAULT = 14; /// Bad address
963 enum EBUSY = 16; /// Device busy
964 enum EEXIST = 17; /// File exists
965 enum EXDEV = 18; /// Cross-device link
966 enum ENODEV = 19; /// Operation not supported by device
967 enum ENOTDIR = 20; /// Not a directory
968 enum EISDIR = 21; /// Is a directory
969 enum EINVAL = 22; /// Invalid argument
970 enum ENFILE = 23; /// Too many open files in system
971 enum EMFILE = 24; /// Too many open files
972 enum ENOTTY = 25; /// Inappropriate ioctl for device
973 enum ETXTBSY = 26; /// Text file busy
974 enum EFBIG = 27; /// File too large
975 enum ENOSPC = 28; /// No space left on device
976 enum ESPIPE = 29; /// Illegal seek
977 enum EROFS = 30; /// Read-only file system
978 enum EMLINK = 31; /// Too many links
979 enum EPIPE = 32; /// Broken pipe
980 enum EDOM = 33; /// Numerical argument out of domain
981 enum ERANGE = 34; /// Result too large
982 enum EAGAIN = 35; /// Resource temporarily unavailable
983 enum EWOULDBLOCK = EAGAIN; /// Operation would block
984 enum EINPROGRESS = 36; /// Operation now in progress
985 enum EALREADY = 37; /// Operation already in progress
986 enum ENOTSOCK = 38; /// Socket operation on non-socket
987 enum EDESTADDRREQ = 39; /// Destination address required
988 enum EMSGSIZE = 40; /// Message too long
989 enum EPROTOTYPE = 41; /// Protocol wrong type for socket
990 enum ENOPROTOOPT = 42; /// Protocol not available
991 enum EPROTONOSUPPORT = 43; /// Protocol not supported
992 enum ENOTSUP = 45; /// Operation not supported
993 enum EOPNOTSUPP = ENOTSUP; /// Operation not supported on socket
994 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family
995 enum EADDRINUSE = 48; /// Address already in use
996 enum EADDRNOTAVAIL = 49; /// Can't assign requested address
997 enum ENETDOWN = 50; /// Network is down
998 enum ENETUNREACH = 51; /// Network is unreachable
999 enum ENETRESET = 52; /// Network dropped connection on reset
1000 enum ECONNABORTED = 53; /// Software caused connection abort
1001 enum ECONNRESET = 54; /// Connection reset by peer
1002 enum ENOBUFS = 55; /// No buffer space available
1003 enum EISCONN = 56; /// Socket is already connected
1004 enum ENOTCONN = 57; /// Socket is not connected
1005 enum ETIMEDOUT = 60; /// Operation timed out
1006 enum ECONNREFUSED = 61; /// Connection refused
1007 enum ELOOP = 62; /// Too many levels of symbolic links
1008 enum ENAMETOOLONG = 63; /// File name too long
1009 enum EHOSTUNREACH = 65; /// No route to host
1010 enum ENOTEMPTY = 66; /// Directory not empty
1011 enum EDQUOT = 69; /// Disc quota exceeded
1012 enum ESTALE = 70; /// Stale NFS file handle
1013 enum ENOLCK = 77; /// No locks available
1014 enum ENOSYS = 78; /// Function not implemented
1015 enum EOVERFLOW = 84; /// Value too large to be stored in data type
1016 enum ECANCELED = 89; /// Operation canceled
1017 enum EIDRM = 90; /// Identifier removed
1018 enum ENOMSG = 91; /// No message of desired type
1019 enum EILSEQ = 92; /// Illegal byte sequence
1020 enum EBADMSG = 94; /// Bad message
1021 enum EMULTIHOP = 95; /// Reserved
1022 enum ENODATA = 96; /// No message available on STREAM
1023 enum ENOLINK = 97; /// Reserved
1024 enum ENOSR = 98; /// No STREAM resources
1025 enum ENOSTR = 99; /// Not a STREAM
1026 enum EPROTO = 100; /// Protocol error
1027 enum ETIME = 101; /// STREAM ioctl timeout
1028 enum ELAST = 101; /// Must be equal largest errno
1030 else version (FreeBSD)
1032 enum EPERM = 1; /// Operation not permitted
1033 enum ENOENT = 2; /// No such file or directory
1034 enum ESRCH = 3; /// No such process
1035 enum EINTR = 4; /// Interrupted system call
1036 enum EIO = 5; /// Input/output error
1037 enum ENXIO = 6; /// Device not configured
1038 enum E2BIG = 7; /// Argument list too long
1039 enum ENOEXEC = 8; /// Exec format error
1040 enum EBADF = 9; /// Bad file descriptor
1041 enum ECHILD = 10; /// No child processes
1042 enum EDEADLK = 11; /// Resource deadlock avoided
1043 enum ENOMEM = 12; /// Cannot allocate memory
1044 enum EACCES = 13; /// Permission denied
1045 enum EFAULT = 14; /// Bad address
1046 enum ENOTBLK = 15; /// Block device required
1047 enum EBUSY = 16; /// Device busy
1048 enum EEXIST = 17; /// File exists
1049 enum EXDEV = 18; /// Cross-device link
1050 enum ENODEV = 19; /// Operation not supported by device
1051 enum ENOTDIR = 20; /// Not a directory
1052 enum EISDIR = 21; /// Is a directory
1053 enum EINVAL = 22; /// Invalid argument
1054 enum ENFILE = 23; /// Too many open files in system
1055 enum EMFILE = 24; /// Too many open files
1056 enum ENOTTY = 25; /// Inappropriate ioctl for device
1057 enum ETXTBSY = 26; /// Text file busy
1058 enum EFBIG = 27; /// File too large
1059 enum ENOSPC = 28; /// No space left on device
1060 enum ESPIPE = 29; /// Illegal seek
1061 enum EROFS = 30; /// Read-only file system
1062 enum EMLINK = 31; /// Too many links
1063 enum EPIPE = 32; /// Broken pipe
1064 enum EDOM = 33; /// Numerical argument out of domain
1065 enum ERANGE = 34; /// Result too large
1066 enum EAGAIN = 35; /// Resource temporarily unavailable
1067 enum EWOULDBLOCK = EAGAIN; /// Operation would block
1068 enum EINPROGRESS = 36; /// Operation now in progress
1069 enum EALREADY = 37; /// Operation already in progress
1070 enum ENOTSOCK = 38; /// Socket operation on non-socket
1071 enum EDESTADDRREQ = 39; /// Destination address required
1072 enum EMSGSIZE = 40; /// Message too long
1073 enum EPROTOTYPE = 41; /// Protocol wrong type for socket
1074 enum ENOPROTOOPT = 42; /// Protocol not available
1075 enum EPROTONOSUPPORT = 43; /// Protocol not supported
1076 enum ENOTSUP = 45; /// Operation not supported
1077 enum EOPNOTSUPP = ENOTSUP; /// Operation not supported on socket
1078 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family
1079 enum EADDRINUSE = 48; /// Address already in use
1080 enum EADDRNOTAVAIL = 49; /// Can't assign requested address
1081 enum ENETDOWN = 50; /// Network is down
1082 enum ENETUNREACH = 51; /// Network is unreachable
1083 enum ENETRESET = 52; /// Network dropped connection on reset
1084 enum ECONNABORTED = 53; /// Software caused connection abort
1085 enum ECONNRESET = 54; /// Connection reset by peer
1086 enum ENOBUFS = 55; /// No buffer space available
1087 enum EISCONN = 56; /// Socket is already connected
1088 enum ENOTCONN = 57; /// Socket is not connected
1089 enum ESHUTDOWN = 58; /// Can't send after socket shutdown
1090 enum ETOOMANYREFS = 59; /// Too many refrences; can't splice
1091 enum ETIMEDOUT = 60; /// Operation timed out
1092 enum ECONNREFUSED = 61; /// Connection refused
1093 enum ELOOP = 62; /// Too many levels of symbolic links
1094 enum ENAMETOOLONG = 63; /// File name too long
1095 enum EHOSTUNREACH = 65; /// No route to host
1096 enum ENOTEMPTY = 66; /// Directory not empty
1097 enum EPROCLIM = 67; /// Too many processes
1098 enum EUSERS = 68; /// Too many users
1099 enum EDQUOT = 69; /// Disc quota exceeded
1100 enum ESTALE = 70; /// Stale NFS file handle
1101 enum EREMOTE = 71; /// Too many levels of remote in path
1102 enum EBADRPC = 72; /// RPC struct is bad
1103 enum ERPCMISMATCH = 73; /// RPC version wrong
1104 enum EPROGUNAVAIL = 74; /// RPC prog. not avail
1105 enum EPROGMISMATCH = 75; /// Program version wrong
1106 enum EPROCUNAVAIL = 76; /// Bad procedure for program
1107 enum ENOLCK = 77; /// No locks available
1108 enum ENOSYS = 78; /// Function not implemented
1109 enum EFTYPE = 79; /// Inappropriate file type or format
1110 enum EAUTH = 80; /// Authentication error
1111 enum ENEEDAUTH = 81; /// Need authenticator
1112 enum EIDRM = 82; /// Itendifier removed
1113 enum ENOMSG = 83; /// No message of desired type
1114 enum EOVERFLOW = 84; /// Value too large to be stored in data type
1115 enum ECANCELED = 85; /// Operation canceled
1116 enum EILSEQ = 86; /// Illegal byte sequence
1117 enum ENOATTR = 87; /// Attribute not found
1118 enum EDOOFUS = 88; /// Programming error
1119 enum EBADMSG = 89; /// Bad message
1120 enum EMULTIHOP = 90; /// Multihop attempted
1121 enum ENOLINK = 91; /// Link has been severed
1122 enum EPROTO = 92; /// Protocol error
1123 enum ELAST = 92; /// Must be equal largest errno
1125 else version (NetBSD)
1127 // http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/sys/errno.h
1128 enum EPERM = 1;
1129 enum ENOENT = 2;
1130 enum ESRCH = 3;
1131 enum EINTR = 4;
1132 enum EIO = 5;
1133 enum ENXIO = 6;
1134 enum E2BIG = 7;
1135 enum ENOEXEC = 8;
1136 enum EBADF = 9;
1137 enum ECHILD = 10;
1138 enum EDEADLK = 11;
1140 enum ENOMEM = 12;
1141 enum EACCES = 13;
1142 enum EFAULT = 14;
1143 enum ENOTBLK = 15;
1144 enum EBUSY = 16;
1145 enum EEXIST = 17;
1146 enum EXDEV = 18;
1147 enum ENODEV = 19;
1148 enum ENOTDIR = 20;
1149 enum EISDIR = 21;
1150 enum EINVAL = 22;
1151 enum ENFILE = 23;
1152 enum EMFILE = 24;
1153 enum ENOTTY = 25;
1154 enum ETXTBSY = 26;
1155 enum EFBIG = 27;
1156 enum ENOSPC = 28;
1157 enum ESPIPE = 29;
1158 enum EROFS = 30;
1159 enum EMLINK = 31;
1160 enum EPIPE = 32;
1162 enum EDOM = 33;
1163 enum ERANGE = 34;
1166 enum EAGAIN = 35;
1167 enum EWOULDBLOCK = EAGAIN;
1168 enum EINPROGRESS = 36;
1169 enum EALREADY = 37;
1172 enum ENOTSOCK = 38;
1173 enum EDESTADDRREQ = 39;
1174 enum EMSGSIZE = 40;
1175 enum EPROTOTYPE = 41;
1176 enum ENOPROTOOPT = 42;
1177 enum EPROTONOSUPPORT = 43;
1178 enum ESOCKTNOSUPPORT = 44;
1179 enum EOPNOTSUPP = 45;
1180 enum EPFNOSUPPORT = 46;
1181 enum EAFNOSUPPORT = 47;
1182 enum EADDRINUSE = 48;
1183 enum EADDRNOTAVAIL = 49;
1186 enum ENETDOWN = 50;
1187 enum ENETUNREACH = 51;
1188 enum ENETRESET = 52;
1189 enum ECONNABORTED = 53;
1190 enum ECONNRESET = 54;
1191 enum ENOBUFS = 55;
1192 enum EISCONN = 56;
1193 enum ENOTCONN = 57;
1194 enum ESHUTDOWN = 58;
1195 enum ETOOMANYREFS = 59;
1196 enum ETIMEDOUT = 60;
1197 enum ECONNREFUSED = 61;
1198 enum ELOOP = 62;
1199 enum ENAMETOOLONG = 63;
1202 enum EHOSTDOWN = 64;
1203 enum EHOSTUNREACH = 65;
1204 enum ENOTEMPTY = 66;
1207 enum EPROCLIM = 67;
1208 enum EUSERS = 68;
1209 enum EDQUOT = 69;
1212 enum ESTALE = 70;
1213 enum EREMOTE = 71;
1214 enum EBADRPC = 72;
1215 enum ERPCMISMATCH = 73;
1216 enum EPROGUNAVAIL = 74;
1217 enum EPROGMISMATCH = 75;
1218 enum EPROCUNAVAIL = 76;
1220 enum ENOLCK = 77;
1221 enum ENOSYS = 78;
1223 enum EFTYPE = 79;
1224 enum EAUTH = 80;
1225 enum ENEEDAUTH = 81;
1228 enum EIDRM = 82;
1229 enum ENOMSG = 83;
1230 enum EOVERFLOW = 84;
1232 enum EILSEQ = 85;
1235 enum ENOTSUP = 86;
1238 enum ECANCELED = 87;
1241 enum EBADMSG = 88;
1244 enum ENODATA = 89;
1245 enum ENOSR = 90;
1246 enum ENOSTR = 91;
1247 enum ETIME = 92;
1250 enum ENOATTR = 93;
1253 enum EMULTIHOP = 94;
1254 enum ENOLINK = 95;
1255 enum EPROTO = 96;
1257 else version (OpenBSD)
1259 enum EPERM = 1; /// Operation not permitted
1260 enum ENOENT = 2; /// No such file or directory
1261 enum ESRCH = 3; /// No such process
1262 enum EINTR = 4; /// Interrupted system call
1263 enum EIO = 5; /// Input/output error
1264 enum ENXIO = 6; /// Device not configured
1265 enum E2BIG = 7; /// Argument list too long
1266 enum ENOEXEC = 8; /// Exec format error
1267 enum EBADF = 9; /// Bad file descriptor
1268 enum ECHILD = 10; /// No child processes
1269 enum EDEADLK = 11; /// Resource deadlock avoided
1270 enum ENOMEM = 12; /// Cannot allocate memory
1271 enum EACCES = 13; /// Permission denied
1272 enum EFAULT = 14; /// Bad address
1273 enum ENOTBLK = 15; /// Block device required
1274 enum EBUSY = 16; /// Device busy
1275 enum EEXIST = 17; /// File exists
1276 enum EXDEV = 18; /// Cross-device link
1277 enum ENODEV = 19; /// Operation not supported by device
1278 enum ENOTDIR = 20; /// Not a directory
1279 enum EISDIR = 21; /// Is a directory
1280 enum EINVAL = 22; /// Invalid argument
1281 enum ENFILE = 23; /// Too many open files in system
1282 enum EMFILE = 24; /// Too many open files
1283 enum ENOTTY = 25; /// Inappropriate ioctl for device
1284 enum ETXTBSY = 26; /// Text file busy
1285 enum EFBIG = 27; /// File too large
1286 enum ENOSPC = 28; /// No space left on device
1287 enum ESPIPE = 29; /// Illegal seek
1288 enum EROFS = 30; /// Read-only file system
1289 enum EMLINK = 31; /// Too many links
1290 enum EPIPE = 32; /// Broken pipe
1291 enum EDOM = 33; /// Numerical argument out of domain
1292 enum ERANGE = 34; /// Result too large
1293 enum EAGAIN = 35; /// Resource temporarily unavailable
1294 enum EWOULDBLOCK = EAGAIN; /// Operation would block
1295 enum EINPROGRESS = 36; /// Operation now in progress
1296 enum EALREADY = 37; /// Operation already in progress
1297 enum ENOTSOCK = 38; /// Socket operation on non-socket
1298 enum EDESTADDRREQ = 39; /// Destination address required
1299 enum EMSGSIZE = 40; /// Message too long
1300 enum EPROTOTYPE = 41; /// Protocol wrong type for socket
1301 enum ENOPROTOOPT = 42; /// Protocol not available
1302 enum EPROTONOSUPPORT = 43; /// Protocol not supported
1303 enum ESOCKTNOSUPPORT = 44; /// Socket type not supported
1304 enum EOPNOTSUPP = 45; /// Operation not supported
1305 enum EPFNOSUPPORT = 46; /// Protocol family not supported
1306 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family
1307 enum EADDRINUSE = 48; /// Address already in use
1308 enum EADDRNOTAVAIL = 49; /// Can't assign requested address
1309 enum ENETDOWN = 50; /// Network is down
1310 enum ENETUNREACH = 51; /// Network is unreachable
1311 enum ENETRESET = 52; /// Network dropped connection on reset
1312 enum ECONNABORTED = 53; /// Software caused connection abort
1313 enum ECONNRESET = 54; /// Connection reset by peer
1314 enum ENOBUFS = 55; /// No buffer space available
1315 enum EISCONN = 56; /// Socket is already connected
1316 enum ENOTCONN = 57; /// Socket is not connected
1317 enum ESHUTDOWN = 58; /// Can't send after socket shutdown
1318 enum ETOOMANYREFS = 59; /// Too many references: can't splice
1319 enum ETIMEDOUT = 60; /// Operation timed out
1320 enum ECONNREFUSED = 61; /// Connection refused
1321 enum ELOOP = 62; /// Too many levels of symbolic links
1322 enum ENAMETOOLONG = 63; /// File name too long
1323 enum EHOSTDOWN = 64; /// Host is down
1324 enum EHOSTUNREACH = 65; /// No route to host
1325 enum ENOTEMPTY = 66; /// Directory not empty
1326 enum EPROCLIM = 67; /// Too many processes
1327 enum EUSERS = 68; /// Too many users
1328 enum EDQUOT = 69; /// Disk quota exceeded
1329 enum ESTALE = 70; /// Stale NFS file handle
1330 enum EREMOTE = 71; /// Too many levels of remote in path
1331 enum EBADRPC = 72; /// RPC struct is bad
1332 enum ERPCMISMATCH = 73; /// RPC version wrong
1333 enum EPROGUNAVAIL = 74; /// RPC program not available
1334 enum EPROGMISMATCH = 75; /// Program version wrong
1335 enum EPROCUNAVAIL = 76; /// Bad procedure for program
1336 enum ENOLCK = 77; /// No locks available
1337 enum ENOSYS = 78; /// Function not implemented
1338 enum EFTYPE = 79; /// Inappropriate file type or format
1339 enum EAUTH = 80; /// Authentication error
1340 enum ENEEDAUTH = 81; /// Need authenticator
1341 enum EIPSEC = 82; /// IPsec processing failure
1342 enum ENOATTR = 83; /// Attribute not found
1343 enum EILSEQ = 84; /// Illegal byte sequence
1344 enum ENOMEDIUM = 85; /// No medium found
1345 enum EMEDIUMTYPE = 86; /// Wrong medium type
1346 enum EOVERFLOW = 87; /// Value too large to be stored in data type
1347 enum ECANCELED = 88; /// Operation canceled
1348 enum EIDRM = 89; /// Identifier removed
1349 enum ENOMSG = 90; /// No message of desired type
1350 enum ENOTSUP = 91; /// Not supported
1351 enum ELAST = 91; /// Must be equal largest errno
1353 else version (DragonFlyBSD)
1355 enum EPERM = 1;
1356 enum ENOENT = 2;
1357 enum ESRCH = 3;
1358 enum EINTR = 4;
1359 enum EIO = 5;
1360 enum ENXIO = 6;
1361 enum E2BIG = 7;
1362 enum ENOEXEC = 8;
1363 enum EBADF = 9;
1364 enum ECHILD = 10;
1365 enum EDEADLK = 11;
1366 enum ENOMEM = 12;
1367 enum EACCES = 13;
1368 enum EFAULT = 14;
1369 enum ENOTBLK = 15;
1370 enum EBUSY = 16;
1371 enum EEXIST = 17;
1372 enum EXDEV = 18;
1373 enum ENODEV = 19;
1374 enum ENOTDIR = 20;
1375 enum EISDIR = 21;
1376 enum EINVAL = 22;
1377 enum ENFILE = 23;
1378 enum EMFILE = 24;
1379 enum ENOTTY = 25;
1380 enum ETXTBSY = 26;
1381 enum EFBIG = 27;
1382 enum ENOSPC = 28;
1383 enum ESPIPE = 29;
1384 enum EROFS = 30;
1385 enum EMLINK = 31;
1386 enum EPIPE = 32;
1387 enum EDOM = 33;
1388 enum ERANGE = 34;
1389 enum EAGAIN = 35;
1390 enum EWOULDBLOCK = EAGAIN;
1391 enum EINPROGRESS = 36;
1392 enum EALREADY = 37;
1393 enum ENOTSOCK = 38;
1394 enum EDESTADDRREQ = 39;
1395 enum EMSGSIZE = 40;
1396 enum EPROTOTYPE = 41;
1397 enum ENOPROTOOPT = 42;
1398 enum EPROTONOSUPPORT = 43;
1399 enum ENOTSUP = 45;
1400 enum EOPNOTSUPP = ENOTSUP;
1401 enum EPFNOSUPPORT = 46;
1402 enum EAFNOSUPPORT = 47;
1403 enum EADDRINUSE = 48;
1404 enum EADDRNOTAVAIL = 49;
1405 enum ENETDOWN = 50;
1406 enum ENETUNREACH = 51;
1407 enum ENETRESET = 52;
1408 enum ECONNABORTED = 53;
1409 enum ECONNRESET = 54;
1410 enum ENOBUFS = 55;
1411 enum EISCONN = 56;
1412 enum ENOTCONN = 57;
1413 enum ESHUTDOWN = 58;
1414 enum ETOOMANYREFS = 59;
1415 enum ETIMEDOUT = 60;
1416 enum ECONNREFUSED = 61;
1417 enum ELOOP = 62;
1418 enum ENAMETOOLONG = 63;
1419 enum EHOSTUNREACH = 65;
1420 enum ENOTEMPTY = 66;
1421 enum EPROCLIM = 67;
1422 enum EUSERS = 68;
1423 enum EDQUOT = 69;
1424 enum ESTALE = 70;
1425 enum EREMOTE = 71;
1426 enum EBADRPC = 72;
1427 enum ERPCMISMATCH = 73;
1428 enum EPROGUNAVAIL = 74;
1429 enum EPROGMISMATCH = 75;
1430 enum EPROCUNAVAIL = 76;
1431 enum ENOLCK = 77;
1432 enum ENOSYS = 78;
1433 enum EFTYPE = 79;
1434 enum EAUTH = 80;
1435 enum ENEEDAUTH = 81;
1436 enum EIDRM = 82;
1437 enum ENOMSG = 83;
1438 enum EOVERFLOW = 84;
1439 enum ECANCELED = 85;
1440 enum EILSEQ = 86;
1441 enum ENOATTR = 87;
1442 enum EDOOFUS = 88;
1443 enum EBADMSG = 89;
1444 enum EMULTIHOP = 90;
1445 enum ENOLINK = 91;
1446 enum EPROTO = 92;
1447 enum ENOMEDIUM = 93;
1448 enum EUNUSED94 = 94;
1449 enum EUNUSED95 = 95;
1450 enum EUNUSED96 = 96;
1451 enum EUNUSED97 = 97;
1452 enum EUNUSED98 = 98;
1453 enum EASYNC = 99;
1454 enum ELAST = 99;
1456 else version (Solaris)
1458 enum EPERM = 1 /** Not super-user */;
1459 enum ENOENT = 2 /** No such file or directory */;
1460 enum ESRCH = 3 /** No such process */;
1461 enum EINTR = 4 /** interrupted system call */;
1462 enum EIO = 5 /** I/O error */;
1463 enum ENXIO = 6 /** No such device or address */;
1464 enum E2BIG = 7 /** Arg list too long */;
1465 enum ENOEXEC = 8 /** Exec format error */;
1466 enum EBADF = 9 /** Bad file number */;
1467 enum ECHILD = 10 /** No children */;
1468 enum EAGAIN = 11 /** Resource temporarily unavailable */;
1469 enum ENOMEM = 12 /** Not enough core */;
1470 enum EACCES = 13 /** Permission denied */;
1471 enum EFAULT = 14 /** Bad address */;
1472 enum ENOTBLK = 15 /** Block device required */;
1473 enum EBUSY = 16 /** Mount device busy */;
1474 enum EEXIST = 17 /** File exists */;
1475 enum EXDEV = 18 /** Cross-device link */;
1476 enum ENODEV = 19 /** No such device */;
1477 enum ENOTDIR = 20 /** Not a directory */;
1478 enum EISDIR = 21 /** Is a directory */;
1479 enum EINVAL = 22 /** Invalid argument */;
1480 enum ENFILE = 23 /** File table overflow */;
1481 enum EMFILE = 24 /** Too many open files */;
1482 enum ENOTTY = 25 /** Inappropriate ioctl for device */;
1483 enum ETXTBSY = 26 /** Text file busy */;
1484 enum EFBIG = 27 /** File too large */;
1485 enum ENOSPC = 28 /** No space left on device */;
1486 enum ESPIPE = 29 /** Illegal seek */;
1487 enum EROFS = 30 /** Read only file system */;
1488 enum EMLINK = 31 /** Too many links */;
1489 enum EPIPE = 32 /** Broken pipe */;
1490 enum EDOM = 33 /** Math arg out of domain of func */;
1491 enum ERANGE = 34 /** Math result not representable */;
1492 enum ENOMSG = 35 /** No message of desired type */;
1493 enum EIDRM = 36 /** Identifier removed */;
1494 enum ECHRNG = 37 /** Channel number out of range */;
1495 enum EL2NSYNC = 38 /** Level 2 not synchronized */;
1496 enum EL3HLT = 39 /** Level 3 halted */;
1497 enum EL3RST = 40 /** Level 3 reset */;
1498 enum ELNRNG = 41 /** Link number out of range */;
1499 enum EUNATCH = 42 /** Protocol driver not attached */;
1500 enum ENOCSI = 43 /** No CSI structure available */;
1501 enum EL2HLT = 44 /** Level 2 halted */;
1502 enum EDEADLK = 45 /** Deadlock condition. */;
1503 enum ENOLCK = 46 /** No record locks available. */;
1504 enum ECANCELED = 47 /** Operation canceled */;
1505 enum ENOTSUP = 48 /** Operation not supported */;
1506 enum EDQUOT = 49 /** Disc quota exceeded */;
1507 enum EBADE = 50 /** invalid exchange */;
1508 enum EBADR = 51 /** invalid request descriptor */;
1509 enum EXFULL = 52 /** exchange full */;
1510 enum ENOANO = 53 /** no anode */;
1511 enum EBADRQC = 54 /** invalid request code */;
1512 enum EBADSLT = 55 /** invalid slot */;
1513 enum EDEADLOCK = 56 /** file locking deadlock error */;
1514 enum EBFONT = 57 /** bad font file fmt */;
1515 enum EOWNERDEAD = 58 /** process died with the lock */;
1516 enum ENOTRECOVERABLE = 59 /** lock is not recoverable */;
1517 enum ENOSTR = 60 /** Device not a stream */;
1518 enum ENODATA = 61 /** no data (for no delay io) */;
1519 enum ETIME = 62 /** timer expired */;
1520 enum ENOSR = 63 /** out of streams resources */;
1521 enum ENONET = 64 /** Machine is not on the network */;
1522 enum ENOPKG = 65 /** Package not installed */;
1523 enum EREMOTE = 66 /** The object is remote */;
1524 enum ENOLINK = 67 /** the link has been severed */;
1525 enum EADV = 68 /** advertise error */;
1526 enum ESRMNT = 69 /** srmount error */;
1527 enum ECOMM = 70 /** Communication error on send */;
1528 enum EPROTO = 71 /** Protocol error */;
1529 enum ELOCKUNMAPPED = 72 /** locked lock was unmapped */;
1530 enum ENOTACTIVE = 73 /** Facility is not active */;
1531 enum EMULTIHOP = 74 /** multihop attempted */;
1532 enum EBADMSG = 77 /** trying to read unreadable message */;
1533 enum ENAMETOOLONG = 78 /** path name is too long */;
1534 enum EOVERFLOW = 79 /** value too large to be stored in data type */;
1535 enum ENOTUNIQ = 80 /** given log. name not unique */;
1536 enum EBADFD = 81 /** f.d. invalid for this operation */;
1537 enum EREMCHG = 82 /** Remote address changed */;
1538 enum ELIBACC = 83 /** Can't access a needed shared lib. */;
1539 enum ELIBBAD = 84 /** Accessing a corrupted shared lib. */;
1540 enum ELIBSCN = 85 /** .lib section in a.out corrupted. */;
1541 enum ELIBMAX = 86 /** Attempting to link in too many libs. */;
1542 enum ELIBEXEC = 87 /** Attempting to exec a shared library. */;
1543 enum EILSEQ = 88 /** Illegal byte sequence. */;
1544 enum ENOSYS = 89 /** Unsupported file system operation */;
1545 enum ELOOP = 90 /** Symbolic link loop */;
1546 enum ERESTART = 91 /** Restartable system call */;
1547 enum ESTRPIPE = 92 /** if pipe/FIFO, don't sleep in stream head */;
1548 enum ENOTEMPTY = 93 /** directory not empty */;
1549 enum EUSERS = 94 /** Too many users (for UFS) */;
1550 enum ENOTSOCK = 95 /** Socket operation on non-socket */;
1551 enum EDESTADDRREQ = 96 /** Destination address required */;
1552 enum EMSGSIZE = 97 /** Message too long */;
1553 enum EPROTOTYPE = 98 /** Protocol wrong type for socket */;
1554 enum ENOPROTOOPT = 99 /** Protocol not available */;
1555 enum EPROTONOSUPPORT = 120 /** Protocol not supported */;
1556 enum ESOCKTNOSUPPORT = 121 /** Socket type not supported */;
1557 enum EOPNOTSUPP = 122 /** Operation not supported on socket */;
1558 enum EPFNOSUPPORT = 123 /** Protocol family not supported */;
1559 enum EAFNOSUPPORT = 124 /** Address family not supported by the protocol family */;
1560 enum EADDRINUSE = 125 /** Address already in use */;
1561 enum EADDRNOTAVAIL = 126 /** Can't assign requested address */;
1562 enum ENETDOWN = 127 /** Network is down */;
1563 enum ENETUNREACH = 128 /** Network is unreachable */;
1564 enum ENETRESET = 129 /** Network dropped connection because of reset */;
1565 enum ECONNABORTED = 130 /** Software caused connection abort */;
1566 enum ECONNRESET = 131 /** Connection reset by peer */;
1567 enum ENOBUFS = 132 /** No buffer space available */;
1568 enum EISCONN = 133 /** Socket is already connected */;
1569 enum ENOTCONN = 134 /** Socket is not connected */;
1570 enum ESHUTDOWN = 143 /** Can't send after socket shutdown */;
1571 enum ETOOMANYREFS = 144 /** Too many references: can't splice */;
1572 enum ETIMEDOUT = 145 /** Connection timed out */;
1573 enum ECONNREFUSED = 146 /** Connection refused */;
1574 enum EHOSTDOWN = 147 /** Host is down */;
1575 enum EHOSTUNREACH = 148 /** No route to host */;
1576 enum EWOULDBLOCK = EAGAIN; /** Resource temporarily unavailable */;
1577 enum EALREADY = 149 /** operation already in progress */;
1578 enum EINPROGRESS = 150 /** operation now in progress */;
1579 enum ESTALE = 151 /** Stale NFS file handle */;
1581 else
1583 static assert(false, "Unsupported platform");