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
+}