glibc/sysdeps/mach/hurd/errnos.h
Roland McGrath 8f0c527e13 Sat May 4 05:44:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post
	rpc.

	* hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions
	instead of _hurd_split_args.
	(_S_msg_*_exec_flags): Functions removed.
	(_S_msg_startup_dosync): Stub removed.

Sat May  4 02:11:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of
	EXEC_TRACED bit in _hurd_exec_flags.
	Pass sigcode arg in msg_sig_post_untraced rpc.

	* sysdeps/mach/hurd/access.c: Don't pass io port in
	auth_user_authenticate rpc.

	* posix/sched.h: Fix typos.

	* sysdeps/mach/hurd/fork.c: Use new critical section lock.
	Clear _hurdsig_traced instead of EXEC_TRACED.

	* sysdeps/stub/nanosleep.c (nanosleep): Fix typo.

	* wcsmbs/wcstol.c: Find strtol.c in ../stdlib.
	* wcsmbs/wcstof.c: Find strtod.c in ../stdlib.
	* wcsmbs/wcstod.c: Likewise.
	* wcsmbs/wcstold.c: Likewise.

	* wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype.

	* string/envz.c (envz_entry): Use const.
	(envz_get, envz_remove): Likewise.
	(envz_entry): Return char *, not const char *.

	* string/envz.h: Fix decl.

	* string/argz-create.c: Use const in prototype.
	* string/argz-next.c: Likewise.

	* sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post.
	* sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
	* sysdeps/mach/hurd/sigsuspend.c: Likewise.
	* sysdeps/mach/hurd/kill.c: Likewise.

	* hurd/hurdexec.c (_hurd_exec): Use new critical section lock.
	* hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
	* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise.
	* hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel):
	Likewise.
	* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
	* sysdeps/mach/hurd/sigaction.c: Likewise.

	* sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can
	change meaninglessly.

	* hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section
 	flag with a spin lock.
	(_hurd_critical_section_lock): Use spin_try_lock on that to see if we
 	get it.  No need to take SS->lock at all.
	(_hurd_critical_section_unlock): Unlock SS->critical_section_lock
	instead of clearing the old flag member.
	* hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to
	test the critical section state.

	* hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray.

	* hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced
 	instead of testing (_hurd_exec_flags & EXEC_TRACED).
	(_S_msg_sig_post): Take sigcode arg and pass it through.
	(_S_msg_sig_post_untraced): Likewise.
	(reauth_proc): Don't pass proc port in auth_user_authenticate.

	* hurd/setauth.c (_hurd_setauth): Don't pass object ports in
	auth_user_authenticate RPCs, just the one-off rendezvous port.
	* hurd/dtable.c (reauth_dtable): Likewise.
	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise.

	* hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec.
	Pass sigcode arg to msg_sig_post.

	* string/argz.h (argz_create): Use const in prototype.

	* hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of
	testing (_hurd_exec_flags & EXEC_TRACED).
	Pass sigcode arg to msg_sig_post.

	* hurd/hurd.h: Declare _hurdsig_traced.

	* string/argz.h (__argz_next): Cast ENTRY before returning it.

	* hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg
	to msg_sig_post.

	* hurd/path-lookup.c: New file.
	* hurd/Makefile (routines): Add path-lookup.
	* hurd/hurd/lookup.h: Declare file_name_path_scan,
	hurd_file_name_path_lookup.
	* hurd/hurd.h: Declare file_name_path_lookup.

	* sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID
	argument.  Instead, use a separate reply port for each RPC and put them
	all in a port set to wait for slow replies.
1996-05-04 09:46:57 +00:00

290 lines
14 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) /* Device not configured */
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 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)/* Operation not supported by 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 family */
EADDRINUSE = _HURD_ERRNO (48),
#define EADDRINUSE _HURD_ERRNO (48)/* Address already in use */
EADDRNOTAVAIL = _HURD_ERRNO (49),
#define EADDRNOTAVAIL _HURD_ERRNO (49)/* Can't 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)/* Socket is already connected */
ENOTCONN = _HURD_ERRNO (57),
#define ENOTCONN _HURD_ERRNO (57)/* Socket is not connected */
EDESTADDRREQ = _HURD_ERRNO (39),
#define EDESTADDRREQ _HURD_ERRNO (39)/* Destination address required */
ESHUTDOWN = _HURD_ERRNO (58),
#define ESHUTDOWN _HURD_ERRNO (58)/* Can't send after socket shutdown */
ETOOMANYREFS = _HURD_ERRNO (59),
#define ETOOMANYREFS _HURD_ERRNO (59)/* Too many references: can't 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)/* Disc quota exceeded */
ESTALE = _HURD_ERRNO (70),
#define ESTALE _HURD_ERRNO (70)/* Stale NFS file handle */
EREMOTE = _HURD_ERRNO (71),
#define EREMOTE _HURD_ERRNO (71)/* Too many levels of remote in path */
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 */
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 */
/* 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,
/* 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 106
/* 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
/* errno is a per-thread variable. */
#include <hurd/threadvar.h>
#define errno (*__hurd_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. */