Mercurial > projects > ldc
view tango/tango/stdc/errno.d @ 193:aca17e55b7a5 trunk
[svn r209] Fixed: exotic array to pointer casts were broken.
Changed: classes now have opaque vtables.
author | lindquist |
---|---|
date | Mon, 12 May 2008 18:44:11 +0200 |
parents | 1700239cab2e |
children |
line wrap: on
line source
/** * D header file for C99. * * Copyright: Public Domain * License: Public Domain * Authors: Sean Kelly * Standards: ISO/IEC 9899:1999 (E) */ module tango.stdc.errno; private { extern (C) int getErrno(); extern (C) int setErrno(int); } int errno() { return getErrno(); } int errno( int val ) { return setErrno( val ); } extern (C): version( Win32 ) { const EPERM = 1; // Operation not permitted const ENOENT = 2; // No such file or directory const ESRCH = 3; // No such process const EINTR = 4; // Interrupted system call const EIO = 5; // I/O error const ENXIO = 6; // No such device or address const E2BIG = 7; // Argument list too long const ENOEXEC = 8; // Exec format error const EBADF = 9; // Bad file number const ECHILD = 10; // No child processes const EAGAIN = 11; // Try again const ENOMEM = 12; // Out of memory const EACCES = 13; // Permission denied const EFAULT = 14; // Bad address const EBUSY = 16; // Device or resource busy const EEXIST = 17; // File exists const EXDEV = 18; // Cross-device link const ENODEV = 19; // No such device const ENOTDIR = 20; // Not a directory const EISDIR = 21; // Is a directory const EINVAL = 22; // Invalid argument const ENFILE = 23; // File table overflow const EMFILE = 24; // Too many open files const ENOTTY = 25; // Not a typewriter const EFBIG = 27; // File too large const ENOSPC = 28; // No space left on device const ESPIPE = 29; // Illegal seek const EROFS = 30; // Read-only file system const EMLINK = 31; // Too many links const EPIPE = 32; // Broken pipe const EDOM = 33; // Math argument out of domain of func const ERANGE = 34; // Math result not representable const EDEADLK = 36; // Resource deadlock would occur const ENAMETOOLONG = 38; // File name too long const ENOLCK = 39; // No record locks available const ENOSYS = 40; // Function not implemented const ENOTEMPTY = 41; // Directory not empty const EILSEQ = 42; // Illegal byte sequence const EDEADLOCK = EDEADLK; } else version( linux ) { const EPERM = 1; // Operation not permitted const ENOENT = 2; // No such file or directory const ESRCH = 3; // No such process const EINTR = 4; // Interrupted system call const EIO = 5; // I/O error const ENXIO = 6; // No such device or address const E2BIG = 7; // Argument list too long const ENOEXEC = 8; // Exec format error const EBADF = 9; // Bad file number const ECHILD = 10; // No child processes const EAGAIN = 11; // Try again const ENOMEM = 12; // Out of memory const EACCES = 13; // Permission denied const EFAULT = 14; // Bad address const ENOTBLK = 15; // Block device required const EBUSY = 16; // Device or resource busy const EEXIST = 17; // File exists const EXDEV = 18; // Cross-device link const ENODEV = 19; // No such device const ENOTDIR = 20; // Not a directory const EISDIR = 21; // Is a directory const EINVAL = 22; // Invalid argument const ENFILE = 23; // File table overflow const EMFILE = 24; // Too many open files const ENOTTY = 25; // Not a typewriter const ETXTBSY = 26; // Text file busy const EFBIG = 27; // File too large const ENOSPC = 28; // No space left on device const ESPIPE = 29; // Illegal seek const EROFS = 30; // Read-only file system const EMLINK = 31; // Too many links const EPIPE = 32; // Broken pipe const EDOM = 33; // Math argument out of domain of func const ERANGE = 34; // Math result not representable const EDEADLK = 35; // Resource deadlock would occur const ENAMETOOLONG = 36; // File name too long const ENOLCK = 37; // No record locks available const ENOSYS = 38; // Function not implemented const ENOTEMPTY = 39; // Directory not empty const ELOOP = 40; // Too many symbolic links encountered const EWOULDBLOCK = EAGAIN; // Operation would block const ENOMSG = 42; // No message of desired type const EIDRM = 43; // Identifier removed const ECHRNG = 44; // Channel number out of range const EL2NSYNC = 45; // Level 2 not synchronized const EL3HLT = 46; // Level 3 halted const EL3RST = 47; // Level 3 reset const ELNRNG = 48; // Link number out of range const EUNATCH = 49; // Protocol driver not attached const ENOCSI = 50; // No CSI structure available const EL2HLT = 51; // Level 2 halted const EBADE = 52; // Invalid exchange const EBADR = 53; // Invalid request descriptor const EXFULL = 54; // Exchange full const ENOANO = 55; // No anode const EBADRQC = 56; // Invalid request code const EBADSLT = 57; // Invalid slot const EDEADLOCK = EDEADLK; const EBFONT = 59; // Bad font file format const ENOSTR = 60; // Device not a stream const ENODATA = 61; // No data available const ETIME = 62; // Timer expired const ENOSR = 63; // Out of streams resources const ENONET = 64; // Machine is not on the network const ENOPKG = 65; // Package not installed const EREMOTE = 66; // Object is remote const ENOLINK = 67; // Link has been severed const EADV = 68; // Advertise error const ESRMNT = 69; // Srmount error const ECOMM = 70; // Communication error on send const EPROTO = 71; // Protocol error const EMULTIHOP = 72; // Multihop attempted const EDOTDOT = 73; // RFS specific error const EBADMSG = 74; // Not a data message const EOVERFLOW = 75; // Value too large for defined data type const ENOTUNIQ = 76; // Name not unique on network const EBADFD = 77; // File descriptor in bad state const EREMCHG = 78; // Remote address changed const ELIBACC = 79; // Can not access a needed shared library const ELIBBAD = 80; // Accessing a corrupted shared library const ELIBSCN = 81; // .lib section in a.out corrupted const ELIBMAX = 82; // Attempting to link in too many shared libraries const ELIBEXEC = 83; // Cannot exec a shared library directly const EILSEQ = 84; // Illegal byte sequence const ERESTART = 85; // Interrupted system call should be restarted const ESTRPIPE = 86; // Streams pipe error const EUSERS = 87; // Too many users const ENOTSOCK = 88; // Socket operation on non-socket const EDESTADDRREQ = 89; // Destination address required const EMSGSIZE = 90; // Message too long const EPROTOTYPE = 91; // Protocol wrong type for socket const ENOPROTOOPT = 92; // Protocol not available const EPROTONOSUPPORT = 93; // Protocol not supported const ESOCKTNOSUPPORT = 94; // Socket type not supported const EOPNOTSUPP = 95; // Operation not supported on transport endpoint const EPFNOSUPPORT = 96; // Protocol family not supported const EAFNOSUPPORT = 97; // Address family not supported by protocol const EADDRINUSE = 98; // Address already in use const EADDRNOTAVAIL = 99; // Cannot assign requested address const ENETDOWN = 100; // Network is down const ENETUNREACH = 101; // Network is unreachable const ENETRESET = 102; // Network dropped connection because of reset const ECONNABORTED = 103; // Software caused connection abort const ECONNRESET = 104; // Connection reset by peer const ENOBUFS = 105; // No buffer space available const EISCONN = 106; // Transport endpoint is already connected const ENOTCONN = 107; // Transport endpoint is not connected const ESHUTDOWN = 108; // Cannot send after transport endpoint shutdown const ETOOMANYREFS = 109; // Too many references: cannot splice const ETIMEDOUT = 110; // Connection timed out const ECONNREFUSED = 111; // Connection refused const EHOSTDOWN = 112; // Host is down const EHOSTUNREACH = 113; // No route to host const EALREADY = 114; // Operation already in progress const EINPROGRESS = 115; // Operation now in progress const ESTALE = 116; // Stale NFS file handle const EUCLEAN = 117; // Structure needs cleaning const ENOTNAM = 118; // Not a XENIX named type file const ENAVAIL = 119; // No XENIX semaphores available const EISNAM = 120; // Is a named type file const EREMOTEIO = 121; // Remote I/O error const EDQUOT = 122; // Quota exceeded const ENOMEDIUM = 123; // No medium found const EMEDIUMTYPE = 124; // Wrong medium type const ECANCELED = 125; // Operation Canceled const ENOKEY = 126; // Required key not available const EKEYEXPIRED = 127; // Key has expired const EKEYREVOKED = 128; // Key has been revoked const EKEYREJECTED = 129; // Key was rejected by service const EOWNERDEAD = 130; // Owner died const ENOTRECOVERABLE = 131; // State not recoverable } else version( darwin ) { const EPERM = 1; // Operation not permitted const ENOENT = 2; // No such file or directory const ESRCH = 3; // No such process const EINTR = 4; // Interrupted system call const EIO = 5; // Input/output error const ENXIO = 6; // Device not configured const E2BIG = 7; // Argument list too long const ENOEXEC = 8; // Exec format error const EBADF = 9; // Bad file descriptor const ECHILD = 10; // No child processes const EDEADLK = 11; // Resource deadlock avoided const ENOMEM = 12; // Cannot allocate memory const EACCES = 13; // Permission denied const EFAULT = 14; // Bad address const EBUSY = 16; // Device busy const EEXIST = 17; // File exists const EXDEV = 18; // Cross-device link const ENODEV = 19; // Operation not supported by device const ENOTDIR = 20; // Not a directory const EISDIR = 21; // Is a directory const EINVAL = 22; // Invalid argument const ENFILE = 23; // Too many open files in system const EMFILE = 24; // Too many open files const ENOTTY = 25; // Inappropriate ioctl for device const ETXTBSY = 26; // Text file busy const EFBIG = 27; // File too large const ENOSPC = 28; // No space left on device const ESPIPE = 29; // Illegal seek const EROFS = 30; // Read-only file system const EMLINK = 31; // Too many links const EPIPE = 32; // Broken pipe const EDOM = 33; // Numerical argument out of domain const ERANGE = 34; // Result too large const EAGAIN = 35; // Resource temporarily unavailable const EWOULDBLOCK = EAGAIN; // Operation would block const EINPROGRESS = 36; // Operation now in progress const EALREADY = 37; // Operation already in progress const ENOTSOCK = 38; // Socket operation on non-socket const EDESTADDRREQ = 39; // Destination address required const EMSGSIZE = 40; // Message too long const EPROTOTYPE = 41; // Protocol wrong type for socket const ENOPROTOOPT = 42; // Protocol not available const EPROTONOSUPPORT = 43; // Protocol not supported const ENOTSUP = 45; // Operation not supported const EOPNOTSUPP = ENOTSUP; // Operation not supported on socket const EAFNOSUPPORT = 47; // Address family not supported by protocol family const EADDRINUSE = 48; // Address already in use const EADDRNOTAVAIL = 49; // Can't assign requested address const ENETDOWN = 50; // Network is down const ENETUNREACH = 51; // Network is unreachable const ENETRESET = 52; // Network dropped connection on reset const ECONNABORTED = 53; // Software caused connection abort const ECONNRESET = 54; // Connection reset by peer const ENOBUFS = 55; // No buffer space available const EISCONN = 56; // Socket is already connected const ENOTCONN = 57; // Socket is not connected const ETIMEDOUT = 60; // Operation timed out const ECONNREFUSED = 61; // Connection refused const ELOOP = 62; // Too many levels of symbolic links const ENAMETOOLONG = 63; // File name too long const EHOSTUNREACH = 65; // No route to host const ENOTEMPTY = 66; // Directory not empty const EDQUOT = 69; // Disc quota exceeded const ESTALE = 70; // Stale NFS file handle const ENOLCK = 77; // No locks available const ENOSYS = 78; // Function not implemented const EOVERFLOW = 84; // Value too large to be stored in data type const ECANCELED = 89; // Operation canceled const EIDRM = 90; // Identifier removed const ENOMSG = 91; // No message of desired type const EILSEQ = 92; // Illegal byte sequence const EBADMSG = 94; // Bad message const EMULTIHOP = 95; // Reserved const ENODATA = 96; // No message available on STREAM const ENOLINK = 97; // Reserved const ENOSR = 98; // No STREAM resources const ENOSTR = 99; // Not a STREAM const EPROTO = 100; // Protocol error const ETIME = 101; // STREAM ioctl timeout const ELAST = 101; // Must be equal largest errno }