diff --git a/libs/libc/include/errno.h b/libs/libc/include/errno.h index 242141b6..8b3aa436 100644 --- a/libs/libc/include/errno.h +++ b/libs/libc/include/errno.h @@ -4,33 +4,76 @@ /* The last error encountered during a call to a library or system function. */ extern int errno; -#define EPERM 1 // Operation not permitted -#define ENOENT 2 // No such file or directory -#define ESRCH 3 // No such process -#define EINTR 4 // Interrupted system call. Not implemented. -#define EIO 5 // Input/output error. Not implemented. -#define E2BIG 7 // Argument list too long -#define ENOEXEC 8 // Exec format error -#define EBADF 9 // Bad file descriptor -#define ECHILD 10 // No child processes -#define EAGAIN 11 // Resource temporarily unavailable -#define ENOMEM 12 // Cannot allocate memory -#define EACCES 13 // Permission denied -#define EFAULT 14 // Bad address -#define EEXIST 17 // File exists -#define ENOTDIR 20 // Not a directory -#define EISDIR 21 // Is a directory -#define EINVAL 22 // Invalid argument -#define EMFILE 24 // Too many open files -#define ENOTTY 25 // Inappropriate ioctl for device -#define EFBIG 27 // File too large. Not implemented. -#define ENOSPC 28 // No space left on device -#define EPIPE 32 // Broken pipe. Not implemented. -#define EDOM 33 // Numerical argument out of domain. Not implemented. -#define ERANGE 34 // Numerical result out of range -#define ENOSYS 38 // Function not implemented -#define ENOTSUP 95 // Operation not supported -#define EOPNOTSUPP 95 // Operation not supported +#define EPERM 1 // Operation not permitted +#define ENOENT 2 // No such file or directory +#define ESRCH 3 // No such process +#define EINTR 4 // Interrupted system call. Not implemented. +#define EIO 5 // Input/output error. Not implemented. +#define ENXIO 6 // No such device or address. Not implemented. +#define E2BIG 7 // Argument list too long +#define ENOEXEC 8 // Exec format error +#define EBADF 9 // Bad file descriptor +#define ECHILD 10 // No child processes +#define EAGAIN 11 // Resource temporarily unavailable +#define EWOULDBLOCK 11 // Resource temporarily unavailable +#define ENOMEM 12 // Cannot allocate memory +#define EACCES 13 // Permission denied +#define EFAULT 14 // Bad address +#define EBUSY 16 // Device or resource busy. Not implemented. +#define EEXIST 17 // File exists +#define EXDEV 18 // Invalid cross-device link. Not implemented. +#define ENODEV 19 // No such device. Not implemented. +#define ENOTDIR 20 // Not a directory +#define EISDIR 21 // Is a directory +#define EINVAL 22 // Invalid argument +#define ENFILE 23 // Too many open files in system. Not implemented. +#define EMFILE 24 // Too many open files +#define ENOTTY 25 // Inappropriate ioctl for device +#define EFBIG 27 // File too large. Not implemented. +#define ENOSPC 28 // No space left on device +#define ESPIPE 29 // Illegal seek. Not implemented. +#define EROFS 30 // Read-only file system. Not implemented. +#define EMLINK 31 // Too many links. Not implemented. +#define EPIPE 32 // Broken pipe. Not implemented. +#define EDOM 33 // Numerical argument out of domain. Not implemented. +#define ERANGE 34 // Numerical result out of range +#define EDEADLK 35 // Resource deadlock avoided. Not implemented. +#define ENAMETOOLONG 36 // File name too long. Not implemented. +#define ENOLCK 37 // No locks available. Not implemented. +#define ENOSYS 38 // Function not implemented +#define ENOTEMPTY 39 // Directory not empty. Not implemented. +#define ELOOP 40 // Too many levels of symbolic links. Not implemented. +#define ENOMSG 42 // No message of desired type. Not implemented. +#define EILSEQ 84 // Invalid or incomplete multibyte or wide character. Not implemented. +#define ENOTSOCK 88 // Socket operation on non-socket. Not implemented. +#define ENOTSUP 95 // Operation not supported +#define EOPNOTSUPP 95 // Operation not supported +#define EADDRINUSE 98 // Address already in use. Not implemented. +#define ENETRESET 102 // Network dropped connection on reset. Not implemented. +#define ECONNRESET 104 // Connection reset by peer. Not implemented. +#define EISCONN 106 // Transport endpoint is already connected. Not implemented. +#define ETIMEDOUT 110 // Connection timed out. Not implemented. +#define EALREADY 114 // Operation already in progress. Not implemented. + +// FIXME: Right now I don't want to have to order and label these, since we have no net support anyways. +#define EADDRNOTAVAIL -1 +#define EAFNOSUPPORT -1 +#define ECONNABORTED -1 +#define ECONNREFUSED -1 +#define EDESTADDRREQ -1 +#define EHOSTUNREACH -1 +#define EINPROGRESS -1 +#define EMSGSIZE -1 +#define ENETDOWN -1 +#define ENETRESET -1 +#define ENETUNREACH -1 +#define ENOBUFS -1 +#define ENOMSG -1 +#define ENOPROTOOPT -1 +#define ENOTCONN -1 +#define ENOTSOCK -1 +#define EPROTONOSUPPORT -1 +#define EPROTOTYPE -1 #ifdef _GNU_SOURCE // Give it only to programs that ask for it. /* Name used to invoke calling program. Same value as argv[0] in main(), but can be used globally. */