glibc/sysdeps/mach/hurd/bits/errno.h
Ulrich Drepper 739d440d2a Update.
2002-07-19  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add test for __thread support in compiler.
	* config.h.in: Add HAVE___THREAD.
	* Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h.
	* include/sys/errno.h: Moved to...
	* stdlib/sys/errno.h: ...here.  New file.
	* stdlib/errno.h: New file.  Moved from...
	* include/errno.h: ...here.  Changed into an internal header defining
	libc-local things like __set_errno.
	* stdlib/Makefile (headers): Add errno.h, sys/errno.h, and
	bits/errno.h.
	* elf/dl-minimal.c: Include <tls.h>.  Define errno as thread-local
	variable if USE_TLS && HAVE___THREAD.  Don't define __errno_location
	either.
	* elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so
	from...
	(_dl_start_final): ...here.  Add code to initialize tls elements from
	bootstrap_map.
	* sysdeps/generic/errno-loc.c: Define errno as thread-local variable
	if USE_TLS && HAVE___THREAD.
	* sysdeps/generic/bits/errno.h: Remove __set_errno definition.
	* sysdeps/mach/hurd/bits/errno.h: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/bits/errno.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/aix/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/hpux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise.
	* sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't
	use GL(dl_rtld_map), use map parameter.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if
	USE_TLS && HAVE___THREAD.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG
	definitions.  If USE_TLS && HAVE___THREAD store errooor value using
	TLS code sequence.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno.
	* sysdeps/unix/sysv/linux/grantpt.c: Likewise.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
2002-07-20 01:14:41 +00:00

320 lines
15 KiB
C

/* This file generated by errnos.awk. */
/* The Hurd uses Mach error system 0x10, currently only subsystem 0. */
#ifndef _HURD_ERRNO
#define _HURD_ERRNO(n) ((0x10 << 26) | ((n) & 0x3fff))
#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 */
/* Errors from <mach/message.h>. */
EMACH_SEND_IN_PROGRESS = 0x10000001,
EMACH_SEND_INVALID_DATA = 0x10000002,
EMACH_SEND_INVALID_DEST = 0x10000003,
EMACH_SEND_TIMED_OUT = 0x10000004,
EMACH_SEND_WILL_NOTIFY = 0x10000005,
EMACH_SEND_NOTIFY_IN_PROGRESS = 0x10000006,
EMACH_SEND_INTERRUPTED = 0x10000007,
EMACH_SEND_MSG_TOO_SMALL = 0x10000008,
EMACH_SEND_INVALID_REPLY = 0x10000009,
EMACH_SEND_INVALID_RIGHT = 0x1000000a,
EMACH_SEND_INVALID_NOTIFY = 0x1000000b,
EMACH_SEND_INVALID_MEMORY = 0x1000000c,
EMACH_SEND_NO_BUFFER = 0x1000000d,
EMACH_SEND_NO_NOTIFY = 0x1000000e,
EMACH_SEND_INVALID_TYPE = 0x1000000f,
EMACH_SEND_INVALID_HEADER = 0x10000010,
EMACH_RCV_IN_PROGRESS = 0x10004001,
EMACH_RCV_INVALID_NAME = 0x10004002,
EMACH_RCV_TIMED_OUT = 0x10004003,
EMACH_RCV_TOO_LARGE = 0x10004004,
EMACH_RCV_INTERRUPTED = 0x10004005,
EMACH_RCV_PORT_CHANGED = 0x10004006,
EMACH_RCV_INVALID_NOTIFY = 0x10004007,
EMACH_RCV_INVALID_DATA = 0x10004008,
EMACH_RCV_PORT_DIED = 0x10004009,
EMACH_RCV_IN_SET = 0x1000400a,
EMACH_RCV_HEADER_ERROR = 0x1000400b,
EMACH_RCV_BODY_ERROR = 0x1000400c,
/* Errors from <mach/kern_return.h>. */
EKERN_INVALID_ADDRESS = 1,
EKERN_PROTECTION_FAILURE = 2,
EKERN_NO_SPACE = 3,
EKERN_INVALID_ARGUMENT = 4,
EKERN_FAILURE = 5,
EKERN_RESOURCE_SHORTAGE = 6,
EKERN_NOT_RECEIVER = 7,
EKERN_NO_ACCESS = 8,
EKERN_MEMORY_FAILURE = 9,
EKERN_MEMORY_ERROR = 10,
EKERN_NOT_IN_SET = 12,
EKERN_NAME_EXISTS = 13,
EKERN_ABORTED = 14,
EKERN_INVALID_NAME = 15,
EKERN_INVALID_TASK = 16,
EKERN_INVALID_RIGHT = 17,
EKERN_INVALID_VALUE = 18,
EKERN_UREFS_OVERFLOW = 19,
EKERN_INVALID_CAPABILITY = 20,
EKERN_RIGHT_EXISTS = 21,
EKERN_INVALID_HOST = 22,
EKERN_MEMORY_PRESENT = 23,
EKERN_WRITE_PROTECTION_FAILURE = 24,
EKERN_TERMINATED = 26,
/* Errors from <mach/mig_errors.h>. */
EMIG_TYPE_ERROR = -300 /* client type check failure */,
EMIG_REPLY_MISMATCH = -301 /* wrong reply message ID */,
EMIG_REMOTE_ERROR = -302 /* server detected error */,
EMIG_BAD_ID = -303 /* bad request message ID */,
EMIG_BAD_ARGUMENTS = -304 /* server type check failure */,
EMIG_NO_REPLY = -305 /* no reply should be sent */,
EMIG_EXCEPTION = -306 /* server raised exception */,
EMIG_ARRAY_TOO_LARGE = -307 /* array not large enough */,
EMIG_SERVER_DIED = -308 /* server died */,
EMIG_DESTROY_REQUEST = -309 /* destroy request with no reply */,
/* Errors from <device/device_types.h>. */
ED_IO_ERROR = 2500 /* hardware IO error */,
ED_WOULD_BLOCK = 2501 /* would block, but D_NOWAIT set */,
ED_NO_SUCH_DEVICE = 2502 /* no such device */,
ED_ALREADY_OPEN = 2503 /* exclusive-use device already open */,
ED_DEVICE_DOWN = 2504 /* device has been shut down */,
ED_INVALID_OPERATION = 2505 /* bad operation for device */,
ED_INVALID_RECNUM = 2506 /* invalid record (block) number */,
ED_INVALID_SIZE = 2507 /* invalid IO size */,
ED_NO_MEMORY = 2508 /* memory allocation failure */,
ED_READ_ONLY = 2509 /* device cannot be written to */
};
#define _HURD_ERRNOS 119
/* User-visible type of error codes. It is ok to use `int' or
`kern_return_t' 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. */