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