1 /** 2 * D header file for C99. 3 * 4 * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_errno.h.html, _errno.h) 5 * 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/dmd/blob/master/druntime/src/core/stdc/errno.d 12 * Standards: ISO/IEC 9899:1999 (E) 13 */ 14 15 module core.stdc.errno; 16 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; 25 26 version (ARM) version = ARM_Any; 27 version (AArch64) version = ARM_Any; 28 version (HPPA) version = HPPA_Any; 29 version (MIPS32) version = MIPS_Any; 30 version (MIPS64) version = MIPS_Any; 31 version (PPC) version = PPC_Any; 32 version (PPC64) version = PPC_Any; 33 version (RISCV32) version = RISCV_Any; 34 version (RISCV64) version = RISCV_Any; 35 version (S390) version = IBMZ_Any; 36 version (SPARC) version = SPARC_Any; 37 version (SPARC64) version = SPARC_Any; 38 version (SystemZ) version = IBMZ_Any; 39 version (X86) version = X86_Any; 40 version (X86_64) version = X86_Any; 41 42 version (WebAssembly) version = X86_Any; // FIXME 43 44 @trusted: // Only manipulates errno. 45 nothrow: 46 @nogc: 47 48 version (CRuntime_DigitalMars) 49 { 50 extern (C) 51 { 52 ref int _errno(); 53 alias errno = _errno; 54 } 55 } 56 else version (CRuntime_Microsoft) 57 { 58 extern (C) 59 { 60 ref int _errno(); 61 alias errno = _errno; 62 } 63 } 64 else version (CRuntime_Glibc) 65 { 66 extern (C) 67 { 68 ref int __errno_location(); 69 alias errno = __errno_location; 70 } 71 } 72 else version (CRuntime_Musl) 73 { 74 extern (C) 75 { 76 ref int __errno_location(); 77 alias errno = __errno_location; 78 } 79 } 80 else version (OpenBSD) 81 { 82 // https://github.com/openbsd/src/blob/master/include/errno.h 83 extern (C) 84 { 85 ref int __errno(); 86 alias errno = __errno; 87 } 88 } 89 else version (NetBSD) 90 { 91 // https://github.com/NetBSD/src/blob/trunk/include/errno.h 92 extern (C) 93 { 94 ref int __errno(); 95 alias errno = __errno; 96 } 97 } 98 else version (FreeBSD) 99 { 100 extern (C) 101 { 102 ref int __error(); 103 alias errno = __error; 104 } 105 } 106 else version (DragonFlyBSD) 107 { 108 extern (C) 109 { 110 pragma(mangle, "errno") int __errno; 111 ref int __error() { 112 return __errno; 113 } 114 alias errno = __error; 115 } 116 } 117 else version (CRuntime_Bionic) 118 { 119 extern (C) 120 { 121 ref int __errno(); 122 alias errno = __errno; 123 } 124 } 125 else version (CRuntime_UClibc) 126 { 127 extern (C) 128 { 129 ref int __errno_location(); 130 alias errno = __errno_location; 131 } 132 } 133 else version (Darwin) 134 { 135 extern (C) 136 { 137 ref int __error(); 138 alias errno = __error; 139 } 140 } 141 else version (Solaris) 142 { 143 extern (C) 144 { 145 ref int ___errno(); 146 alias errno = ___errno; 147 } 148 } 149 else version (Haiku) 150 { 151 // https://github.com/haiku/haiku/blob/master/headers/posix/errno.h 152 extern (C) 153 { 154 ref int _errnop(); 155 alias errno = _errnop; 156 } 157 } 158 else version (FreeStanding) 159 { 160 __gshared int errno_; 161 162 ref int errno() { return errno_; } 163 164 extern(C) 165 int getErrno() { return errno; } 166 extern(C) 167 void setErrno(int i) { errno = i; } 168 } 169 else 170 { 171 /// 172 extern(C) pragma(mangle, "getErrno") @property int errno(); 173 /// 174 extern(C) pragma(mangle, "setErrno") @property int errno(int n); 175 } 176 177 extern (C): 178 179 180 version (Windows) 181 { 182 enum EPERM = 1; /// Operation not permitted 183 enum ENOENT = 2; /// No such file or directory 184 enum ESRCH = 3; /// No such process 185 enum EINTR = 4; /// Interrupted system call 186 enum EIO = 5; /// I/O error 187 enum ENXIO = 6; /// No such device or address 188 enum E2BIG = 7; /// Argument list too long 189 enum ENOEXEC = 8; /// Exec format error 190 enum EBADF = 9; /// Bad file number 191 enum ECHILD = 10; /// No child processes 192 enum EAGAIN = 11; /// Try again 193 enum ENOMEM = 12; /// Out of memory 194 enum EACCES = 13; /// Permission denied 195 enum EFAULT = 14; /// Bad address 196 enum EBUSY = 16; /// Device or resource busy 197 enum EEXIST = 17; /// File exists 198 enum EXDEV = 18; /// Cross-device link 199 enum ENODEV = 19; /// No such device 200 enum ENOTDIR = 20; /// Not a directory 201 enum EISDIR = 21; /// Is a directory 202 enum EINVAL = 22; /// Invalid argument 203 enum ENFILE = 23; /// File table overflow 204 enum EMFILE = 24; /// Too many open files 205 enum ENOTTY = 25; /// Not a typewriter 206 enum EFBIG = 27; /// File too large 207 enum ENOSPC = 28; /// No space left on device 208 enum ESPIPE = 29; /// Illegal seek 209 enum EROFS = 30; /// Read-only file system 210 enum EMLINK = 31; /// Too many links 211 enum EPIPE = 32; /// Broken pipe 212 enum EDOM = 33; /// Math argument out of domain of func 213 enum ERANGE = 34; /// Math result not representable 214 enum EDEADLK = 36; /// Resource deadlock would occur 215 enum ENAMETOOLONG = 38; /// File name too long 216 enum ENOLCK = 39; /// No record locks available 217 enum ENOSYS = 40; /// Function not implemented 218 enum ENOTEMPTY = 41; /// Directory not empty 219 enum EILSEQ = 42; /// Illegal byte sequence 220 enum EDEADLOCK = EDEADLK; /// Resource deadlock would occur 221 222 // POSIX compatibility 223 // See_Also: https://docs.microsoft.com/en-us/cpp/c-runtime-library/errno-constants 224 enum EADDRINUSE = 100; 225 enum EADDRNOTAVAIL = 101; 226 enum EAFNOSUPPORT = 102; 227 enum EALREADY = 103; 228 enum EBADMSG = 104; 229 enum ECANCELED = 105; 230 enum ECONNABORTED = 106; 231 enum ECONNREFUSED = 107; 232 enum ECONNRESET = 108; 233 enum EDESTADDRREQ = 109; 234 enum EHOSTUNREACH = 110; 235 enum EIDRM = 111; 236 enum EINPROGRESS = 112; 237 enum EISCONN = 113; 238 enum ELOOP = 114; 239 enum EMSGSIZE = 115; 240 enum ENETDOWN = 116; 241 enum ENETRESET = 117; 242 enum ENETUNREACH = 118; 243 enum ENOBUFS = 119; 244 enum ENODATA = 120; 245 enum ENOLINK = 121; 246 enum ENOMSG = 122; 247 enum ENOPROTOOPT = 123; 248 enum ENOSR = 124; 249 enum ENOSTR = 125; 250 enum ENOTCONN = 126; 251 enum ENOTRECOVERABLE = 127; 252 enum ENOTSOCK = 128; 253 enum ENOTSUP = 129; 254 enum EOPNOTSUPP = 130; 255 enum EOTHER = 131; 256 enum EOVERFLOW = 132; 257 enum EOWNERDEAD = 133; 258 enum EPROTO = 134; 259 enum EPROTONOSUPPORT = 135; 260 enum EPROTOTYPE = 136; 261 enum ETIME = 137; 262 enum ETIMEDOUT = 138; 263 enum ETXTBSY = 139; 264 enum EWOULDBLOCK = 140; 265 } 266 else version (linux) 267 { 268 enum EPERM = 1; /// 269 enum ENOENT = 2; /// 270 enum ESRCH = 3; /// 271 enum EINTR = 4; /// 272 enum EIO = 5; /// 273 enum ENXIO = 6; /// 274 enum E2BIG = 7; /// 275 enum ENOEXEC = 8; /// 276 enum EBADF = 9; /// 277 enum ECHILD = 10; /// 278 enum EAGAIN = 11; /// 279 enum ENOMEM = 12; /// 280 enum EACCES = 13; /// 281 enum EFAULT = 14; /// 282 enum ENOTBLK = 15; /// 283 enum EBUSY = 16; /// 284 enum EEXIST = 17; /// 285 enum EXDEV = 18; /// 286 enum ENODEV = 19; /// 287 enum ENOTDIR = 20; /// 288 enum EISDIR = 21; /// 289 enum EINVAL = 22; /// 290 enum ENFILE = 23; /// 291 enum EMFILE = 24; /// 292 enum ENOTTY = 25; /// 293 enum ETXTBSY = 26; /// 294 enum EFBIG = 27; /// 295 enum ENOSPC = 28; /// 296 enum ESPIPE = 29; /// 297 enum EROFS = 30; /// 298 enum EMLINK = 31; /// 299 enum EPIPE = 32; /// 300 enum EDOM = 33; /// 301 enum ERANGE = 34; /// 302 303 version (X86_Any) 304 { 305 enum EDEADLK = 35; /// 306 enum ENAMETOOLONG = 36; /// 307 enum ENOLCK = 37; /// 308 enum ENOSYS = 38; /// 309 enum ENOTEMPTY = 39; /// 310 enum ELOOP = 40; /// 311 enum EWOULDBLOCK = EAGAIN; /// 312 enum ENOMSG = 42; /// 313 enum EIDRM = 43; /// 314 enum ECHRNG = 44; /// 315 enum EL2NSYNC = 45; /// 316 enum EL3HLT = 46; /// 317 enum EL3RST = 47; /// 318 enum ELNRNG = 48; /// 319 enum EUNATCH = 49; /// 320 enum ENOCSI = 50; /// 321 enum EL2HLT = 51; /// 322 enum EBADE = 52; /// 323 enum EBADR = 53; /// 324 enum EXFULL = 54; /// 325 enum ENOANO = 55; /// 326 enum EBADRQC = 56; /// 327 enum EBADSLT = 57; /// 328 enum EDEADLOCK = EDEADLK; /// 329 enum EBFONT = 59; /// 330 enum ENOSTR = 60; /// 331 enum ENODATA = 61; /// 332 enum ETIME = 62; /// 333 enum ENOSR = 63; /// 334 enum ENONET = 64; /// 335 enum ENOPKG = 65; /// 336 enum EREMOTE = 66; /// 337 enum ENOLINK = 67; /// 338 enum EADV = 68; /// 339 enum ESRMNT = 69; /// 340 enum ECOMM = 70; /// 341 enum EPROTO = 71; /// 342 enum EMULTIHOP = 72; /// 343 enum EDOTDOT = 73; /// 344 enum EBADMSG = 74; /// 345 enum EOVERFLOW = 75; /// 346 enum ENOTUNIQ = 76; /// 347 enum EBADFD = 77; /// 348 enum EREMCHG = 78; /// 349 enum ELIBACC = 79; /// 350 enum ELIBBAD = 80; /// 351 enum ELIBSCN = 81; /// 352 enum ELIBMAX = 82; /// 353 enum ELIBEXEC = 83; /// 354 enum EILSEQ = 84; /// 355 enum ERESTART = 85; /// 356 enum ESTRPIPE = 86; /// 357 enum EUSERS = 87; /// 358 enum ENOTSOCK = 88; /// 359 enum EDESTADDRREQ = 89; /// 360 enum EMSGSIZE = 90; /// 361 enum EPROTOTYPE = 91; /// 362 enum ENOPROTOOPT = 92; /// 363 enum EPROTONOSUPPORT = 93; /// 364 enum ESOCKTNOSUPPORT = 94; /// 365 enum EOPNOTSUPP = 95; /// 366 enum ENOTSUP = EOPNOTSUPP; /// 367 enum EPFNOSUPPORT = 96; /// 368 enum EAFNOSUPPORT = 97; /// 369 enum EADDRINUSE = 98; /// 370 enum EADDRNOTAVAIL = 99; /// 371 enum ENETDOWN = 100; /// 372 enum ENETUNREACH = 101; /// 373 enum ENETRESET = 102; /// 374 enum ECONNABORTED = 103; /// 375 enum ECONNRESET = 104; /// 376 enum ENOBUFS = 105; /// 377 enum EISCONN = 106; /// 378 enum ENOTCONN = 107; /// 379 enum ESHUTDOWN = 108; /// 380 enum ETOOMANYREFS = 109; /// 381 enum ETIMEDOUT = 110; /// 382 enum ECONNREFUSED = 111; /// 383 enum EHOSTDOWN = 112; /// 384 enum EHOSTUNREACH = 113; /// 385 enum EALREADY = 114; /// 386 enum EINPROGRESS = 115; /// 387 enum ESTALE = 116; /// 388 enum EUCLEAN = 117; /// 389 enum ENOTNAM = 118; /// 390 enum ENAVAIL = 119; /// 391 enum EISNAM = 120; /// 392 enum EREMOTEIO = 121; /// 393 enum EDQUOT = 122; /// 394 enum ENOMEDIUM = 123; /// 395 enum EMEDIUMTYPE = 124; /// 396 enum ECANCELED = 125; /// 397 enum ENOKEY = 126; /// 398 enum EKEYEXPIRED = 127; /// 399 enum EKEYREVOKED = 128; /// 400 enum EKEYREJECTED = 129; /// 401 enum EOWNERDEAD = 130; /// 402 enum ENOTRECOVERABLE = 131; /// 403 enum ERFKILL = 132; /// 404 enum EHWPOISON = 133; /// 405 } 406 else version (ARM_Any) 407 { 408 enum EDEADLK = 35; /// 409 enum ENAMETOOLONG = 36; /// 410 enum ENOLCK = 37; /// 411 enum ENOSYS = 38; /// 412 enum ENOTEMPTY = 39; /// 413 enum ELOOP = 40; /// 414 enum EWOULDBLOCK = EAGAIN; /// 415 enum ENOMSG = 42; /// 416 enum EIDRM = 43; /// 417 enum ECHRNG = 44; /// 418 enum EL2NSYNC = 45; /// 419 enum EL3HLT = 46; /// 420 enum EL3RST = 47; /// 421 enum ELNRNG = 48; /// 422 enum EUNATCH = 49; /// 423 enum ENOCSI = 50; /// 424 enum EL2HLT = 51; /// 425 enum EBADE = 52; /// 426 enum EBADR = 53; /// 427 enum EXFULL = 54; /// 428 enum ENOANO = 55; /// 429 enum EBADRQC = 56; /// 430 enum EBADSLT = 57; /// 431 enum EDEADLOCK = EDEADLK; /// 432 enum EBFONT = 59; /// 433 enum ENOSTR = 60; /// 434 enum ENODATA = 61; /// 435 enum ETIME = 62; /// 436 enum ENOSR = 63; /// 437 enum ENONET = 64; /// 438 enum ENOPKG = 65; /// 439 enum EREMOTE = 66; /// 440 enum ENOLINK = 67; /// 441 enum EADV = 68; /// 442 enum ESRMNT = 69; /// 443 enum ECOMM = 70; /// 444 enum EPROTO = 71; /// 445 enum EMULTIHOP = 72; /// 446 enum EDOTDOT = 73; /// 447 enum EBADMSG = 74; /// 448 enum EOVERFLOW = 75; /// 449 enum ENOTUNIQ = 76; /// 450 enum EBADFD = 77; /// 451 enum EREMCHG = 78; /// 452 enum ELIBACC = 79; /// 453 enum ELIBBAD = 80; /// 454 enum ELIBSCN = 81; /// 455 enum ELIBMAX = 82; /// 456 enum ELIBEXEC = 83; /// 457 enum EILSEQ = 84; /// 458 enum ERESTART = 85; /// 459 enum ESTRPIPE = 86; /// 460 enum EUSERS = 87; /// 461 enum ENOTSOCK = 88; /// 462 enum EDESTADDRREQ = 89; /// 463 enum EMSGSIZE = 90; /// 464 enum EPROTOTYPE = 91; /// 465 enum ENOPROTOOPT = 92; /// 466 enum EPROTONOSUPPORT = 93; /// 467 enum ESOCKTNOSUPPORT = 94; /// 468 enum EOPNOTSUPP = 95; /// 469 enum ENOTSUP = EOPNOTSUPP; /// 470 enum EPFNOSUPPORT = 96; /// 471 enum EAFNOSUPPORT = 97; /// 472 enum EADDRINUSE = 98; /// 473 enum EADDRNOTAVAIL = 99; /// 474 enum ENETDOWN = 100; /// 475 enum ENETUNREACH = 101; /// 476 enum ENETRESET = 102; /// 477 enum ECONNABORTED = 103; /// 478 enum ECONNRESET = 104; /// 479 enum ENOBUFS = 105; /// 480 enum EISCONN = 106; /// 481 enum ENOTCONN = 107; /// 482 enum ESHUTDOWN = 108; /// 483 enum ETOOMANYREFS = 109; /// 484 enum ETIMEDOUT = 110; /// 485 enum ECONNREFUSED = 111; /// 486 enum EHOSTDOWN = 112; /// 487 enum EHOSTUNREACH = 113; /// 488 enum EALREADY = 114; /// 489 enum EINPROGRESS = 115; /// 490 enum ESTALE = 116; /// 491 enum EUCLEAN = 117; /// 492 enum ENOTNAM = 118; /// 493 enum ENAVAIL = 119; /// 494 enum EISNAM = 120; /// 495 enum EREMOTEIO = 121; /// 496 enum EDQUOT = 122; /// 497 enum ENOMEDIUM = 123; /// 498 enum EMEDIUMTYPE = 124; /// 499 enum ECANCELED = 125; /// 500 enum ENOKEY = 126; /// 501 enum EKEYEXPIRED = 127; /// 502 enum EKEYREVOKED = 128; /// 503 enum EKEYREJECTED = 129; /// 504 enum EOWNERDEAD = 130; /// 505 enum ENOTRECOVERABLE = 131; /// 506 enum ERFKILL = 132; /// 507 enum EHWPOISON = 133; /// 508 } 509 else version (HPPA_Any) 510 { 511 enum ENOMSG = 35; /// 512 enum EIDRM = 36; /// 513 enum ECHRNG = 37; /// 514 enum EL2NSYNC = 38; /// 515 enum EL3HLT = 39; /// 516 enum EL3RST = 40; /// 517 enum ELNRNG = 41; /// 518 enum EUNATCH = 42; /// 519 enum ENOCSI = 43; /// 520 enum EL2HLT = 44; /// 521 enum EDEADLK = 45; /// 522 enum EDEADLOCK = EDEADLK; /// 523 enum ENOLCK = 46; /// 524 enum EILSEQ = 47; /// 525 enum ENONET = 50; /// 526 enum ENODATA = 51; /// 527 enum ETIME = 52; /// 528 enum ENOSR = 53; /// 529 enum ENOSTR = 54; /// 530 enum ENOPKG = 55; /// 531 enum ENOLINK = 57; /// 532 enum EADV = 58; /// 533 enum ESRMNT = 59; /// 534 enum ECOMM = 60; /// 535 enum EPROTO = 61; /// 536 enum EMULTIHOP = 64; /// 537 enum EDOTDOT = 66; /// 538 enum EBADMSG = 67; /// 539 enum EUSERS = 68; /// 540 enum EDQUOT = 69; /// 541 enum ESTALE = 70; /// 542 enum EREMOTE = 71; /// 543 enum EOVERFLOW = 72; /// 544 enum EBADE = 160; /// 545 enum EBADR = 161; /// 546 enum EXFULL = 162; /// 547 enum ENOANO = 163; /// 548 enum EBADRQC = 164; /// 549 enum EBADSLT = 165; /// 550 enum EBFONT = 166; /// 551 enum ENOTUNIQ = 167; /// 552 enum EBADFD = 168; /// 553 enum EREMCHG = 169; /// 554 enum ELIBACC = 170; /// 555 enum ELIBBAD = 171; /// 556 enum ELIBSCN = 172; /// 557 enum ELIBMAX = 173; /// 558 enum ELIBEXEC = 174; /// 559 enum ERESTART = 175; /// 560 enum ESTRPIPE = 176; /// 561 enum EUCLEAN = 177; /// 562 enum ENOTNAM = 178; /// 563 enum ENAVAIL = 179; /// 564 enum EISNAM = 180; /// 565 enum EREMOTEIO = 181; /// 566 enum ENOMEDIUM = 182; /// 567 enum EMEDIUMTYPE = 183; /// 568 enum ENOKEY = 184; /// 569 enum EKEYEXPIRED = 185; /// 570 enum EKEYREVOKED = 186; /// 571 enum EKEYREJECTED = 187; /// 572 enum ENOSYM = 215; /// 573 enum ENOTSOCK = 216; /// 574 enum EDESTADDRREQ = 217; /// 575 enum EMSGSIZE = 218; /// 576 enum EPROTOTYPE = 219; /// 577 enum ENOPROTOOPT = 220; /// 578 enum EPROTONOSUPPORT = 221; /// 579 enum ESOCKTNOSUPPORT = 221; /// 580 enum EOPNOTSUPP = 223; /// 581 enum EPFNOSUPPORT = 224; /// 582 enum EAFNOSUPPORT = 225; /// 583 enum EADDRINUSE = 226; /// 584 enum EADDRNOTAVAIL = 227; /// 585 enum ENETDOWN = 228; /// 586 enum ENETUNREACH = 229; /// 587 enum ENETRESET = 230; /// 588 enum ECONNABORTED = 231; /// 589 enum ECONNRESET = 232; /// 590 enum ENOBUFS = 233; /// 591 enum EISCONN = 234; /// 592 enum ENOTCONN = 235; /// 593 enum ESHUTDOWN = 236; /// 594 enum ETOOMANYREFS = 237; /// 595 enum ETIMEDOUT = 238; /// 596 enum ECONNREFUSED = 239; /// 597 enum EREFUSED = ECONNREFUSED; /// 598 enum EREMOTERELEASE = 240; /// 599 enum EHOSTDOWN = 241; /// 600 enum EHOSTUNREACH = 242; /// 601 enum EALREADY = 244; /// 602 enum EINPROGRESS = 245; /// 603 enum EWOULDBLOCK = EAGAIN; /// 604 enum ENOTEMPTY = 247; /// 605 enum ENAMETOOLONG = 248; /// 606 enum ELOOP = 249; /// 607 enum ENOSYS = 251; /// 608 enum ECANCELLED = 253; /// 609 enum ECANCELED = ECANCELLED; /// 610 enum EOWNERDEAD = 254; /// 611 enum ENOTRECOVERABLE = 255; /// 612 enum ERFKILL = 256; /// 613 enum EHWPOISON = 257; /// 614 } 615 else version (MIPS_Any) 616 { 617 enum ENOMSG = 35; /// 618 enum EIDRM = 36; /// 619 enum ECHRNG = 37; /// 620 enum EL2NSYNC = 38; /// 621 enum EL3HLT = 39; /// 622 enum EL3RST = 40; /// 623 enum ELNRNG = 41; /// 624 enum EUNATCH = 42; /// 625 enum ENOCSI = 43; /// 626 enum EL2HLT = 44; /// 627 enum EDEADLK = 45; /// 628 enum ENOLCK = 46; /// 629 enum EBADE = 50; /// 630 enum EBADR = 51; /// 631 enum EXFULL = 52; /// 632 enum ENOANO = 53; /// 633 enum EBADRQC = 54; /// 634 enum EBADSLT = 55; /// 635 enum EDEADLOCK = 56; /// 636 enum EBFONT = 59; /// 637 enum ENOSTR = 60; /// 638 enum ENODATA = 61; /// 639 enum ETIME = 62; /// 640 enum ENOSR = 63; /// 641 enum ENONET = 64; /// 642 enum ENOPKG = 65; /// 643 enum EREMOTE = 66; /// 644 enum ENOLINK = 67; /// 645 enum EADV = 68; /// 646 enum ESRMNT = 69; /// 647 enum ECOMM = 70; /// 648 enum EPROTO = 71; /// 649 enum EDOTDOT = 73; /// 650 enum EMULTIHOP = 74; /// 651 enum EBADMSG = 77; /// 652 enum ENAMETOOLONG = 78; /// 653 enum EOVERFLOW = 79; /// 654 enum ENOTUNIQ = 80; /// 655 enum EBADFD = 81; /// 656 enum EREMCHG = 82; /// 657 enum ELIBACC = 83; /// 658 enum ELIBBAD = 84; /// 659 enum ELIBSCN = 85; /// 660 enum ELIBMAX = 86; /// 661 enum ELIBEXEC = 87; /// 662 enum EILSEQ = 88; /// 663 enum ENOSYS = 89; /// 664 enum ELOOP = 90; /// 665 enum ERESTART = 91; /// 666 enum ESTRPIPE = 92; /// 667 enum ENOTEMPTY = 93; /// 668 enum EUSERS = 94; /// 669 enum ENOTSOCK = 95; /// 670 enum EDESTADDRREQ = 96; /// 671 enum EMSGSIZE = 97; /// 672 enum EPROTOTYPE = 98; /// 673 enum ENOPROTOOPT = 99; /// 674 enum EPROTONOSUPPORT = 120; /// 675 enum ESOCKTNOSUPPORT = 121; /// 676 enum EOPNOTSUPP = 122; /// 677 enum ENOTSUP = EOPNOTSUPP; /// 678 enum EPFNOSUPPORT = 123; /// 679 enum EAFNOSUPPORT = 124; /// 680 enum EADDRINUSE = 125; /// 681 enum EADDRNOTAVAIL = 126; /// 682 enum ENETDOWN = 127; /// 683 enum ENETUNREACH = 128; /// 684 enum ENETRESET = 129; /// 685 enum ECONNABORTED = 130; /// 686 enum ECONNRESET = 131; /// 687 enum ENOBUFS = 132; /// 688 enum EISCONN = 133; /// 689 enum ENOTCONN = 134; /// 690 enum EUCLEAN = 135; /// 691 enum ENOTNAM = 137; /// 692 enum ENAVAIL = 138; /// 693 enum EISNAM = 139; /// 694 enum EREMOTEIO = 140; /// 695 enum EINIT = 141; /// 696 enum EREMDEV = 142; /// 697 enum ESHUTDOWN = 143; /// 698 enum ETOOMANYREFS = 144; /// 699 enum ETIMEDOUT = 145; /// 700 enum ECONNREFUSED = 146; /// 701 enum EHOSTDOWN = 147; /// 702 enum EHOSTUNREACH = 148; /// 703 enum EWOULDBLOCK = EAGAIN; /// 704 enum EALREADY = 149; /// 705 enum EINPROGRESS = 150; /// 706 enum ESTALE = 151; /// 707 enum ECANCELED = 158; /// 708 enum ENOMEDIUM = 159; /// 709 enum EMEDIUMTYPE = 160; /// 710 enum ENOKEY = 161; /// 711 enum EKEYEXPIRED = 162; /// 712 enum EKEYREVOKED = 163; /// 713 enum EKEYREJECTED = 164; /// 714 enum EOWNERDEAD = 165; /// 715 enum ENOTRECOVERABLE = 166; /// 716 enum ERFKILL = 167; /// 717 enum EHWPOISON = 168; /// 718 enum EDQUOT = 1133; /// 719 } 720 else version (PPC_Any) 721 { 722 enum EDEADLK = 35; /// 723 enum ENAMETOOLONG = 36; /// 724 enum ENOLCK = 37; /// 725 enum ENOSYS = 38; /// 726 enum ENOTEMPTY = 39; /// 727 enum ELOOP = 40; /// 728 enum EWOULDBLOCK = EAGAIN; /// 729 enum ENOMSG = 42; /// 730 enum EIDRM = 43; /// 731 enum ECHRNG = 44; /// 732 enum EL2NSYNC = 45; /// 733 enum EL3HLT = 46; /// 734 enum EL3RST = 47; /// 735 enum ELNRNG = 48; /// 736 enum EUNATCH = 49; /// 737 enum ENOCSI = 50; /// 738 enum EL2HLT = 51; /// 739 enum EBADE = 52; /// 740 enum EBADR = 53; /// 741 enum EXFULL = 54; /// 742 enum ENOANO = 55; /// 743 enum EBADRQC = 56; /// 744 enum EBADSLT = 57; /// 745 enum EDEADLOCK = 58; /// 746 enum EBFONT = 59; /// 747 enum ENOSTR = 60; /// 748 enum ENODATA = 61; /// 749 enum ETIME = 62; /// 750 enum ENOSR = 63; /// 751 enum ENONET = 64; /// 752 enum ENOPKG = 65; /// 753 enum EREMOTE = 66; /// 754 enum ENOLINK = 67; /// 755 enum EADV = 68; /// 756 enum ESRMNT = 69; /// 757 enum ECOMM = 70; /// 758 enum EPROTO = 71; /// 759 enum EMULTIHOP = 72; /// 760 enum EDOTDOT = 73; /// 761 enum EBADMSG = 74; /// 762 enum EOVERFLOW = 75; /// 763 enum ENOTUNIQ = 76; /// 764 enum EBADFD = 77; /// 765 enum EREMCHG = 78; /// 766 enum ELIBACC = 79; /// 767 enum ELIBBAD = 80; /// 768 enum ELIBSCN = 81; /// 769 enum ELIBMAX = 82; /// 770 enum ELIBEXEC = 83; /// 771 enum EILSEQ = 84; /// 772 enum ERESTART = 85; /// 773 enum ESTRPIPE = 86; /// 774 enum EUSERS = 87; /// 775 enum ENOTSOCK = 88; /// 776 enum EDESTADDRREQ = 89; /// 777 enum EMSGSIZE = 90; /// 778 enum EPROTOTYPE = 91; /// 779 enum ENOPROTOOPT = 92; /// 780 enum EPROTONOSUPPORT = 93; /// 781 enum ESOCKTNOSUPPORT = 94; /// 782 enum EOPNOTSUPP = 95; /// 783 enum ENOTSUP = EOPNOTSUPP; /// 784 enum EPFNOSUPPORT = 96; /// 785 enum EAFNOSUPPORT = 97; /// 786 enum EADDRINUSE = 98; /// 787 enum EADDRNOTAVAIL = 99; /// 788 enum ENETDOWN = 100; /// 789 enum ENETUNREACH = 101; /// 790 enum ENETRESET = 102; /// 791 enum ECONNABORTED = 103; /// 792 enum ECONNRESET = 104; /// 793 enum ENOBUFS = 105; /// 794 enum EISCONN = 106; /// 795 enum ENOTCONN = 107; /// 796 enum ESHUTDOWN = 108; /// 797 enum ETOOMANYREFS = 109; /// 798 enum ETIMEDOUT = 110; /// 799 enum ECONNREFUSED = 111; /// 800 enum EHOSTDOWN = 112; /// 801 enum EHOSTUNREACH = 113; /// 802 enum EALREADY = 114; /// 803 enum EINPROGRESS = 115; /// 804 enum ESTALE = 116; /// 805 enum EUCLEAN = 117; /// 806 enum ENOTNAM = 118; /// 807 enum ENAVAIL = 119; /// 808 enum EISNAM = 120; /// 809 enum EREMOTEIO = 121; /// 810 enum EDQUOT = 122; /// 811 enum ENOMEDIUM = 123; /// 812 enum EMEDIUMTYPE = 124; /// 813 enum ECANCELED = 125; /// 814 enum ENOKEY = 126; /// 815 enum EKEYEXPIRED = 127; /// 816 enum EKEYREVOKED = 128; /// 817 enum EKEYREJECTED = 129; /// 818 enum EOWNERDEAD = 130; /// 819 enum ENOTRECOVERABLE = 131; /// 820 enum ERFKILL = 132; /// 821 enum EHWPOISON = 133; /// 822 } 823 else version (RISCV_Any) 824 { 825 enum EDEADLK = 35; /// 826 enum ENAMETOOLONG = 36; /// 827 enum ENOLCK = 37; /// 828 enum ENOSYS = 38; /// 829 enum ENOTEMPTY = 39; /// 830 enum ELOOP = 40; /// 831 enum EWOULDBLOCK = EAGAIN; /// 832 enum ENOMSG = 42; /// 833 enum EIDRM = 43; /// 834 enum ECHRNG = 44; /// 835 enum EL2NSYNC = 45; /// 836 enum EL3HLT = 46; /// 837 enum EL3RST = 47; /// 838 enum ELNRNG = 48; /// 839 enum EUNATCH = 49; /// 840 enum ENOCSI = 50; /// 841 enum EL2HLT = 51; /// 842 enum EBADE = 52; /// 843 enum EBADR = 53; /// 844 enum EXFULL = 54; /// 845 enum ENOANO = 55; /// 846 enum EBADRQC = 56; /// 847 enum EBADSLT = 57; /// 848 enum EDEADLOCK = EDEADLK; /// 849 enum EBFONT = 59; /// 850 enum ENOSTR = 60; /// 851 enum ENODATA = 61; /// 852 enum ETIME = 62; /// 853 enum ENOSR = 63; /// 854 enum ENONET = 64; /// 855 enum ENOPKG = 65; /// 856 enum EREMOTE = 66; /// 857 enum ENOLINK = 67; /// 858 enum EADV = 68; /// 859 enum ESRMNT = 69; /// 860 enum ECOMM = 70; /// 861 enum EPROTO = 71; /// 862 enum EMULTIHOP = 72; /// 863 enum EDOTDOT = 73; /// 864 enum EBADMSG = 74; /// 865 enum EOVERFLOW = 75; /// 866 enum ENOTUNIQ = 76; /// 867 enum EBADFD = 77; /// 868 enum EREMCHG = 78; /// 869 enum ELIBACC = 79; /// 870 enum ELIBBAD = 80; /// 871 enum ELIBSCN = 81; /// 872 enum ELIBMAX = 82; /// 873 enum ELIBEXEC = 83; /// 874 enum EILSEQ = 84; /// 875 enum ERESTART = 85; /// 876 enum ESTRPIPE = 86; /// 877 enum EUSERS = 87; /// 878 enum ENOTSOCK = 88; /// 879 enum EDESTADDRREQ = 89; /// 880 enum EMSGSIZE = 90; /// 881 enum EPROTOTYPE = 91; /// 882 enum ENOPROTOOPT = 92; /// 883 enum EPROTONOSUPPORT = 93; /// 884 enum ESOCKTNOSUPPORT = 94; /// 885 enum EOPNOTSUPP = 95; /// 886 enum EPFNOSUPPORT = 96; /// 887 enum EAFNOSUPPORT = 97; /// 888 enum EADDRINUSE = 98; /// 889 enum EADDRNOTAVAIL = 99; /// 890 enum ENETDOWN = 100; /// 891 enum ENETUNREACH = 101; /// 892 enum ENETRESET = 102; /// 893 enum ECONNABORTED = 103; /// 894 enum ECONNRESET = 104; /// 895 enum ENOBUFS = 105; /// 896 enum EISCONN = 106; /// 897 enum ENOTCONN = 107; /// 898 enum ESHUTDOWN = 108; /// 899 enum ETOOMANYREFS = 109; /// 900 enum ETIMEDOUT = 110; /// 901 enum ECONNREFUSED = 111; /// 902 enum EHOSTDOWN = 112; /// 903 enum EHOSTUNREACH = 113; /// 904 enum EALREADY = 114; /// 905 enum EINPROGRESS = 115; /// 906 enum ESTALE = 116; /// 907 enum EUCLEAN = 117; /// 908 enum ENOTNAM = 118; /// 909 enum ENAVAIL = 119; /// 910 enum EISNAM = 120; /// 911 enum EREMOTEIO = 121; /// 912 enum EDQUOT = 122; /// 913 enum ENOMEDIUM = 123; /// 914 enum EMEDIUMTYPE = 124; /// 915 enum ECANCELED = 125; /// 916 enum ENOKEY = 126; /// 917 enum EKEYEXPIRED = 127; /// 918 enum EKEYREVOKED = 128; /// 919 enum EKEYREJECTED = 129; /// 920 enum EOWNERDEAD = 130; /// 921 enum ENOTRECOVERABLE = 131; /// 922 enum ERFKILL = 132; /// 923 enum EHWPOISON = 133; /// 924 } 925 else version (SPARC_Any) 926 { 927 enum EWOULDBLOCK = EAGAIN; /// 928 enum EINPROGRESS = 36; /// 929 enum EALREADY = 37; /// 930 enum ENOTSOCK = 38; /// 931 enum EDESTADDRREQ = 39; /// 932 enum EMSGSIZE = 40; /// 933 enum EPROTOTYPE = 41; /// 934 enum ENOPROTOOPT = 42; /// 935 enum EPROTONOSUPPORT = 43; /// 936 enum ESOCKTNOSUPPORT = 44; /// 937 enum EOPNOTSUPP = 45; /// 938 enum ENOTSUP = EOPNOTSUPP; /// 939 enum EPFNOSUPPORT = 46; /// 940 enum EAFNOSUPPORT = 47; /// 941 enum EADDRINUSE = 48; /// 942 enum EADDRNOTAVAIL = 49; /// 943 enum ENETDOWN = 50; /// 944 enum ENETUNREACH = 51; /// 945 enum ENETRESET = 52; /// 946 enum ECONNABORTED = 53; /// 947 enum ECONNRESET = 54; /// 948 enum ENOBUFS = 55; /// 949 enum EISCONN = 56; /// 950 enum ENOTCONN = 57; /// 951 enum ESHUTDOWN = 58; /// 952 enum ETOOMANYREFS = 59; /// 953 enum ETIMEDOUT = 60; /// 954 enum ECONNREFUSED = 61; /// 955 enum ELOOP = 62; /// 956 enum ENAMETOOLONG = 63; /// 957 enum EHOSTDOWN = 64; /// 958 enum EHOSTUNREACH = 65; /// 959 enum ENOTEMPTY = 66; /// 960 enum EPROCLIM = 67; /// 961 enum EUSERS = 68; /// 962 enum EDQUOT = 69; /// 963 enum ESTALE = 70; /// 964 enum EREMOTE = 71; /// 965 enum ENOSTR = 72; /// 966 enum ETIME = 73; /// 967 enum ENOSR = 74; /// 968 enum ENOMSG = 75; /// 969 enum EBADMSG = 76; /// 970 enum EIDRM = 77; /// 971 enum EDEADLK = 78; /// 972 enum ENOLCK = 79; /// 973 enum ENONET = 80; /// 974 enum ERREMOTE = 81; /// 975 enum ENOLINK = 82; /// 976 enum EADV = 83; /// 977 enum ESRMNT = 84; /// 978 enum ECOMM = 85; /// 979 enum EPROTO = 86; /// 980 enum EMULTIHOP = 87; /// 981 enum EDOTDOT = 88; /// 982 enum EREMCHG = 89; /// 983 enum ENOSYS = 90; /// 984 enum ESTRPIPE = 91; /// 985 enum EOVERFLOW = 92; /// 986 enum EBADFD = 93; /// 987 enum ECHRNG = 94; /// 988 enum EL2NSYNC = 95; /// 989 enum EL3HLT = 96; /// 990 enum EL3RST = 97; /// 991 enum ELNRNG = 98; /// 992 enum EUNATCH = 99; /// 993 enum ENOCSI = 100; /// 994 enum EL2HLT = 101; /// 995 enum EBADE = 102; /// 996 enum EBADR = 103; /// 997 enum EXFULL = 104; /// 998 enum ENOANO = 105; /// 999 enum EBADRQC = 106; /// 1000 enum EBADSLT = 107; /// 1001 enum EDEADLOCK = 108; /// 1002 enum EBFONT = 109; /// 1003 enum ELIBEXEC = 110; /// 1004 enum ENODATA = 111; /// 1005 enum ELIBBAD = 112; /// 1006 enum ENOPKG = 113; /// 1007 enum ELIBACC = 114; /// 1008 enum ENOTUNIQ = 115; /// 1009 enum ERESTART = 116; /// 1010 enum EUCLEAN = 117; /// 1011 enum ENOTNAM = 118; /// 1012 enum ENAVAIL = 119; /// 1013 enum EISNAM = 120; /// 1014 enum EREMOTEIO = 121; /// 1015 enum EILSEQ = 122; /// 1016 enum ELIBMAX = 123; /// 1017 enum ELIBSCN = 124; /// 1018 enum ENOMEDIUM = 125; /// 1019 enum EMEDIUMTYPE = 126; /// 1020 enum ECANCELED = 127; /// 1021 enum ENOKEY = 128; /// 1022 enum EKEYEXPIRED = 129; /// 1023 enum EKEYREVOKED = 130; /// 1024 enum EKEYREJECTED = 131; /// 1025 enum EOWNERDEAD = 132; /// 1026 enum ENOTRECOVERABLE = 133; /// 1027 enum ERFKILL = 134; /// 1028 enum EHWPOISON = 135; /// 1029 } 1030 else version (IBMZ_Any) 1031 { 1032 enum EDEADLK = 35; /// 1033 enum ENAMETOOLONG = 36; /// 1034 enum ENOLCK = 37; /// 1035 enum ENOSYS = 38; /// 1036 enum ENOTEMPTY = 39; /// 1037 enum ELOOP = 40; /// 1038 enum EWOULDBLOCK = EAGAIN; /// 1039 enum ENOMSG = 42; /// 1040 enum EIDRM = 43; /// 1041 enum ECHRNG = 44; /// 1042 enum EL2NSYNC = 45; /// 1043 enum EL3HLT = 46; /// 1044 enum EL3RST = 47; /// 1045 enum ELNRNG = 48; /// 1046 enum EUNATCH = 49; /// 1047 enum ENOCSI = 50; /// 1048 enum EL2HLT = 51; /// 1049 enum EBADE = 52; /// 1050 enum EBADR = 53; /// 1051 enum EXFULL = 54; /// 1052 enum ENOANO = 55; /// 1053 enum EBADRQC = 56; /// 1054 enum EBADSLT = 57; /// 1055 enum EDEADLOCK = EDEADLK; /// 1056 enum EBFONT = 59; /// 1057 enum ENOSTR = 60; /// 1058 enum ENODATA = 61; /// 1059 enum ETIME = 62; /// 1060 enum ENOSR = 63; /// 1061 enum ENONET = 64; /// 1062 enum ENOPKG = 65; /// 1063 enum EREMOTE = 66; /// 1064 enum ENOLINK = 67; /// 1065 enum EADV = 68; /// 1066 enum ESRMNT = 69; /// 1067 enum ECOMM = 70; /// 1068 enum EPROTO = 71; /// 1069 enum EMULTIHOP = 72; /// 1070 enum EDOTDOT = 73; /// 1071 enum EBADMSG = 74; /// 1072 enum EOVERFLOW = 75; /// 1073 enum ENOTUNIQ = 76; /// 1074 enum EBADFD = 77; /// 1075 enum EREMCHG = 78; /// 1076 enum ELIBACC = 79; /// 1077 enum ELIBBAD = 80; /// 1078 enum ELIBSCN = 81; /// 1079 enum ELIBMAX = 82; /// 1080 enum ELIBEXEC = 83; /// 1081 enum EILSEQ = 84; /// 1082 enum ERESTART = 85; /// 1083 enum ESTRPIPE = 86; /// 1084 enum EUSERS = 87; /// 1085 enum ENOTSOCK = 88; /// 1086 enum EDESTADDRREQ = 89; /// 1087 enum EMSGSIZE = 90; /// 1088 enum EPROTOTYPE = 91; /// 1089 enum ENOPROTOOPT = 92; /// 1090 enum EPROTONOSUPPORT = 93; /// 1091 enum ESOCKTNOSUPPORT = 94; /// 1092 enum EOPNOTSUPP = 95; /// 1093 enum ENOTSUP = EOPNOTSUPP; /// 1094 enum EPFNOSUPPORT = 96; /// 1095 enum EAFNOSUPPORT = 97; /// 1096 enum EADDRINUSE = 98; /// 1097 enum EADDRNOTAVAIL = 99; /// 1098 enum ENETDOWN = 100; /// 1099 enum ENETUNREACH = 101; /// 1100 enum ENETRESET = 102; /// 1101 enum ECONNABORTED = 103; /// 1102 enum ECONNRESET = 104; /// 1103 enum ENOBUFS = 105; /// 1104 enum EISCONN = 106; /// 1105 enum ENOTCONN = 107; /// 1106 enum ESHUTDOWN = 108; /// 1107 enum ETOOMANYREFS = 109; /// 1108 enum ETIMEDOUT = 110; /// 1109 enum ECONNREFUSED = 111; /// 1110 enum EHOSTDOWN = 112; /// 1111 enum EHOSTUNREACH = 113; /// 1112 enum EALREADY = 114; /// 1113 enum EINPROGRESS = 115; /// 1114 enum ESTALE = 116; /// 1115 enum EUCLEAN = 117; /// 1116 enum ENOTNAM = 118; /// 1117 enum ENAVAIL = 119; /// 1118 enum EISNAM = 120; /// 1119 enum EREMOTEIO = 121; /// 1120 enum EDQUOT = 122; /// 1121 enum ENOMEDIUM = 123; /// 1122 enum EMEDIUMTYPE = 124; /// 1123 enum ECANCELED = 125; /// 1124 enum ENOKEY = 126; /// 1125 enum EKEYEXPIRED = 127; /// 1126 enum EKEYREVOKED = 128; /// 1127 enum EKEYREJECTED = 129; /// 1128 enum EOWNERDEAD = 130; /// 1129 enum ENOTRECOVERABLE = 131; /// 1130 enum ERFKILL = 132; /// 1131 enum EHWPOISON = 133; /// 1132 } 1133 else version (LoongArch64) 1134 { 1135 enum EDEADLK = 35; /// 1136 enum ENAMETOOLONG = 36; /// 1137 enum ENOLCK = 37; /// 1138 enum ENOSYS = 38; /// 1139 enum ENOTEMPTY = 39; /// 1140 enum ELOOP = 40; /// 1141 enum EWOULDBLOCK = EAGAIN; /// 1142 enum ENOMSG = 42; /// 1143 enum EIDRM = 43; /// 1144 enum ECHRNG = 44; /// 1145 enum EL2NSYNC = 45; /// 1146 enum EL3HLT = 46; /// 1147 enum EL3RST = 47; /// 1148 enum ELNRNG = 48; /// 1149 enum EUNATCH = 49; /// 1150 enum ENOCSI = 50; /// 1151 enum EL2HLT = 51; /// 1152 enum EBADE = 52; /// 1153 enum EBADR = 53; /// 1154 enum EXFULL = 54; /// 1155 enum ENOANO = 55; /// 1156 enum EBADRQC = 56; /// 1157 enum EBADSLT = 57; /// 1158 enum EDEADLOCK = EDEADLK; /// 1159 enum EBFONT = 59; /// 1160 enum ENOSTR = 60; /// 1161 enum ENODATA = 61; /// 1162 enum ETIME = 62; /// 1163 enum ENOSR = 63; /// 1164 enum ENONET = 64; /// 1165 enum ENOPKG = 65; /// 1166 enum EREMOTE = 66; /// 1167 enum ENOLINK = 67; /// 1168 enum EADV = 68; /// 1169 enum ESRMNT = 69; /// 1170 enum ECOMM = 70; /// 1171 enum EPROTO = 71; /// 1172 enum EMULTIHOP = 72; /// 1173 enum EDOTDOT = 73; /// 1174 enum EBADMSG = 74; /// 1175 enum EOVERFLOW = 75; /// 1176 enum ENOTUNIQ = 76; /// 1177 enum EBADFD = 77; /// 1178 enum EREMCHG = 78; /// 1179 enum ELIBACC = 79; /// 1180 enum ELIBBAD = 80; /// 1181 enum ELIBSCN = 81; /// 1182 enum ELIBMAX = 82; /// 1183 enum ELIBEXEC = 83; /// 1184 enum EILSEQ = 84; /// 1185 enum ERESTART = 85; /// 1186 enum ESTRPIPE = 86; /// 1187 enum EUSERS = 87; /// 1188 enum ENOTSOCK = 88; /// 1189 enum EDESTADDRREQ = 89; /// 1190 enum EMSGSIZE = 90; /// 1191 enum EPROTOTYPE = 91; /// 1192 enum ENOPROTOOPT = 92; /// 1193 enum EPROTONOSUPPORT = 93; /// 1194 enum ESOCKTNOSUPPORT = 94; /// 1195 enum EOPNOTSUPP = 95; /// 1196 enum ENOTSUP = EOPNOTSUPP; /// 1197 enum EPFNOSUPPORT = 96; /// 1198 enum EAFNOSUPPORT = 97; /// 1199 enum EADDRINUSE = 98; /// 1200 enum EADDRNOTAVAIL = 99; /// 1201 enum ENETDOWN = 100; /// 1202 enum ENETUNREACH = 101; /// 1203 enum ENETRESET = 102; /// 1204 enum ECONNABORTED = 103; /// 1205 enum ECONNRESET = 104; /// 1206 enum ENOBUFS = 105; /// 1207 enum EISCONN = 106; /// 1208 enum ENOTCONN = 107; /// 1209 enum ESHUTDOWN = 108; /// 1210 enum ETOOMANYREFS = 109; /// 1211 enum ETIMEDOUT = 110; /// 1212 enum ECONNREFUSED = 111; /// 1213 enum EHOSTDOWN = 112; /// 1214 enum EHOSTUNREACH = 113; /// 1215 enum EALREADY = 114; /// 1216 enum EINPROGRESS = 115; /// 1217 enum ESTALE = 116; /// 1218 enum EUCLEAN = 117; /// 1219 enum ENOTNAM = 118; /// 1220 enum ENAVAIL = 119; /// 1221 enum EISNAM = 120; /// 1222 enum EREMOTEIO = 121; /// 1223 enum EDQUOT = 122; /// 1224 enum ENOMEDIUM = 123; /// 1225 enum EMEDIUMTYPE = 124; /// 1226 enum ECANCELED = 125; /// 1227 enum ENOKEY = 126; /// 1228 enum EKEYEXPIRED = 127; /// 1229 enum EKEYREVOKED = 128; /// 1230 enum EKEYREJECTED = 129; /// 1231 enum EOWNERDEAD = 130; /// 1232 enum ENOTRECOVERABLE = 131; /// 1233 enum ERFKILL = 132; /// 1234 enum EHWPOISON = 133; /// 1235 } 1236 else 1237 { 1238 static assert(false, "Architecture not supported."); 1239 } 1240 } 1241 else version (Darwin) 1242 { 1243 enum EPERM = 1; /// Operation not permitted 1244 enum ENOENT = 2; /// No such file or directory 1245 enum ESRCH = 3; /// No such process 1246 enum EINTR = 4; /// Interrupted system call 1247 enum EIO = 5; /// Input/output error 1248 enum ENXIO = 6; /// Device not configured 1249 enum E2BIG = 7; /// Argument list too long 1250 enum ENOEXEC = 8; /// Exec format error 1251 enum EBADF = 9; /// Bad file descriptor 1252 enum ECHILD = 10; /// No child processes 1253 enum EDEADLK = 11; /// Resource deadlock avoided 1254 enum ENOMEM = 12; /// Cannot allocate memory 1255 enum EACCES = 13; /// Permission denied 1256 enum EFAULT = 14; /// Bad address 1257 enum EBUSY = 16; /// Device busy 1258 enum EEXIST = 17; /// File exists 1259 enum EXDEV = 18; /// Cross-device link 1260 enum ENODEV = 19; /// Operation not supported by device 1261 enum ENOTDIR = 20; /// Not a directory 1262 enum EISDIR = 21; /// Is a directory 1263 enum EINVAL = 22; /// Invalid argument 1264 enum ENFILE = 23; /// Too many open files in system 1265 enum EMFILE = 24; /// Too many open files 1266 enum ENOTTY = 25; /// Inappropriate ioctl for device 1267 enum ETXTBSY = 26; /// Text file busy 1268 enum EFBIG = 27; /// File too large 1269 enum ENOSPC = 28; /// No space left on device 1270 enum ESPIPE = 29; /// Illegal seek 1271 enum EROFS = 30; /// Read-only file system 1272 enum EMLINK = 31; /// Too many links 1273 enum EPIPE = 32; /// Broken pipe 1274 enum EDOM = 33; /// Numerical argument out of domain 1275 enum ERANGE = 34; /// Result too large 1276 enum EAGAIN = 35; /// Resource temporarily unavailable 1277 enum EWOULDBLOCK = EAGAIN; /// Operation would block 1278 enum EINPROGRESS = 36; /// Operation now in progress 1279 enum EALREADY = 37; /// Operation already in progress 1280 enum ENOTSOCK = 38; /// Socket operation on non-socket 1281 enum EDESTADDRREQ = 39; /// Destination address required 1282 enum EMSGSIZE = 40; /// Message too long 1283 enum EPROTOTYPE = 41; /// Protocol wrong type for socket 1284 enum ENOPROTOOPT = 42; /// Protocol not available 1285 enum EPROTONOSUPPORT = 43; /// Protocol not supported 1286 enum ENOTSUP = 45; /// Operation not supported 1287 enum EOPNOTSUPP = ENOTSUP; /// Operation not supported on socket 1288 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family 1289 enum EADDRINUSE = 48; /// Address already in use 1290 enum EADDRNOTAVAIL = 49; /// Can't assign requested address 1291 enum ENETDOWN = 50; /// Network is down 1292 enum ENETUNREACH = 51; /// Network is unreachable 1293 enum ENETRESET = 52; /// Network dropped connection on reset 1294 enum ECONNABORTED = 53; /// Software caused connection abort 1295 enum ECONNRESET = 54; /// Connection reset by peer 1296 enum ENOBUFS = 55; /// No buffer space available 1297 enum EISCONN = 56; /// Socket is already connected 1298 enum ENOTCONN = 57; /// Socket is not connected 1299 enum ETIMEDOUT = 60; /// Operation timed out 1300 enum ECONNREFUSED = 61; /// Connection refused 1301 enum ELOOP = 62; /// Too many levels of symbolic links 1302 enum ENAMETOOLONG = 63; /// File name too long 1303 enum EHOSTUNREACH = 65; /// No route to host 1304 enum ENOTEMPTY = 66; /// Directory not empty 1305 enum EDQUOT = 69; /// Disc quota exceeded 1306 enum ESTALE = 70; /// Stale NFS file handle 1307 enum ENOLCK = 77; /// No locks available 1308 enum ENOSYS = 78; /// Function not implemented 1309 enum EOVERFLOW = 84; /// Value too large to be stored in data type 1310 enum ECANCELED = 89; /// Operation canceled 1311 enum EIDRM = 90; /// Identifier removed 1312 enum ENOMSG = 91; /// No message of desired type 1313 enum EILSEQ = 92; /// Illegal byte sequence 1314 enum EBADMSG = 94; /// Bad message 1315 enum EMULTIHOP = 95; /// Reserved 1316 enum ENODATA = 96; /// No message available on STREAM 1317 enum ENOLINK = 97; /// Reserved 1318 enum ENOSR = 98; /// No STREAM resources 1319 enum ENOSTR = 99; /// Not a STREAM 1320 enum EPROTO = 100; /// Protocol error 1321 enum ETIME = 101; /// STREAM ioctl timeout 1322 enum ELAST = 101; /// Must be equal largest errno 1323 } 1324 else version (FreeBSD) 1325 { 1326 enum EPERM = 1; /// Operation not permitted 1327 enum ENOENT = 2; /// No such file or directory 1328 enum ESRCH = 3; /// No such process 1329 enum EINTR = 4; /// Interrupted system call 1330 enum EIO = 5; /// Input/output error 1331 enum ENXIO = 6; /// Device not configured 1332 enum E2BIG = 7; /// Argument list too long 1333 enum ENOEXEC = 8; /// Exec format error 1334 enum EBADF = 9; /// Bad file descriptor 1335 enum ECHILD = 10; /// No child processes 1336 enum EDEADLK = 11; /// Resource deadlock avoided 1337 enum ENOMEM = 12; /// Cannot allocate memory 1338 enum EACCES = 13; /// Permission denied 1339 enum EFAULT = 14; /// Bad address 1340 enum ENOTBLK = 15; /// Block device required 1341 enum EBUSY = 16; /// Device busy 1342 enum EEXIST = 17; /// File exists 1343 enum EXDEV = 18; /// Cross-device link 1344 enum ENODEV = 19; /// Operation not supported by device 1345 enum ENOTDIR = 20; /// Not a directory 1346 enum EISDIR = 21; /// Is a directory 1347 enum EINVAL = 22; /// Invalid argument 1348 enum ENFILE = 23; /// Too many open files in system 1349 enum EMFILE = 24; /// Too many open files 1350 enum ENOTTY = 25; /// Inappropriate ioctl for device 1351 enum ETXTBSY = 26; /// Text file busy 1352 enum EFBIG = 27; /// File too large 1353 enum ENOSPC = 28; /// No space left on device 1354 enum ESPIPE = 29; /// Illegal seek 1355 enum EROFS = 30; /// Read-only file system 1356 enum EMLINK = 31; /// Too many links 1357 enum EPIPE = 32; /// Broken pipe 1358 enum EDOM = 33; /// Numerical argument out of domain 1359 enum ERANGE = 34; /// Result too large 1360 enum EAGAIN = 35; /// Resource temporarily unavailable 1361 enum EWOULDBLOCK = EAGAIN; /// Operation would block 1362 enum EINPROGRESS = 36; /// Operation now in progress 1363 enum EALREADY = 37; /// Operation already in progress 1364 enum ENOTSOCK = 38; /// Socket operation on non-socket 1365 enum EDESTADDRREQ = 39; /// Destination address required 1366 enum EMSGSIZE = 40; /// Message too long 1367 enum EPROTOTYPE = 41; /// Protocol wrong type for socket 1368 enum ENOPROTOOPT = 42; /// Protocol not available 1369 enum EPROTONOSUPPORT = 43; /// Protocol not supported 1370 enum ENOTSUP = 45; /// Operation not supported 1371 enum EOPNOTSUPP = ENOTSUP; /// Operation not supported on socket 1372 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family 1373 enum EADDRINUSE = 48; /// Address already in use 1374 enum EADDRNOTAVAIL = 49; /// Can't assign requested address 1375 enum ENETDOWN = 50; /// Network is down 1376 enum ENETUNREACH = 51; /// Network is unreachable 1377 enum ENETRESET = 52; /// Network dropped connection on reset 1378 enum ECONNABORTED = 53; /// Software caused connection abort 1379 enum ECONNRESET = 54; /// Connection reset by peer 1380 enum ENOBUFS = 55; /// No buffer space available 1381 enum EISCONN = 56; /// Socket is already connected 1382 enum ENOTCONN = 57; /// Socket is not connected 1383 enum ESHUTDOWN = 58; /// Can't send after socket shutdown 1384 enum ETOOMANYREFS = 59; /// Too many refrences; can't splice 1385 enum ETIMEDOUT = 60; /// Operation timed out 1386 enum ECONNREFUSED = 61; /// Connection refused 1387 enum ELOOP = 62; /// Too many levels of symbolic links 1388 enum ENAMETOOLONG = 63; /// File name too long 1389 enum EHOSTUNREACH = 65; /// No route to host 1390 enum ENOTEMPTY = 66; /// Directory not empty 1391 enum EPROCLIM = 67; /// Too many processes 1392 enum EUSERS = 68; /// Too many users 1393 enum EDQUOT = 69; /// Disc quota exceeded 1394 enum ESTALE = 70; /// Stale NFS file handle 1395 enum EREMOTE = 71; /// Too many levels of remote in path 1396 enum EBADRPC = 72; /// RPC struct is bad 1397 enum ERPCMISMATCH = 73; /// RPC version wrong 1398 enum EPROGUNAVAIL = 74; /// RPC prog. not avail 1399 enum EPROGMISMATCH = 75; /// Program version wrong 1400 enum EPROCUNAVAIL = 76; /// Bad procedure for program 1401 enum ENOLCK = 77; /// No locks available 1402 enum ENOSYS = 78; /// Function not implemented 1403 enum EFTYPE = 79; /// Inappropriate file type or format 1404 enum EAUTH = 80; /// Authentication error 1405 enum ENEEDAUTH = 81; /// Need authenticator 1406 enum EIDRM = 82; /// Itendifier removed 1407 enum ENOMSG = 83; /// No message of desired type 1408 enum EOVERFLOW = 84; /// Value too large to be stored in data type 1409 enum ECANCELED = 85; /// Operation canceled 1410 enum EILSEQ = 86; /// Illegal byte sequence 1411 enum ENOATTR = 87; /// Attribute not found 1412 enum EDOOFUS = 88; /// Programming error 1413 enum EBADMSG = 89; /// Bad message 1414 enum EMULTIHOP = 90; /// Multihop attempted 1415 enum ENOLINK = 91; /// Link has been severed 1416 enum EPROTO = 92; /// Protocol error 1417 enum ELAST = 92; /// Must be equal largest errno 1418 } 1419 else version (NetBSD) 1420 { 1421 // http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/sys/errno.h 1422 enum EPERM = 1; 1423 enum ENOENT = 2; 1424 enum ESRCH = 3; 1425 enum EINTR = 4; 1426 enum EIO = 5; 1427 enum ENXIO = 6; 1428 enum E2BIG = 7; 1429 enum ENOEXEC = 8; 1430 enum EBADF = 9; 1431 enum ECHILD = 10; 1432 enum EDEADLK = 11; 1433 /// 1434 enum ENOMEM = 12; 1435 enum EACCES = 13; 1436 enum EFAULT = 14; 1437 enum ENOTBLK = 15; 1438 enum EBUSY = 16; 1439 enum EEXIST = 17; 1440 enum EXDEV = 18; 1441 enum ENODEV = 19; 1442 enum ENOTDIR = 20; 1443 enum EISDIR = 21; 1444 enum EINVAL = 22; 1445 enum ENFILE = 23; 1446 enum EMFILE = 24; 1447 enum ENOTTY = 25; 1448 enum ETXTBSY = 26; 1449 enum EFBIG = 27; 1450 enum ENOSPC = 28; 1451 enum ESPIPE = 29; 1452 enum EROFS = 30; 1453 enum EMLINK = 31; 1454 enum EPIPE = 32; 1455 /// 1456 enum EDOM = 33; 1457 enum ERANGE = 34; 1458 1459 /// 1460 enum EAGAIN = 35; 1461 enum EWOULDBLOCK = EAGAIN; 1462 enum EINPROGRESS = 36; 1463 enum EALREADY = 37; 1464 1465 /// 1466 enum ENOTSOCK = 38; 1467 enum EDESTADDRREQ = 39; 1468 enum EMSGSIZE = 40; 1469 enum EPROTOTYPE = 41; 1470 enum ENOPROTOOPT = 42; 1471 enum EPROTONOSUPPORT = 43; 1472 enum ESOCKTNOSUPPORT = 44; 1473 enum EOPNOTSUPP = 45; 1474 enum EPFNOSUPPORT = 46; 1475 enum EAFNOSUPPORT = 47; 1476 enum EADDRINUSE = 48; 1477 enum EADDRNOTAVAIL = 49; 1478 1479 /// 1480 enum ENETDOWN = 50; 1481 enum ENETUNREACH = 51; 1482 enum ENETRESET = 52; 1483 enum ECONNABORTED = 53; 1484 enum ECONNRESET = 54; 1485 enum ENOBUFS = 55; 1486 enum EISCONN = 56; 1487 enum ENOTCONN = 57; 1488 enum ESHUTDOWN = 58; 1489 enum ETOOMANYREFS = 59; 1490 enum ETIMEDOUT = 60; 1491 enum ECONNREFUSED = 61; 1492 enum ELOOP = 62; 1493 enum ENAMETOOLONG = 63; 1494 1495 /// 1496 enum EHOSTDOWN = 64; 1497 enum EHOSTUNREACH = 65; 1498 enum ENOTEMPTY = 66; 1499 1500 /// 1501 enum EPROCLIM = 67; 1502 enum EUSERS = 68; 1503 enum EDQUOT = 69; 1504 1505 /// 1506 enum ESTALE = 70; 1507 enum EREMOTE = 71; 1508 enum EBADRPC = 72; 1509 enum ERPCMISMATCH = 73; 1510 enum EPROGUNAVAIL = 74; 1511 enum EPROGMISMATCH = 75; 1512 enum EPROCUNAVAIL = 76; 1513 1514 enum ENOLCK = 77; 1515 enum ENOSYS = 78; 1516 1517 enum EFTYPE = 79; 1518 enum EAUTH = 80; 1519 enum ENEEDAUTH = 81; 1520 1521 /// 1522 enum EIDRM = 82; 1523 enum ENOMSG = 83; 1524 enum EOVERFLOW = 84; 1525 /// 1526 enum EILSEQ = 85; 1527 1528 /// 1529 enum ENOTSUP = 86; 1530 1531 /// 1532 enum ECANCELED = 87; 1533 1534 /// 1535 enum EBADMSG = 88; 1536 1537 /// 1538 enum ENODATA = 89; 1539 enum ENOSR = 90; 1540 enum ENOSTR = 91; 1541 enum ETIME = 92; 1542 1543 /// 1544 enum ENOATTR = 93; 1545 1546 /// 1547 enum EMULTIHOP = 94; 1548 enum ENOLINK = 95; 1549 enum EPROTO = 96; 1550 } 1551 else version (OpenBSD) 1552 { 1553 enum EPERM = 1; /// Operation not permitted 1554 enum ENOENT = 2; /// No such file or directory 1555 enum ESRCH = 3; /// No such process 1556 enum EINTR = 4; /// Interrupted system call 1557 enum EIO = 5; /// Input/output error 1558 enum ENXIO = 6; /// Device not configured 1559 enum E2BIG = 7; /// Argument list too long 1560 enum ENOEXEC = 8; /// Exec format error 1561 enum EBADF = 9; /// Bad file descriptor 1562 enum ECHILD = 10; /// No child processes 1563 enum EDEADLK = 11; /// Resource deadlock avoided 1564 enum ENOMEM = 12; /// Cannot allocate memory 1565 enum EACCES = 13; /// Permission denied 1566 enum EFAULT = 14; /// Bad address 1567 enum ENOTBLK = 15; /// Block device required 1568 enum EBUSY = 16; /// Device busy 1569 enum EEXIST = 17; /// File exists 1570 enum EXDEV = 18; /// Cross-device link 1571 enum ENODEV = 19; /// Operation not supported by device 1572 enum ENOTDIR = 20; /// Not a directory 1573 enum EISDIR = 21; /// Is a directory 1574 enum EINVAL = 22; /// Invalid argument 1575 enum ENFILE = 23; /// Too many open files in system 1576 enum EMFILE = 24; /// Too many open files 1577 enum ENOTTY = 25; /// Inappropriate ioctl for device 1578 enum ETXTBSY = 26; /// Text file busy 1579 enum EFBIG = 27; /// File too large 1580 enum ENOSPC = 28; /// No space left on device 1581 enum ESPIPE = 29; /// Illegal seek 1582 enum EROFS = 30; /// Read-only file system 1583 enum EMLINK = 31; /// Too many links 1584 enum EPIPE = 32; /// Broken pipe 1585 enum EDOM = 33; /// Numerical argument out of domain 1586 enum ERANGE = 34; /// Result too large 1587 enum EAGAIN = 35; /// Resource temporarily unavailable 1588 enum EWOULDBLOCK = EAGAIN; /// Operation would block 1589 enum EINPROGRESS = 36; /// Operation now in progress 1590 enum EALREADY = 37; /// Operation already in progress 1591 enum ENOTSOCK = 38; /// Socket operation on non-socket 1592 enum EDESTADDRREQ = 39; /// Destination address required 1593 enum EMSGSIZE = 40; /// Message too long 1594 enum EPROTOTYPE = 41; /// Protocol wrong type for socket 1595 enum ENOPROTOOPT = 42; /// Protocol not available 1596 enum EPROTONOSUPPORT = 43; /// Protocol not supported 1597 enum ESOCKTNOSUPPORT = 44; /// Socket type not supported 1598 enum EOPNOTSUPP = 45; /// Operation not supported 1599 enum EPFNOSUPPORT = 46; /// Protocol family not supported 1600 enum EAFNOSUPPORT = 47; /// Address family not supported by protocol family 1601 enum EADDRINUSE = 48; /// Address already in use 1602 enum EADDRNOTAVAIL = 49; /// Can't assign requested address 1603 enum ENETDOWN = 50; /// Network is down 1604 enum ENETUNREACH = 51; /// Network is unreachable 1605 enum ENETRESET = 52; /// Network dropped connection on reset 1606 enum ECONNABORTED = 53; /// Software caused connection abort 1607 enum ECONNRESET = 54; /// Connection reset by peer 1608 enum ENOBUFS = 55; /// No buffer space available 1609 enum EISCONN = 56; /// Socket is already connected 1610 enum ENOTCONN = 57; /// Socket is not connected 1611 enum ESHUTDOWN = 58; /// Can't send after socket shutdown 1612 enum ETOOMANYREFS = 59; /// Too many references: can't splice 1613 enum ETIMEDOUT = 60; /// Operation timed out 1614 enum ECONNREFUSED = 61; /// Connection refused 1615 enum ELOOP = 62; /// Too many levels of symbolic links 1616 enum ENAMETOOLONG = 63; /// File name too long 1617 enum EHOSTDOWN = 64; /// Host is down 1618 enum EHOSTUNREACH = 65; /// No route to host 1619 enum ENOTEMPTY = 66; /// Directory not empty 1620 enum EPROCLIM = 67; /// Too many processes 1621 enum EUSERS = 68; /// Too many users 1622 enum EDQUOT = 69; /// Disk quota exceeded 1623 enum ESTALE = 70; /// Stale NFS file handle 1624 enum EREMOTE = 71; /// Too many levels of remote in path 1625 enum EBADRPC = 72; /// RPC struct is bad 1626 enum ERPCMISMATCH = 73; /// RPC version wrong 1627 enum EPROGUNAVAIL = 74; /// RPC program not available 1628 enum EPROGMISMATCH = 75; /// Program version wrong 1629 enum EPROCUNAVAIL = 76; /// Bad procedure for program 1630 enum ENOLCK = 77; /// No locks available 1631 enum ENOSYS = 78; /// Function not implemented 1632 enum EFTYPE = 79; /// Inappropriate file type or format 1633 enum EAUTH = 80; /// Authentication error 1634 enum ENEEDAUTH = 81; /// Need authenticator 1635 enum EIPSEC = 82; /// IPsec processing failure 1636 enum ENOATTR = 83; /// Attribute not found 1637 enum EILSEQ = 84; /// Illegal byte sequence 1638 enum ENOMEDIUM = 85; /// No medium found 1639 enum EMEDIUMTYPE = 86; /// Wrong medium type 1640 enum EOVERFLOW = 87; /// Value too large to be stored in data type 1641 enum ECANCELED = 88; /// Operation canceled 1642 enum EIDRM = 89; /// Identifier removed 1643 enum ENOMSG = 90; /// No message of desired type 1644 enum ENOTSUP = 91; /// Not supported 1645 enum EBADMSG = 92; /// Bad message 1646 enum ENOTRECOVERABLE = 93; /// State not recoverable 1647 enum EOWNERDEAD = 94; /// Previous owner died 1648 enum EPROTO = 95; /// Protocol error 1649 enum ELAST = 95; /// Must be equal largest errno 1650 } 1651 else version (DragonFlyBSD) 1652 { 1653 enum EPERM = 1; 1654 enum ENOENT = 2; 1655 enum ESRCH = 3; 1656 enum EINTR = 4; 1657 enum EIO = 5; 1658 enum ENXIO = 6; 1659 enum E2BIG = 7; 1660 enum ENOEXEC = 8; 1661 enum EBADF = 9; 1662 enum ECHILD = 10; 1663 enum EDEADLK = 11; 1664 enum ENOMEM = 12; 1665 enum EACCES = 13; 1666 enum EFAULT = 14; 1667 enum ENOTBLK = 15; 1668 enum EBUSY = 16; 1669 enum EEXIST = 17; 1670 enum EXDEV = 18; 1671 enum ENODEV = 19; 1672 enum ENOTDIR = 20; 1673 enum EISDIR = 21; 1674 enum EINVAL = 22; 1675 enum ENFILE = 23; 1676 enum EMFILE = 24; 1677 enum ENOTTY = 25; 1678 enum ETXTBSY = 26; 1679 enum EFBIG = 27; 1680 enum ENOSPC = 28; 1681 enum ESPIPE = 29; 1682 enum EROFS = 30; 1683 enum EMLINK = 31; 1684 enum EPIPE = 32; 1685 enum EDOM = 33; 1686 enum ERANGE = 34; 1687 enum EAGAIN = 35; 1688 enum EWOULDBLOCK = EAGAIN; 1689 enum EINPROGRESS = 36; 1690 enum EALREADY = 37; 1691 enum ENOTSOCK = 38; 1692 enum EDESTADDRREQ = 39; 1693 enum EMSGSIZE = 40; 1694 enum EPROTOTYPE = 41; 1695 enum ENOPROTOOPT = 42; 1696 enum EPROTONOSUPPORT = 43; 1697 enum ENOTSUP = 45; 1698 enum EOPNOTSUPP = ENOTSUP; 1699 enum EPFNOSUPPORT = 46; 1700 enum EAFNOSUPPORT = 47; 1701 enum EADDRINUSE = 48; 1702 enum EADDRNOTAVAIL = 49; 1703 enum ENETDOWN = 50; 1704 enum ENETUNREACH = 51; 1705 enum ENETRESET = 52; 1706 enum ECONNABORTED = 53; 1707 enum ECONNRESET = 54; 1708 enum ENOBUFS = 55; 1709 enum EISCONN = 56; 1710 enum ENOTCONN = 57; 1711 enum ESHUTDOWN = 58; 1712 enum ETOOMANYREFS = 59; 1713 enum ETIMEDOUT = 60; 1714 enum ECONNREFUSED = 61; 1715 enum ELOOP = 62; 1716 enum ENAMETOOLONG = 63; 1717 enum EHOSTUNREACH = 65; 1718 enum ENOTEMPTY = 66; 1719 enum EPROCLIM = 67; 1720 enum EUSERS = 68; 1721 enum EDQUOT = 69; 1722 enum ESTALE = 70; 1723 enum EREMOTE = 71; 1724 enum EBADRPC = 72; 1725 enum ERPCMISMATCH = 73; 1726 enum EPROGUNAVAIL = 74; 1727 enum EPROGMISMATCH = 75; 1728 enum EPROCUNAVAIL = 76; 1729 enum ENOLCK = 77; 1730 enum ENOSYS = 78; 1731 enum EFTYPE = 79; 1732 enum EAUTH = 80; 1733 enum ENEEDAUTH = 81; 1734 enum EIDRM = 82; 1735 enum ENOMSG = 83; 1736 enum EOVERFLOW = 84; 1737 enum ECANCELED = 85; 1738 enum EILSEQ = 86; 1739 enum ENOATTR = 87; 1740 enum EDOOFUS = 88; 1741 enum EBADMSG = 89; 1742 enum EMULTIHOP = 90; 1743 enum ENOLINK = 91; 1744 enum EPROTO = 92; 1745 enum ENOMEDIUM = 93; 1746 enum EUNUSED94 = 94; 1747 enum EUNUSED95 = 95; 1748 enum EUNUSED96 = 96; 1749 enum EUNUSED97 = 97; 1750 enum EUNUSED98 = 98; 1751 enum EASYNC = 99; 1752 enum ELAST = 99; 1753 } 1754 else version (Solaris) 1755 { 1756 enum EPERM = 1; /// Not super-user 1757 enum ENOENT = 2; /// No such file or directory 1758 enum ESRCH = 3; /// No such process 1759 enum EINTR = 4; /// interrupted system call 1760 enum EIO = 5; /// I/O error 1761 enum ENXIO = 6; /// No such device or address 1762 enum E2BIG = 7; /// Arg list too long 1763 enum ENOEXEC = 8; /// Exec format error 1764 enum EBADF = 9; /// Bad file number 1765 enum ECHILD = 10; /// No children 1766 enum EAGAIN = 11; /// Resource temporarily unavailable 1767 enum ENOMEM = 12; /// Not enough core 1768 enum EACCES = 13; /// Permission denied 1769 enum EFAULT = 14; /// Bad address 1770 enum ENOTBLK = 15; /// Block device required 1771 enum EBUSY = 16; /// Mount device busy 1772 enum EEXIST = 17; /// File exists 1773 enum EXDEV = 18; /// Cross-device link 1774 enum ENODEV = 19; /// No such device 1775 enum ENOTDIR = 20; /// Not a directory 1776 enum EISDIR = 21; /// Is a directory 1777 enum EINVAL = 22; /// Invalid argument 1778 enum ENFILE = 23; /// File table overflow 1779 enum EMFILE = 24; /// Too many open files 1780 enum ENOTTY = 25; /// Inappropriate ioctl for device 1781 enum ETXTBSY = 26; /// Text file busy 1782 enum EFBIG = 27; /// File too large 1783 enum ENOSPC = 28; /// No space left on device 1784 enum ESPIPE = 29; /// Illegal seek 1785 enum EROFS = 30; /// Read only file system 1786 enum EMLINK = 31; /// Too many links 1787 enum EPIPE = 32; /// Broken pipe 1788 enum EDOM = 33; /// Math arg out of domain of func 1789 enum ERANGE = 34; /// Math result not representable 1790 enum ENOMSG = 35; /// No message of desired type 1791 enum EIDRM = 36; /// Identifier removed 1792 enum ECHRNG = 37; /// Channel number out of range 1793 enum EL2NSYNC = 38; /// Level 2 not synchronized 1794 enum EL3HLT = 39; /// Level 3 halted 1795 enum EL3RST = 40; /// Level 3 reset 1796 enum ELNRNG = 41; /// Link number out of range 1797 enum EUNATCH = 42; /// Protocol driver not attached 1798 enum ENOCSI = 43; /// No CSI structure available 1799 enum EL2HLT = 44; /// Level 2 halted 1800 enum EDEADLK = 45; /// Deadlock condition. 1801 enum ENOLCK = 46; /// No record locks available. 1802 enum ECANCELED = 47; /// Operation canceled 1803 enum ENOTSUP = 48; /// Operation not supported 1804 enum EDQUOT = 49; /// Disc quota exceeded 1805 enum EBADE = 50; /// invalid exchange 1806 enum EBADR = 51; /// invalid request descriptor 1807 enum EXFULL = 52; /// exchange full 1808 enum ENOANO = 53; /// no anode 1809 enum EBADRQC = 54; /// invalid request code 1810 enum EBADSLT = 55; /// invalid slot 1811 enum EDEADLOCK = 56; /// file locking deadlock error 1812 enum EBFONT = 57; /// bad font file fmt 1813 enum EOWNERDEAD = 58; /// process died with the lock 1814 enum ENOTRECOVERABLE = 59; /// lock is not recoverable 1815 enum ENOSTR = 60; /// Device not a stream 1816 enum ENODATA = 61; /// no data (for no delay io) 1817 enum ETIME = 62; /// timer expired 1818 enum ENOSR = 63; /// out of streams resources 1819 enum ENONET = 64; /// Machine is not on the network 1820 enum ENOPKG = 65; /// Package not installed 1821 enum EREMOTE = 66; /// The object is remote 1822 enum ENOLINK = 67; /// the link has been severed 1823 enum EADV = 68; /// advertise error 1824 enum ESRMNT = 69; /// srmount error 1825 enum ECOMM = 70; /// Communication error on send 1826 enum EPROTO = 71; /// Protocol error 1827 enum ELOCKUNMAPPED = 72; /// locked lock was unmapped 1828 enum ENOTACTIVE = 73; /// Facility is not active 1829 enum EMULTIHOP = 74; /// multihop attempted 1830 enum EBADMSG = 77; /// trying to read unreadable message 1831 enum ENAMETOOLONG = 78; /// path name is too long 1832 enum EOVERFLOW = 79; /// value too large to be stored in data type 1833 enum ENOTUNIQ = 80; /// given log. name not unique 1834 enum EBADFD = 81; /// f.d. invalid for this operation 1835 enum EREMCHG = 82; /// Remote address changed 1836 enum ELIBACC = 83; /// Can't access a needed shared lib. 1837 enum ELIBBAD = 84; /// Accessing a corrupted shared lib. 1838 enum ELIBSCN = 85; /// .lib section in a.out corrupted. 1839 enum ELIBMAX = 86; /// Attempting to link in too many libs. 1840 enum ELIBEXEC = 87; /// Attempting to exec a shared library. 1841 enum EILSEQ = 88; /// Illegal byte sequence. 1842 enum ENOSYS = 89; /// Unsupported file system operation 1843 enum ELOOP = 90; /// Symbolic link loop 1844 enum ERESTART = 91; /// Restartable system call 1845 enum ESTRPIPE = 92; /// if pipe/FIFO, don't sleep in stream head 1846 enum ENOTEMPTY = 93; /// directory not empty 1847 enum EUSERS = 94; /// Too many users (for UFS) 1848 enum ENOTSOCK = 95; /// Socket operation on non-socket 1849 enum EDESTADDRREQ = 96; /// Destination address required 1850 enum EMSGSIZE = 97; /// Message too long 1851 enum EPROTOTYPE = 98; /// Protocol wrong type for socket 1852 enum ENOPROTOOPT = 99; /// Protocol not available 1853 enum EPROTONOSUPPORT = 120; /// Protocol not supported 1854 enum ESOCKTNOSUPPORT = 121; /// Socket type not supported 1855 enum EOPNOTSUPP = 122; /// Operation not supported on socket 1856 enum EPFNOSUPPORT = 123; /// Protocol family not supported 1857 enum EAFNOSUPPORT = 124; /// Address family not supported by the protocol family 1858 enum EADDRINUSE = 125; /// Address already in use 1859 enum EADDRNOTAVAIL = 126; /// Can't assign requested address 1860 enum ENETDOWN = 127; /// Network is down 1861 enum ENETUNREACH = 128; /// Network is unreachable 1862 enum ENETRESET = 129; /// Network dropped connection because of reset 1863 enum ECONNABORTED = 130; /// Software caused connection abort 1864 enum ECONNRESET = 131; /// Connection reset by peer 1865 enum ENOBUFS = 132; /// No buffer space available 1866 enum EISCONN = 133; /// Socket is already connected 1867 enum ENOTCONN = 134; /// Socket is not connected 1868 enum ESHUTDOWN = 143; /// Can't send after socket shutdown 1869 enum ETOOMANYREFS = 144; /// Too many references: can't splice 1870 enum ETIMEDOUT = 145; /// Connection timed out 1871 enum ECONNREFUSED = 146; /// Connection refused 1872 enum EHOSTDOWN = 147; /// Host is down 1873 enum EHOSTUNREACH = 148; /// No route to host 1874 enum EWOULDBLOCK = EAGAIN; /// Resource temporarily unavailable 1875 enum EALREADY = 149; /// operation already in progress 1876 enum EINPROGRESS = 150; /// operation now in progress 1877 enum ESTALE = 151; /// Stale NFS file handle 1878 } 1879 else version (Haiku) 1880 { 1881 // https://github.com/haiku/haiku/blob/master/headers/os/support/Errors.h 1882 // https://github.com/haiku/haiku/blob/master/headers/build/os/support/Errors.h 1883 import core.stdc.limits : INT_MIN; 1884 enum B_GENERAL_ERROR_BASE = INT_MIN; 1885 enum B_OS_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x1000); 1886 enum B_APP_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x2000); 1887 enum B_INTERFACE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x3000); 1888 enum B_MEDIA_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x4000); 1889 /* - 0x41ff */ 1890 enum B_TRANSLATION_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x4800); 1891 /* - 0x48ff */ 1892 enum B_MIDI_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x5000); 1893 enum B_STORAGE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x6000); 1894 enum B_POSIX_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x7000); 1895 enum B_MAIL_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x8000); 1896 enum B_PRINT_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x9000); 1897 enum B_DEVICE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0xa000); 1898 1899 /* General Errors */ 1900 enum B_NO_MEMORY = (B_GENERAL_ERROR_BASE + 0); 1901 enum B_IO_ERROR = (B_GENERAL_ERROR_BASE + 1); 1902 enum B_PERMISSION_DENIED = (B_GENERAL_ERROR_BASE + 2); 1903 enum B_BAD_INDEX = (B_GENERAL_ERROR_BASE + 3); 1904 enum B_BAD_TYPE = (B_GENERAL_ERROR_BASE + 4); 1905 enum B_BAD_VALUE = (B_GENERAL_ERROR_BASE + 5); 1906 enum B_MISMATCHED_VALUES = (B_GENERAL_ERROR_BASE + 6); 1907 enum B_NAME_NOT_FOUND = (B_GENERAL_ERROR_BASE + 7); 1908 enum B_NAME_IN_USE = (B_GENERAL_ERROR_BASE + 8); 1909 enum B_TIMED_OUT = (B_GENERAL_ERROR_BASE + 9); 1910 enum B_INTERRUPTED = (B_GENERAL_ERROR_BASE + 10); 1911 enum B_WOULD_BLOCK = (B_GENERAL_ERROR_BASE + 11); 1912 enum B_CANCELED = (B_GENERAL_ERROR_BASE + 12); 1913 enum B_NO_INIT = (B_GENERAL_ERROR_BASE + 13); 1914 enum B_NOT_INITIALIZED = (B_GENERAL_ERROR_BASE + 13); 1915 enum B_BUSY = (B_GENERAL_ERROR_BASE + 14); 1916 enum B_NOT_ALLOWED = (B_GENERAL_ERROR_BASE + 15); 1917 enum B_BAD_DATA = (B_GENERAL_ERROR_BASE + 16); 1918 enum B_DONT_DO_THAT = (B_GENERAL_ERROR_BASE + 17); 1919 1920 enum B_ERROR = (-1); 1921 enum B_OK = (int(0)); 1922 enum B_NO_ERROR = (int(0)); 1923 1924 /* Kernel Kit Errors */ 1925 enum B_BAD_SEM_ID = (B_OS_ERROR_BASE + 0); 1926 enum B_NO_MORE_SEMS = (B_OS_ERROR_BASE + 1); 1927 1928 enum B_BAD_THREAD_ID = (B_OS_ERROR_BASE + 0x100); 1929 enum B_NO_MORE_THREADS = (B_OS_ERROR_BASE + 0x101); 1930 enum B_BAD_THREAD_STATE = (B_OS_ERROR_BASE + 0x102); 1931 enum B_BAD_TEAM_ID = (B_OS_ERROR_BASE + 0x103); 1932 enum B_NO_MORE_TEAMS = (B_OS_ERROR_BASE + 0x104); 1933 1934 enum B_BAD_PORT_ID = (B_OS_ERROR_BASE + 0x200); 1935 enum B_NO_MORE_PORTS = (B_OS_ERROR_BASE + 0x201); 1936 1937 enum B_BAD_IMAGE_ID = (B_OS_ERROR_BASE + 0x300); 1938 enum B_BAD_ADDRESS = (B_OS_ERROR_BASE + 0x301); 1939 enum B_NOT_AN_EXECUTABLE = (B_OS_ERROR_BASE + 0x302); 1940 enum B_MISSING_LIBRARY = (B_OS_ERROR_BASE + 0x303); 1941 enum B_MISSING_SYMBOL = (B_OS_ERROR_BASE + 0x304); 1942 enum B_UNKNOWN_EXECUTABLE = (B_OS_ERROR_BASE + 0x305); 1943 enum B_LEGACY_EXECUTABLE = (B_OS_ERROR_BASE + 0x306); 1944 1945 enum B_DEBUGGER_ALREADY_INSTALLED = (B_OS_ERROR_BASE + 0x400); 1946 1947 /* Application Kit Errors */ 1948 enum B_BAD_REPLY = (B_APP_ERROR_BASE + 0); 1949 enum B_DUPLICATE_REPLY = (B_APP_ERROR_BASE + 1); 1950 enum B_MESSAGE_TO_SELF = (B_APP_ERROR_BASE + 2); 1951 enum B_BAD_HANDLER = (B_APP_ERROR_BASE + 3); 1952 enum B_ALREADY_RUNNING = (B_APP_ERROR_BASE + 4); 1953 enum B_LAUNCH_FAILED = (B_APP_ERROR_BASE + 5); 1954 enum B_AMBIGUOUS_APP_LAUNCH = (B_APP_ERROR_BASE + 6); 1955 enum B_UNKNOWN_MIME_TYPE = (B_APP_ERROR_BASE + 7); 1956 enum B_BAD_SCRIPT_SYNTAX = (B_APP_ERROR_BASE + 8); 1957 enum B_LAUNCH_FAILED_NO_RESOLVE_LINK = (B_APP_ERROR_BASE + 9); 1958 enum B_LAUNCH_FAILED_EXECUTABLE = (B_APP_ERROR_BASE + 10); 1959 enum B_LAUNCH_FAILED_APP_NOT_FOUND = (B_APP_ERROR_BASE + 11); 1960 enum B_LAUNCH_FAILED_APP_IN_TRASH = (B_APP_ERROR_BASE + 12); 1961 enum B_LAUNCH_FAILED_NO_PREFERRED_APP = (B_APP_ERROR_BASE + 13); 1962 enum B_LAUNCH_FAILED_FILES_APP_NOT_FOUND = (B_APP_ERROR_BASE + 14); 1963 enum B_BAD_MIME_SNIFFER_RULE = (B_APP_ERROR_BASE + 15); 1964 enum B_NOT_A_MESSAGE = (B_APP_ERROR_BASE + 16); 1965 enum B_SHUTDOWN_CANCELLED = (B_APP_ERROR_BASE + 17); 1966 enum B_SHUTTING_DOWN = (B_APP_ERROR_BASE + 18); 1967 1968 /* Storage Kit/File System Errors */ 1969 enum B_FILE_ERROR = (B_STORAGE_ERROR_BASE + 0); 1970 enum B_FILE_NOT_FOUND = (B_STORAGE_ERROR_BASE + 1); 1971 /* deprecated: use B_ENTRY_NOT_FOUND instead */ 1972 enum B_FILE_EXISTS = (B_STORAGE_ERROR_BASE + 2); 1973 enum B_ENTRY_NOT_FOUND = (B_STORAGE_ERROR_BASE + 3); 1974 enum B_NAME_TOO_LONG = (B_STORAGE_ERROR_BASE + 4); 1975 enum B_NOT_A_DIRECTORY = (B_STORAGE_ERROR_BASE + 5); 1976 enum B_DIRECTORY_NOT_EMPTY = (B_STORAGE_ERROR_BASE + 6); 1977 enum B_DEVICE_FULL = (B_STORAGE_ERROR_BASE + 7); 1978 enum B_READ_ONLY_DEVICE = (B_STORAGE_ERROR_BASE + 8); 1979 enum B_IS_A_DIRECTORY = (B_STORAGE_ERROR_BASE + 9); 1980 enum B_NO_MORE_FDS = (B_STORAGE_ERROR_BASE + 10); 1981 enum B_CROSS_DEVICE_LINK = (B_STORAGE_ERROR_BASE + 11); 1982 enum B_LINK_LIMIT = (B_STORAGE_ERROR_BASE + 12); 1983 enum B_BUSTED_PIPE = (B_STORAGE_ERROR_BASE + 13); 1984 enum B_UNSUPPORTED = (B_STORAGE_ERROR_BASE + 14); 1985 enum B_PARTITION_TOO_SMALL = (B_STORAGE_ERROR_BASE + 15); 1986 enum B_PARTIAL_READ = (B_STORAGE_ERROR_BASE + 16); 1987 enum B_PARTIAL_WRITE = (B_STORAGE_ERROR_BASE + 17); 1988 1989 /* POSIX Errors */ 1990 enum B_USE_POSITIVE_POSIX_ERRORS = false; 1991 1992 static if (B_USE_POSITIVE_POSIX_ERRORS) 1993 { 1994 enum B_TO_POSIX_ERROR(int code) = -code; 1995 } 1996 else 1997 { 1998 enum B_TO_POSIX_ERROR(int code) = code; 1999 } 2000 alias B_FROM_POSIX_ERROR = B_TO_POSIX_ERROR; 2001 2002 enum B_POSIX_ENOMEM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 0); 2003 enum E2BIG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 1); 2004 enum ECHILD = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 2); 2005 enum EDEADLK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 3); 2006 enum EFBIG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 4); 2007 enum EMLINK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 5); 2008 enum ENFILE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 6); 2009 enum ENODEV = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 7); 2010 enum ENOLCK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 8); 2011 enum ENOSYS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 9); 2012 enum ENOTTY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 10); 2013 enum ENXIO = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 11); 2014 enum ESPIPE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 12); 2015 enum ESRCH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 13); 2016 enum EFPOS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 14); 2017 enum ESIGPARM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 15); 2018 enum EDOM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 16); 2019 enum ERANGE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 17); 2020 enum EPROTOTYPE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 18); 2021 enum EPROTONOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 19); 2022 enum EPFNOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 20); 2023 enum EAFNOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 21); 2024 enum EADDRINUSE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 22); 2025 enum EADDRNOTAVAIL = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 23); 2026 enum ENETDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 24); 2027 enum ENETUNREACH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 25); 2028 enum ENETRESET = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 26); 2029 enum ECONNABORTED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 27); 2030 enum ECONNRESET = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 28); 2031 enum EISCONN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 29); 2032 enum ENOTCONN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 30); 2033 enum ESHUTDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 31); 2034 enum ECONNREFUSED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 32); 2035 enum EHOSTUNREACH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 33); 2036 enum ENOPROTOOPT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 34); 2037 enum ENOBUFS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 35); 2038 enum EINPROGRESS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 36); 2039 enum EALREADY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 37); 2040 enum EILSEQ = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 38); 2041 enum ENOMSG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 39); 2042 enum ESTALE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 40); 2043 enum EOVERFLOW = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 41); 2044 enum EMSGSIZE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 42); 2045 enum EOPNOTSUPP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 43); 2046 enum ENOTSOCK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 44); 2047 enum EHOSTDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 45); 2048 enum EBADMSG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 46); 2049 enum ECANCELED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 47); 2050 enum EDESTADDRREQ = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 48); 2051 enum EDQUOT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 49); 2052 enum EIDRM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 50); 2053 enum EMULTIHOP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 51); 2054 enum ENODATA = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 52); 2055 enum ENOLINK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 53); 2056 enum ENOSR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 54); 2057 enum ENOSTR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 55); 2058 enum ENOTSUP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 56); 2059 enum EPROTO = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 57); 2060 enum ETIME = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 58); 2061 enum ETXTBSY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 59); 2062 enum ENOATTR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 60); 2063 2064 /* B_NO_MEMORY (0x80000000) can't be negated, so it needs special handling */ 2065 static if (B_USE_POSITIVE_POSIX_ERRORS) 2066 enum ENOMEM = B_POSIX_ENOMEM; 2067 else 2068 enum ENOMEM = B_NO_MEMORY; 2069 2070 /* POSIX errors that can be mapped to BeOS error codes */ 2071 enum EACCES = B_TO_POSIX_ERROR!(B_PERMISSION_DENIED); 2072 enum EINTR = B_TO_POSIX_ERROR!(B_INTERRUPTED); 2073 enum EIO = B_TO_POSIX_ERROR!(B_IO_ERROR); 2074 enum EBUSY = B_TO_POSIX_ERROR!(B_BUSY); 2075 enum EFAULT = B_TO_POSIX_ERROR!(B_BAD_ADDRESS); 2076 enum ETIMEDOUT = B_TO_POSIX_ERROR!(B_TIMED_OUT); 2077 enum EAGAIN = B_TO_POSIX_ERROR!(B_WOULD_BLOCK) /* SysV compatibility */; 2078 enum EWOULDBLOCK = B_TO_POSIX_ERROR!(B_WOULD_BLOCK) /* BSD compatibility */; 2079 enum EBADF = B_TO_POSIX_ERROR!(B_FILE_ERROR); 2080 enum EEXIST = B_TO_POSIX_ERROR!(B_FILE_EXISTS); 2081 enum EINVAL = B_TO_POSIX_ERROR!(B_BAD_VALUE); 2082 enum ENAMETOOLONG = B_TO_POSIX_ERROR!(B_NAME_TOO_LONG); 2083 enum ENOENT = B_TO_POSIX_ERROR!(B_ENTRY_NOT_FOUND); 2084 enum EPERM = B_TO_POSIX_ERROR!(B_NOT_ALLOWED); 2085 enum ENOTDIR = B_TO_POSIX_ERROR!(B_NOT_A_DIRECTORY); 2086 enum EISDIR = B_TO_POSIX_ERROR!(B_IS_A_DIRECTORY); 2087 enum ENOTEMPTY = B_TO_POSIX_ERROR!(B_DIRECTORY_NOT_EMPTY); 2088 enum ENOSPC = B_TO_POSIX_ERROR!(B_DEVICE_FULL); 2089 enum EROFS = B_TO_POSIX_ERROR!(B_READ_ONLY_DEVICE); 2090 enum EMFILE = B_TO_POSIX_ERROR!(B_NO_MORE_FDS); 2091 enum EXDEV = B_TO_POSIX_ERROR!(B_CROSS_DEVICE_LINK); 2092 enum ELOOP = B_TO_POSIX_ERROR!(B_LINK_LIMIT); 2093 enum ENOEXEC = B_TO_POSIX_ERROR!(B_NOT_AN_EXECUTABLE); 2094 enum EPIPE = B_TO_POSIX_ERROR!(B_BUSTED_PIPE); 2095 2096 /* new error codes that can be mapped to POSIX errors */ 2097 enum B_BUFFER_OVERFLOW = B_FROM_POSIX_ERROR!(EOVERFLOW); 2098 enum B_TOO_MANY_ARGS = B_FROM_POSIX_ERROR!(E2BIG); 2099 enum B_FILE_TOO_LARGE = B_FROM_POSIX_ERROR!(EFBIG); 2100 enum B_RESULT_NOT_REPRESENTABLE = B_FROM_POSIX_ERROR!(ERANGE); 2101 enum B_DEVICE_NOT_FOUND = B_FROM_POSIX_ERROR!(ENODEV); 2102 enum B_NOT_SUPPORTED = B_FROM_POSIX_ERROR!(EOPNOTSUPP); 2103 2104 /* Media Kit Errors */ 2105 enum B_STREAM_NOT_FOUND = (B_MEDIA_ERROR_BASE + 0); 2106 enum B_SERVER_NOT_FOUND = (B_MEDIA_ERROR_BASE + 1); 2107 enum B_RESOURCE_NOT_FOUND = (B_MEDIA_ERROR_BASE + 2); 2108 enum B_RESOURCE_UNAVAILABLE = (B_MEDIA_ERROR_BASE + 3); 2109 enum B_BAD_SUBSCRIBER = (B_MEDIA_ERROR_BASE + 4); 2110 enum B_SUBSCRIBER_NOT_ENTERED = (B_MEDIA_ERROR_BASE + 5); 2111 enum B_BUFFER_NOT_AVAILABLE = (B_MEDIA_ERROR_BASE + 6); 2112 enum B_LAST_BUFFER_ERROR = (B_MEDIA_ERROR_BASE + 7); 2113 2114 enum B_MEDIA_SYSTEM_FAILURE = (B_MEDIA_ERROR_BASE + 100); 2115 enum B_MEDIA_BAD_NODE = (B_MEDIA_ERROR_BASE + 101); 2116 enum B_MEDIA_NODE_BUSY = (B_MEDIA_ERROR_BASE + 102); 2117 enum B_MEDIA_BAD_FORMAT = (B_MEDIA_ERROR_BASE + 103); 2118 enum B_MEDIA_BAD_BUFFER = (B_MEDIA_ERROR_BASE + 104); 2119 enum B_MEDIA_TOO_MANY_NODES = (B_MEDIA_ERROR_BASE + 105); 2120 enum B_MEDIA_TOO_MANY_BUFFERS = (B_MEDIA_ERROR_BASE + 106); 2121 enum B_MEDIA_NODE_ALREADY_EXISTS = (B_MEDIA_ERROR_BASE + 107); 2122 enum B_MEDIA_BUFFER_ALREADY_EXISTS = (B_MEDIA_ERROR_BASE + 108); 2123 enum B_MEDIA_CANNOT_SEEK = (B_MEDIA_ERROR_BASE + 109); 2124 enum B_MEDIA_CANNOT_CHANGE_RUN_MODE = (B_MEDIA_ERROR_BASE + 110); 2125 enum B_MEDIA_APP_ALREADY_REGISTERED = (B_MEDIA_ERROR_BASE + 111); 2126 enum B_MEDIA_APP_NOT_REGISTERED = (B_MEDIA_ERROR_BASE + 112); 2127 enum B_MEDIA_CANNOT_RECLAIM_BUFFERS = (B_MEDIA_ERROR_BASE + 113); 2128 enum B_MEDIA_BUFFERS_NOT_RECLAIMED = (B_MEDIA_ERROR_BASE + 114); 2129 enum B_MEDIA_TIME_SOURCE_STOPPED = (B_MEDIA_ERROR_BASE + 115); 2130 enum B_MEDIA_TIME_SOURCE_BUSY = (B_MEDIA_ERROR_BASE + 116); 2131 enum B_MEDIA_BAD_SOURCE = (B_MEDIA_ERROR_BASE + 117); 2132 enum B_MEDIA_BAD_DESTINATION = (B_MEDIA_ERROR_BASE + 118); 2133 enum B_MEDIA_ALREADY_CONNECTED = (B_MEDIA_ERROR_BASE + 119); 2134 enum B_MEDIA_NOT_CONNECTED = (B_MEDIA_ERROR_BASE + 120); 2135 enum B_MEDIA_BAD_CLIP_FORMAT = (B_MEDIA_ERROR_BASE + 121); 2136 enum B_MEDIA_ADDON_FAILED = (B_MEDIA_ERROR_BASE + 122); 2137 enum B_MEDIA_ADDON_DISABLED = (B_MEDIA_ERROR_BASE + 123); 2138 enum B_MEDIA_CHANGE_IN_PROGRESS = (B_MEDIA_ERROR_BASE + 124); 2139 enum B_MEDIA_STALE_CHANGE_COUNT = (B_MEDIA_ERROR_BASE + 125); 2140 enum B_MEDIA_ADDON_RESTRICTED = (B_MEDIA_ERROR_BASE + 126); 2141 enum B_MEDIA_NO_HANDLER = (B_MEDIA_ERROR_BASE + 127); 2142 enum B_MEDIA_DUPLICATE_FORMAT = (B_MEDIA_ERROR_BASE + 128); 2143 enum B_MEDIA_REALTIME_DISABLED = (B_MEDIA_ERROR_BASE + 129); 2144 enum B_MEDIA_REALTIME_UNAVAILABLE = (B_MEDIA_ERROR_BASE + 130); 2145 2146 /* Mail Kit Errors */ 2147 enum B_MAIL_NO_DAEMON = (B_MAIL_ERROR_BASE + 0); 2148 enum B_MAIL_UNKNOWN_USER = (B_MAIL_ERROR_BASE + 1); 2149 enum B_MAIL_WRONG_PASSWORD = (B_MAIL_ERROR_BASE + 2); 2150 enum B_MAIL_UNKNOWN_HOST = (B_MAIL_ERROR_BASE + 3); 2151 enum B_MAIL_ACCESS_ERROR = (B_MAIL_ERROR_BASE + 4); 2152 enum B_MAIL_UNKNOWN_FIELD = (B_MAIL_ERROR_BASE + 5); 2153 enum B_MAIL_NO_RECIPIENT = (B_MAIL_ERROR_BASE + 6); 2154 enum B_MAIL_INVALID_MAIL = (B_MAIL_ERROR_BASE + 7); 2155 2156 /* Printing Errors */ 2157 enum B_NO_PRINT_SERVER = (B_PRINT_ERROR_BASE + 0); 2158 2159 /* Device Kit Errors */ 2160 enum B_DEV_INVALID_IOCTL = (B_DEVICE_ERROR_BASE + 0); 2161 enum B_DEV_NO_MEMORY = (B_DEVICE_ERROR_BASE + 1); 2162 enum B_DEV_BAD_DRIVE_NUM = (B_DEVICE_ERROR_BASE + 2); 2163 enum B_DEV_NO_MEDIA = (B_DEVICE_ERROR_BASE + 3); 2164 enum B_DEV_UNREADABLE = (B_DEVICE_ERROR_BASE + 4); 2165 enum B_DEV_FORMAT_ERROR = (B_DEVICE_ERROR_BASE + 5); 2166 enum B_DEV_TIMEOUT = (B_DEVICE_ERROR_BASE + 6); 2167 enum B_DEV_RECALIBRATE_ERROR = (B_DEVICE_ERROR_BASE + 7); 2168 enum B_DEV_SEEK_ERROR = (B_DEVICE_ERROR_BASE + 8); 2169 enum B_DEV_ID_ERROR = (B_DEVICE_ERROR_BASE + 9); 2170 enum B_DEV_READ_ERROR = (B_DEVICE_ERROR_BASE + 10); 2171 enum B_DEV_WRITE_ERROR = (B_DEVICE_ERROR_BASE + 11); 2172 enum B_DEV_NOT_READY = (B_DEVICE_ERROR_BASE + 12); 2173 enum B_DEV_MEDIA_CHANGED = (B_DEVICE_ERROR_BASE + 13); 2174 enum B_DEV_MEDIA_CHANGE_REQUESTED = (B_DEVICE_ERROR_BASE + 14); 2175 enum B_DEV_RESOURCE_CONFLICT = (B_DEVICE_ERROR_BASE + 15); 2176 enum B_DEV_CONFIGURATION_ERROR = (B_DEVICE_ERROR_BASE + 16); 2177 enum B_DEV_DISABLED_BY_USER = (B_DEVICE_ERROR_BASE + 17); 2178 enum B_DEV_DOOR_OPEN = (B_DEVICE_ERROR_BASE + 18); 2179 2180 enum B_DEV_INVALID_PIPE = (B_DEVICE_ERROR_BASE + 19); 2181 enum B_DEV_CRC_ERROR = (B_DEVICE_ERROR_BASE + 20); 2182 enum B_DEV_STALLED = (B_DEVICE_ERROR_BASE + 21); 2183 enum B_DEV_BAD_PID = (B_DEVICE_ERROR_BASE + 22); 2184 enum B_DEV_UNEXPECTED_PID = (B_DEVICE_ERROR_BASE + 23); 2185 enum B_DEV_DATA_OVERRUN = (B_DEVICE_ERROR_BASE + 24); 2186 enum B_DEV_DATA_UNDERRUN = (B_DEVICE_ERROR_BASE + 25); 2187 enum B_DEV_FIFO_OVERRUN = (B_DEVICE_ERROR_BASE + 26); 2188 enum B_DEV_FIFO_UNDERRUN = (B_DEVICE_ERROR_BASE + 27); 2189 enum B_DEV_PENDING = (B_DEVICE_ERROR_BASE + 28); 2190 enum B_DEV_MULTIPLE_ERRORS = (B_DEVICE_ERROR_BASE + 29); 2191 enum B_DEV_TOO_LATE = (B_DEVICE_ERROR_BASE + 30); 2192 2193 /* Translation Kit Errors */ 2194 enum B_TRANSLATION_BASE_ERROR = (B_TRANSLATION_ERROR_BASE + 0); 2195 enum B_NO_TRANSLATOR = (B_TRANSLATION_ERROR_BASE + 1); 2196 enum B_ILLEGAL_DATA = (B_TRANSLATION_ERROR_BASE + 2); 2197 } 2198 else version (WASI) 2199 { 2200 enum EPERM = 1; 2201 enum ENOENT = 2; 2202 enum ESRCH = 3; 2203 enum EINTR = 4; 2204 enum EIO = 5; 2205 enum ENXIO = 6; 2206 enum E2BIG = 7; 2207 enum ENOEXEC = 8; 2208 enum EBADF = 9; 2209 enum ECHILD = 10; 2210 enum EAGAIN = 11; 2211 enum ENOMEM = 12; 2212 enum EACCES = 13; 2213 enum EFAULT = 14; 2214 enum ENOTBLK = 15; 2215 enum EBUSY = 16; 2216 enum EEXIST = 17; 2217 enum EXDEV = 18; 2218 enum ENODEV = 19; 2219 enum ENOTDIR = 20; 2220 enum EISDIR = 21; 2221 enum EINVAL = 22; 2222 enum ENFILE = 23; 2223 enum EMFILE = 24; 2224 enum ENOTTY = 25; 2225 enum ETXTBSY = 26; 2226 enum EFBIG = 27; 2227 enum ENOSPC = 28; 2228 enum ESPIPE = 29; 2229 enum EROFS = 30; 2230 enum EMLINK = 31; 2231 enum EPIPE = 32; 2232 enum EDOM = 33; 2233 enum ERANGE = 34; 2234 enum EDEADLK = 35; 2235 enum ENAMETOOLONG = 36; 2236 enum ENOLCK = 37; 2237 enum ENOSYS = 38; 2238 enum ENOTEMPTY = 39; 2239 enum ELOOP = 40; 2240 enum EWOULDBLOCK = EAGAIN; 2241 enum ENOMSG = 42; 2242 enum EIDRM = 43; 2243 enum ECHRNG = 44; 2244 enum EL2NSYNC = 45; 2245 enum EL3HLT = 46; 2246 enum EL3RST = 47; 2247 enum ELNRNG = 48; 2248 enum EUNATCH = 49; 2249 enum ENOCSI = 50; 2250 enum EL2HLT = 51; 2251 enum EBADE = 52; 2252 enum EBADR = 53; 2253 enum EXFULL = 54; 2254 enum ENOANO = 55; 2255 enum EBADRQC = 56; 2256 enum EBADSLT = 57; 2257 enum EDEADLOCK = EDEADLK; 2258 enum EBFONT = 59; 2259 enum ENOSTR = 60; 2260 enum ENODATA = 61; 2261 enum ETIME = 62; 2262 enum ENOSR = 63; 2263 enum ENONET = 64; 2264 enum ENOPKG = 65; 2265 enum EREMOTE = 66; 2266 enum ENOLINK = 67; 2267 enum EADV = 68; 2268 enum ESRMNT = 69; 2269 enum ECOMM = 70; 2270 enum EPROTO = 71; 2271 enum EMULTIHOP = 72; 2272 enum EDOTDOT = 73; 2273 enum EBADMSG = 74; 2274 enum EOVERFLOW = 75; 2275 enum ENOTUNIQ = 76; 2276 enum EBADFD = 77; 2277 enum EREMCHG = 78; 2278 enum ELIBACC = 79; 2279 enum ELIBBAD = 80; 2280 enum ELIBSCN = 81; 2281 enum ELIBMAX = 82; 2282 enum ELIBEXEC = 83; 2283 enum EILSEQ = 84; 2284 enum ERESTART = 85; 2285 enum ESTRPIPE = 86; 2286 enum EUSERS = 87; 2287 enum ENOTSOCK = 88; 2288 enum EDESTADDRREQ = 89; 2289 enum EMSGSIZE = 90; 2290 enum EPROTOTYPE = 91; 2291 enum ENOPROTOOPT = 92; 2292 enum EPROTONOSUPPORT = 93; 2293 enum ESOCKTNOSUPPORT = 94; 2294 enum EOPNOTSUPP = 95; 2295 enum ENOTSUP = EOPNOTSUPP; 2296 enum EPFNOSUPPORT = 96; 2297 enum EAFNOSUPPORT = 97; 2298 enum EADDRINUSE = 98; 2299 enum EADDRNOTAVAIL = 99; 2300 enum ENETDOWN = 100; 2301 enum ENETUNREACH = 101; 2302 enum ENETRESET = 102; 2303 enum ECONNABORTED = 103; 2304 enum ECONNRESET = 104; 2305 enum ENOBUFS = 105; 2306 enum EISCONN = 106; 2307 enum ENOTCONN = 107; 2308 enum ESHUTDOWN = 108; 2309 enum ETOOMANYREFS = 109; 2310 enum ETIMEDOUT = 110; 2311 enum ECONNREFUSED = 111; 2312 enum EHOSTDOWN = 112; 2313 enum EHOSTUNREACH = 113; 2314 enum EALREADY = 114; 2315 enum EINPROGRESS = 115; 2316 enum ESTALE = 116; 2317 enum EUCLEAN = 117; 2318 enum ENOTNAM = 118; 2319 enum ENAVAIL = 119; 2320 enum EISNAM = 120; 2321 enum EREMOTEIO = 121; 2322 enum EDQUOT = 122; 2323 enum ENOMEDIUM = 123; 2324 enum EMEDIUMTYPE = 124; 2325 enum ECANCELED = 125; 2326 enum ENOKEY = 126; 2327 enum EKEYEXPIRED = 127; 2328 enum EKEYREVOKED = 128; 2329 enum EKEYREJECTED = 129; 2330 enum EOWNERDEAD = 130; 2331 enum ENOTRECOVERABLE = 131; 2332 enum ERFKILL = 132; 2333 enum EHWPOISON = 133; 2334 } 2335 else version (FreeStanding) {} 2336 else 2337 { 2338 static assert(false, "Unsupported platform"); 2339 }