123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589 |
- /*++
- Copyright (c) 2013 Minoca Corp.
- This file is licensed under the terms of the GNU Lesser General Public
- License version 3. Alternative licensing terms are available. Contact
- info@minocacorp.com for details.
- Module Name:
- errno.h
- Abstract:
- This header contains definitions for standard error numbers.
- Author:
- Evan Green 11-Mar-2013
- --*/
- #ifndef _ERRNO_H
- #define _ERRNO_H
- //
- // ------------------------------------------------------------------- Includes
- //
- #include <libcbase.h>
- #include <stddef.h>
- //
- // ---------------------------------------------------------------- Definitions
- //
- #ifdef __cplusplus
- extern "C" {
- #endif
- //
- // Define errno as a macro so that the test for errno being defined succeeds.
- //
- #define errno errno
- //
- // Define standard error numbers.
- //
- //
- // Operation not permitted
- //
- #define EPERM 1
- //
- // No such file or directory
- //
- #define ENOFILE 2
- #define ENOENT 2
- //
- // No such process
- //
- #define ESRCH 3
- //
- // Interrupted system call
- //
- #define EINTR 4
- //
- // I/O error
- //
- #define EIO 5
- //
- // No such device or address
- //
- #define ENXIO 6
- //
- // Argument list too long
- //
- #define E2BIG 7
- //
- // Exec format error
- //
- #define ENOEXEC 8
- //
- // Bad file descriptor
- //
- #define EBADF 9
- //
- // No child processes
- //
- #define ECHILD 10
- //
- // Try again
- //
- #define EAGAIN 11
- //
- // Out of memory
- //
- #define ENOMEM 12
- //
- // Permission denied
- //
- #define EACCES 13
- //
- // Bad address
- //
- #define EFAULT 14
- //
- // Block device required
- //
- #define ENOTBLK 15
- //
- // Device or resource busy
- //
- #define EBUSY 16
- //
- // File exists
- //
- #define EEXIST 17
- //
- // Improper cross device link
- //
- #define EXDEV 18
- //
- // No such device
- //
- #define ENODEV 19
- //
- // Not a directory
- //
- #define ENOTDIR 20
- //
- // Is a directory
- //
- #define EISDIR 21
- //
- // Invalid argument
- //
- #define EINVAL 22
- //
- // Too many open files in the system
- //
- #define ENFILE 23
- //
- // Too many open files
- //
- #define EMFILE 24
- //
- // Inappropriate I/O control operation (not a typewriter)
- //
- #define ENOTTY 25
- //
- // Text file busy
- //
- #define ETXTBSY 26
- //
- // File too large
- //
- #define EFBIG 27
- //
- // No space left on device
- //
- #define ENOSPC 28
- //
- // Illegal seek (on a pipe)
- //
- #define ESPIPE 29
- //
- // Read-only file system
- //
- #define EROFS 30
- //
- // Too many links
- //
- #define EMLINK 31
- //
- // Broken pipe
- //
- #define EPIPE 32
- //
- // Numerical argument out of domain
- //
- #define EDOM 33
- //
- // Numerical result out of range
- //
- #define ERANGE 34
- //
- // Resource deadlock would occur
- //
- #define EDEADLOCK 35
- #define EDEADLK 35
- //
- // File name too long
- //
- #define ENAMETOOLONG 36
- //
- // No record locks available
- //
- #define ENOLCK 37
- //
- // Function not implemented
- //
- #define ENOSYS 38
- //
- // Directory not empty
- //
- #define ENOTEMPTY 39
- //
- // Too many symbolic links encountered
- //
- #define ELOOP 40
- //
- // Operation would block
- //
- #define EWOULDBLOCK EAGAIN
- //
- // No message of desired type
- //
- #define ENOMSG 42
- //
- // Identifier removed
- //
- #define EIDRM 43
- //
- // Operation not supported.
- //
- #define ENOTSUP 44
- //
- // The previous owner died.
- //
- #define EOWNERDEAD 45
- //
- // The state is not recoverable.
- //
- #define ENOTRECOVERABLE 46
- //
- // Device not a stream
- //
- #define ENOSTR 47
- //
- // No data available
- //
- #define ENODATA 48
- //
- // Timer expired
- //
- #define ETIME 49
- //
- // Out of streams resources
- //
- #define ENOSR 50
- //
- // Link has been severed
- //
- #define ENOLINK 51
- //
- // Protocol error
- //
- #define EPROTO 52
- //
- // Multihop attempted
- //
- #define EMULTIHOP 53
- //
- // Not a data message
- //
- #define EBADMSG 54
- //
- // Value too large for defined data type
- //
- #define EOVERFLOW 55
- //
- // Illegal byte sequence
- //
- #define EILSEQ 56
- //
- // Socket operation on non-socket
- //
- #define ENOTSOCK 57
- //
- // Destination address required
- //
- #define EDESTADDRREQ 58
- //
- // Message too long
- //
- #define EMSGSIZE 59
- //
- // Protocol wrong type for socket
- //
- #define EPROTOTYPE 60
- //
- // Protocol not available
- //
- #define ENOPROTOOPT 61
- //
- // Protocol not supported
- //
- #define EPROTONOSUPPORT 62
- //
- // Operation not supported on transport endpoint
- //
- #define EOPNOTSUPP 63
- //
- // Address family not supported by protocol
- //
- #define EAFNOSUPPORT 64
- //
- // Address already in use
- //
- #define EADDRINUSE 65
- //
- // Cannot assign requested address
- //
- #define EADDRNOTAVAIL 66
- //
- // Network is down
- //
- #define ENETDOWN 67
- //
- // Network is unreachable
- //
- #define ENETUNREACH 68
- //
- // Network dropped connection on reset
- //
- #define ENETRESET 69
- //
- // Software caused connection abort
- //
- #define ECONNABORTED 70
- //
- // Connection reset
- //
- #define ECONNRESET 71
- //
- // No buffer space available
- //
- #define ENOBUFS 72
- //
- // Transport endpoint already connected
- //
- #define EISCONN 73
- //
- // Transport endpoint is not connected
- //
- #define ENOTCONN 74
- //
- // Connection timed out
- //
- #define ETIMEDOUT 75
- //
- // Connection refused
- //
- #define ECONNREFUSED 76
- //
- // No route to host
- //
- #define EHOSTUNREACH 77
- //
- // Operation already in progress
- //
- #define EALREADY 78
- //
- // Operation now in progress
- //
- #define EINPROGRESS 79
- //
- // Stale NFS handle
- //
- #define ESTALE 80
- //
- // Quota exceeded
- //
- #define EDQUOT 81
- //
- // Operation canceled
- //
- #define ECANCELED 82
- //
- // Protocol family not supported
- //
- #define EPFNOSUPPORT 83
- //
- // Cannot send after endpoint shutdown.
- //
- #define ESHUTDOWN 84
- //
- // Host is down.
- //
- #define EHOSTDOWN 85
- //
- // ------------------------------------------------------ Data Type Definitions
- //
- //
- // -------------------------------------------------------------------- Globals
- //
- //
- // Define the last error number global.
- //
- LIBC_API extern __THREAD int errno;
- //
- // -------------------------------------------------------- Function Prototypes
- //
- #ifdef __cplusplus
- }
- #endif
- #endif
|