summaryrefslogtreecommitdiff
path: root/libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h')
-rw-r--r--libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h264
1 files changed, 264 insertions, 0 deletions
diff --git a/libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h b/libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h
new file mode 100644
index 0000000..dffe7c8
--- /dev/null
+++ b/libc/hurd-l4/sysdeps/l4/hurd/bits/errno.h
@@ -0,0 +1,264 @@
+/* FIXME: Make this file generated by errnos.awk. */
+
+/* FIXME: I suggest the following scheme:
+ system (8) | subsystem (8) | code (16).
+
+ 0: The Hurd
+ 0-0: The POSIX personality of the Hurd.
+ 0-1: The Hurd capability system (including RPC stub generator).
+ 0-2: Fabrica (Device Driver Framework exported through DEVA)
+ 1: L4
+*/
+
+/* The POSIX personality of the Hurd uses error system 0, subsystem 0. */
+#ifndef _HURD_ERRNO
+#define _HURD_ERRNO(n) ((n) & 0xffff)
+#endif
+
+#ifdef _ERRNO_H
+
+enum __error_t_codes
+{
+#undef EDOM
+#undef ERANGE
+ EPERM = _HURD_ERRNO (1),
+#define EPERM _HURD_ERRNO (1) /* Operation not permitted */
+ ENOENT = _HURD_ERRNO (2),
+#define ENOENT _HURD_ERRNO (2) /* No such file or directory */
+ ESRCH = _HURD_ERRNO (3),
+#define ESRCH _HURD_ERRNO (3) /* No such process */
+ EINTR = _HURD_ERRNO (4),
+#define EINTR _HURD_ERRNO (4) /* Interrupted system call */
+ EIO = _HURD_ERRNO (5),
+#define EIO _HURD_ERRNO (5) /* Input/output error */
+ ENXIO = _HURD_ERRNO (6),
+#define ENXIO _HURD_ERRNO (6) /* No such device or address */
+ E2BIG = _HURD_ERRNO (7),
+#define E2BIG _HURD_ERRNO (7) /* Argument list too long */
+ ENOEXEC = _HURD_ERRNO (8),
+#define ENOEXEC _HURD_ERRNO (8) /* Exec format error */
+ EBADF = _HURD_ERRNO (9),
+#define EBADF _HURD_ERRNO (9) /* Bad file descriptor */
+ ECHILD = _HURD_ERRNO (10),
+#define ECHILD _HURD_ERRNO (10)/* No child processes */
+ EDEADLK = _HURD_ERRNO (11),
+#define EDEADLK _HURD_ERRNO (11)/* Resource deadlock avoided */
+ ENOMEM = _HURD_ERRNO (12),
+#define ENOMEM _HURD_ERRNO (12)/* Cannot allocate memory */
+ EACCES = _HURD_ERRNO (13),
+#define EACCES _HURD_ERRNO (13)/* Permission denied */
+ EFAULT = _HURD_ERRNO (14),
+#define EFAULT _HURD_ERRNO (14)/* Bad address */
+ ENOTBLK = _HURD_ERRNO (15),
+#define ENOTBLK _HURD_ERRNO (15)/* Block device required */
+ EBUSY = _HURD_ERRNO (16),
+#define EBUSY _HURD_ERRNO (16)/* Device or resource busy */
+ EEXIST = _HURD_ERRNO (17),
+#define EEXIST _HURD_ERRNO (17)/* File exists */
+ EXDEV = _HURD_ERRNO (18),
+#define EXDEV _HURD_ERRNO (18)/* Invalid cross-device link */
+ ENODEV = _HURD_ERRNO (19),
+#define ENODEV _HURD_ERRNO (19)/* No such device */
+ ENOTDIR = _HURD_ERRNO (20),
+#define ENOTDIR _HURD_ERRNO (20)/* Not a directory */
+ EISDIR = _HURD_ERRNO (21),
+#define EISDIR _HURD_ERRNO (21)/* Is a directory */
+ EINVAL = _HURD_ERRNO (22),
+#define EINVAL _HURD_ERRNO (22)/* Invalid argument */
+ EMFILE = _HURD_ERRNO (24),
+#define EMFILE _HURD_ERRNO (24)/* Too many open files */
+ ENFILE = _HURD_ERRNO (23),
+#define ENFILE _HURD_ERRNO (23)/* Too many open files in system */
+ ENOTTY = _HURD_ERRNO (25),
+#define ENOTTY _HURD_ERRNO (25)/* Inappropriate ioctl for device */
+ ETXTBSY = _HURD_ERRNO (26),
+#define ETXTBSY _HURD_ERRNO (26)/* Text file busy */
+ EFBIG = _HURD_ERRNO (27),
+#define EFBIG _HURD_ERRNO (27)/* File too large */
+ ENOSPC = _HURD_ERRNO (28),
+#define ENOSPC _HURD_ERRNO (28)/* No space left on device */
+ ESPIPE = _HURD_ERRNO (29),
+#define ESPIPE _HURD_ERRNO (29)/* Illegal seek */
+ EROFS = _HURD_ERRNO (30),
+#define EROFS _HURD_ERRNO (30)/* Read-only file system */
+ EMLINK = _HURD_ERRNO (31),
+#define EMLINK _HURD_ERRNO (31)/* Too many links */
+ EPIPE = _HURD_ERRNO (32),
+#define EPIPE _HURD_ERRNO (32)/* Broken pipe */
+ EDOM = _HURD_ERRNO (33),
+#define EDOM _HURD_ERRNO (33)/* Numerical argument out of domain */
+ ERANGE = _HURD_ERRNO (34),
+#define ERANGE _HURD_ERRNO (34)/* Numerical result out of range */
+ EAGAIN = _HURD_ERRNO (35),
+#define EAGAIN _HURD_ERRNO (35)/* Resource temporarily unavailable */
+#define EWOULDBLOCK EAGAIN /* Operation would block */
+ EINPROGRESS = _HURD_ERRNO (36),
+#define EINPROGRESS _HURD_ERRNO (36)/* Operation now in progress */
+ EALREADY = _HURD_ERRNO (37),
+#define EALREADY _HURD_ERRNO (37)/* Operation already in progress */
+ ENOTSOCK = _HURD_ERRNO (38),
+#define ENOTSOCK _HURD_ERRNO (38)/* Socket operation on non-socket */
+ EMSGSIZE = _HURD_ERRNO (40),
+#define EMSGSIZE _HURD_ERRNO (40)/* Message too long */
+ EPROTOTYPE = _HURD_ERRNO (41),
+#define EPROTOTYPE _HURD_ERRNO (41)/* Protocol wrong type for socket */
+ ENOPROTOOPT = _HURD_ERRNO (42),
+#define ENOPROTOOPT _HURD_ERRNO (42)/* Protocol not available */
+ EPROTONOSUPPORT = _HURD_ERRNO (43),
+#define EPROTONOSUPPORT _HURD_ERRNO (43)/* Protocol not supported */
+ ESOCKTNOSUPPORT = _HURD_ERRNO (44),
+#define ESOCKTNOSUPPORT _HURD_ERRNO (44)/* Socket type not supported */
+ EOPNOTSUPP = _HURD_ERRNO (45),
+#define EOPNOTSUPP _HURD_ERRNO (45)/* Operation not supported */
+ EPFNOSUPPORT = _HURD_ERRNO (46),
+#define EPFNOSUPPORT _HURD_ERRNO (46)/* Protocol family not supported */
+ EAFNOSUPPORT = _HURD_ERRNO (47),
+#define EAFNOSUPPORT _HURD_ERRNO (47)/* Address family not supported by protocol */
+ EADDRINUSE = _HURD_ERRNO (48),
+#define EADDRINUSE _HURD_ERRNO (48)/* Address already in use */
+ EADDRNOTAVAIL = _HURD_ERRNO (49),
+#define EADDRNOTAVAIL _HURD_ERRNO (49)/* Cannot assign requested address */
+ ENETDOWN = _HURD_ERRNO (50),
+#define ENETDOWN _HURD_ERRNO (50)/* Network is down */
+ ENETUNREACH = _HURD_ERRNO (51),
+#define ENETUNREACH _HURD_ERRNO (51)/* Network is unreachable */
+ ENETRESET = _HURD_ERRNO (52),
+#define ENETRESET _HURD_ERRNO (52)/* Network dropped connection on reset */
+ ECONNABORTED = _HURD_ERRNO (53),
+#define ECONNABORTED _HURD_ERRNO (53)/* Software caused connection abort */
+ ECONNRESET = _HURD_ERRNO (54),
+#define ECONNRESET _HURD_ERRNO (54)/* Connection reset by peer */
+ ENOBUFS = _HURD_ERRNO (55),
+#define ENOBUFS _HURD_ERRNO (55)/* No buffer space available */
+ EISCONN = _HURD_ERRNO (56),
+#define EISCONN _HURD_ERRNO (56)/* Transport endpoint is already connected */
+ ENOTCONN = _HURD_ERRNO (57),
+#define ENOTCONN _HURD_ERRNO (57)/* Transport endpoint is not connected */
+ EDESTADDRREQ = _HURD_ERRNO (39),
+#define EDESTADDRREQ _HURD_ERRNO (39)/* Destination address required */
+ ESHUTDOWN = _HURD_ERRNO (58),
+#define ESHUTDOWN _HURD_ERRNO (58)/* Cannot send after transport endpoint shutdown */
+ ETOOMANYREFS = _HURD_ERRNO (59),
+#define ETOOMANYREFS _HURD_ERRNO (59)/* Too many references: cannot splice */
+ ETIMEDOUT = _HURD_ERRNO (60),
+#define ETIMEDOUT _HURD_ERRNO (60)/* Connection timed out */
+ ECONNREFUSED = _HURD_ERRNO (61),
+#define ECONNREFUSED _HURD_ERRNO (61)/* Connection refused */
+ ELOOP = _HURD_ERRNO (62),
+#define ELOOP _HURD_ERRNO (62)/* Too many levels of symbolic links */
+ ENAMETOOLONG = _HURD_ERRNO (63),
+#define ENAMETOOLONG _HURD_ERRNO (63)/* File name too long */
+ EHOSTDOWN = _HURD_ERRNO (64),
+#define EHOSTDOWN _HURD_ERRNO (64)/* Host is down */
+ EHOSTUNREACH = _HURD_ERRNO (65),
+#define EHOSTUNREACH _HURD_ERRNO (65)/* No route to host */
+ ENOTEMPTY = _HURD_ERRNO (66),
+#define ENOTEMPTY _HURD_ERRNO (66)/* Directory not empty */
+ EPROCLIM = _HURD_ERRNO (67),
+#define EPROCLIM _HURD_ERRNO (67)/* Too many processes */
+ EUSERS = _HURD_ERRNO (68),
+#define EUSERS _HURD_ERRNO (68)/* Too many users */
+ EDQUOT = _HURD_ERRNO (69),
+#define EDQUOT _HURD_ERRNO (69)/* Disk quota exceeded */
+ ESTALE = _HURD_ERRNO (70),
+#define ESTALE _HURD_ERRNO (70)/* Stale NFS file handle */
+ EREMOTE = _HURD_ERRNO (71),
+#define EREMOTE _HURD_ERRNO (71)/* Object is remote */
+ EBADRPC = _HURD_ERRNO (72),
+#define EBADRPC _HURD_ERRNO (72)/* RPC struct is bad */
+ ERPCMISMATCH = _HURD_ERRNO (73),
+#define ERPCMISMATCH _HURD_ERRNO (73)/* RPC version wrong */
+ EPROGUNAVAIL = _HURD_ERRNO (74),
+#define EPROGUNAVAIL _HURD_ERRNO (74)/* RPC program not available */
+ EPROGMISMATCH = _HURD_ERRNO (75),
+#define EPROGMISMATCH _HURD_ERRNO (75)/* RPC program version wrong */
+ EPROCUNAVAIL = _HURD_ERRNO (76),
+#define EPROCUNAVAIL _HURD_ERRNO (76)/* RPC bad procedure for program */
+ ENOLCK = _HURD_ERRNO (77),
+#define ENOLCK _HURD_ERRNO (77)/* No locks available */
+ EFTYPE = _HURD_ERRNO (79),
+#define EFTYPE _HURD_ERRNO (79)/* Inappropriate file type or format */
+ EAUTH = _HURD_ERRNO (80),
+#define EAUTH _HURD_ERRNO (80)/* Authentication error */
+ ENEEDAUTH = _HURD_ERRNO (81),
+#define ENEEDAUTH _HURD_ERRNO (81)/* Need authenticator */
+ ENOSYS = _HURD_ERRNO (78),
+#define ENOSYS _HURD_ERRNO (78)/* Function not implemented */
+ ENOTSUP = _HURD_ERRNO (118),
+#define ENOTSUP _HURD_ERRNO (118)/* Not supported */
+ EILSEQ = _HURD_ERRNO (106),
+#define EILSEQ _HURD_ERRNO (106)/* Invalid or incomplete multibyte or wide character */
+ EBACKGROUND = _HURD_ERRNO (100),
+#define EBACKGROUND _HURD_ERRNO (100)/* Inappropriate operation for background process */
+ EDIED = _HURD_ERRNO (101),
+#define EDIED _HURD_ERRNO (101)/* Translator died */
+ ED = _HURD_ERRNO (102),
+#define ED _HURD_ERRNO (102)/* ? */
+ EGREGIOUS = _HURD_ERRNO (103),
+#define EGREGIOUS _HURD_ERRNO (103)/* You really blew it this time */
+ EIEIO = _HURD_ERRNO (104),
+#define EIEIO _HURD_ERRNO (104)/* Computer bought the farm */
+ EGRATUITOUS = _HURD_ERRNO (105),
+#define EGRATUITOUS _HURD_ERRNO (105)/* Gratuitous error */
+ EBADMSG = _HURD_ERRNO (107),
+#define EBADMSG _HURD_ERRNO (107)/* Bad message */
+ EIDRM = _HURD_ERRNO (108),
+#define EIDRM _HURD_ERRNO (108)/* Identifier removed */
+ EMULTIHOP = _HURD_ERRNO (109),
+#define EMULTIHOP _HURD_ERRNO (109)/* Multihop attempted */
+ ENODATA = _HURD_ERRNO (110),
+#define ENODATA _HURD_ERRNO (110)/* No data available */
+ ENOLINK = _HURD_ERRNO (111),
+#define ENOLINK _HURD_ERRNO (111)/* Link has been severed */
+ ENOMSG = _HURD_ERRNO (112),
+#define ENOMSG _HURD_ERRNO (112)/* No message of desired type */
+ ENOSR = _HURD_ERRNO (113),
+#define ENOSR _HURD_ERRNO (113)/* Out of streams resources */
+ ENOSTR = _HURD_ERRNO (114),
+#define ENOSTR _HURD_ERRNO (114)/* Device not a stream */
+ EOVERFLOW = _HURD_ERRNO (115),
+#define EOVERFLOW _HURD_ERRNO (115)/* Value too large for defined data type */
+ EPROTO = _HURD_ERRNO (116),
+#define EPROTO _HURD_ERRNO (116)/* Protocol error */
+ ETIME = _HURD_ERRNO (117),
+#define ETIME _HURD_ERRNO (117)/* Timer expired */
+ ECANCELED = _HURD_ERRNO (118),
+#define ECANCELED _HURD_ERRNO (118)/* Operation canceled */
+
+ /* Errors from <l4/mach/message.h>. */
+
+#ifndef _HURD_L4_ERRNO
+#define _HURD_L4_ERRNO(n) ((1 << 24) | ((n) & 0xffff))
+#endif
+
+ EL4_NO_PRIVILEGE = _HURD_L4_ERRNO(1),
+ EL4_INV_THREAD = _HURD_L4_ERRNO(2),
+ EL4_INV_SPACE = _HURD_L4_ERRNO(3),
+ EL4_INV_SCHEDULER = _HURD_L4_ERRNO(4),
+ EL4_INV_PARAM = _HURD_L4_ERRNO(5),
+ EL4_UTCB_AREA = _HURD_L4_ERRNO(6),
+ EL4_KIP_AREA = _HURD_L4_ERRNO(7),
+ EL4_NO_MEM = _HURD_L4_ERRNO(8)
+};
+
+#define _HURD_ERRNOS 119
+
+/* User-visible type of error codes. It is ok to use `int' for these,
+ but with `error_t' the debugger prints symbolic values. */
+#ifdef __USE_GNU
+typedef enum __error_t_codes error_t;
+#define __error_t_defined 1
+#endif
+
+/* Return the current thread's location for `errno'.
+ The syntax of this function allows redeclarations like `int errno'. */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#define errno (*__errno_location ())
+
+#endif /* <errno.h> included. */
+
+#if !defined (_ERRNO_H) && defined (__need_Emath)
+#define EDOM _HURD_ERRNO (33)/* Numerical argument out of domain */
+#define ERANGE _HURD_ERRNO (34)/* Numerical result out of range */
+#endif /* <errno.h> not included and need math error codes. */