Mercurial > projects > ldc
diff druntime/import/stdc/errno.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/druntime/import/stdc/errno.d Wed Nov 12 00:19:18 2008 +0100 @@ -0,0 +1,375 @@ +/** + * D header file for C99. + * + * Copyright: Public Domain + * License: Public Domain + * Authors: Sean Kelly + * Standards: ISO/IEC 9899:1999 (E) + */ +module 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( Windows ) +{ + 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 +} +else version( freebsd ) +{ + 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 ENOTBLK = 15; // Block device required + 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 ESHUTDOWN = 58; // Can't send after socket shutdown + const ETOOMANYREFS = 59; // Too many refrences; can't splice + 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 EPROCLIM = 67; // Too many processes + const EUSERS = 68; // Too many users + const EDQUOT = 69; // Disc quota exceeded + const ESTALE = 70; // Stale NFS file handle + const EREMOTE = 71; // Too many levels of remote in path + const EBADRPC = 72; // RPC struct is bad + const ERPCMISMATCH = 73; // RPC version wrong + const EPROGUNAVAIL = 74; // RPC prog. not avail + const EPROGMISMATCH = 75; // Program version wrong + const EPROCUNAVAIL = 76; // Bad procedure for program + const ENOLCK = 77; // No locks available + const ENOSYS = 78; // Function not implemented + const EFTYPE = 79; // Inappropriate file type or format + const EAUTH = 80; // Authentication error + const ENEEDAUTH = 81; // Need authenticator + const EIDRM = 82; // Itendifier removed + const ENOMSG = 83; // No message of desired type + const EOVERFLOW = 84; // Value too large to be stored in data type + const ECANCELED = 85; // Operation canceled + const EILSEQ = 86; // Illegal byte sequence + const ENOATTR = 87; // Attribute not found + const EDOOFUS = 88; // Programming error + const EBADMSG = 89; // Bad message + const EMULTIHOP = 90; // Multihop attempted + const ENOLINK = 91; // Link has been severed + const EPROTO = 92; // Protocol error + const ELAST = 92; // Must be equal largest errno +}