diff tango/tango/stdc/errno.d @ 132:1700239cab2e trunk

[svn r136] MAJOR UNSTABLE UPDATE!!! Initial commit after moving to Tango instead of Phobos. Lots of bugfixes... This build is not suitable for most things.
author lindquist
date Fri, 11 Jan 2008 17:57:40 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tango/tango/stdc/errno.d	Fri Jan 11 17:57:40 2008 +0100
@@ -0,0 +1,280 @@
+/**
+ * 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
+}