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