diff options
author | Roland McGrath <roland@gnu.org> | 2002-03-11 21:28:28 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-03-11 21:28:28 +0000 |
commit | 7d55d698b81d858fac3b5e0dcde8bb2a6db70858 (patch) | |
tree | fa860fea69196a3988ebda4f10437a64c2ff94eb /sysdeps/mach | |
parent | 1396cb052d732254a453dae00c29f3a075a90cb3 (diff) | |
download | glibc-7d55d698b81d858fac3b5e0dcde8bb2a6db70858.tar glibc-7d55d698b81d858fac3b5e0dcde8bb2a6db70858.tar.gz glibc-7d55d698b81d858fac3b5e0dcde8bb2a6db70858.tar.bz2 glibc-7d55d698b81d858fac3b5e0dcde8bb2a6db70858.zip |
2002-03-11 Roland McGrath <roland@frob.com>
* Versions.def (libc): Add GLIBC_2.2.6.
* hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location.
* sysdeps/mach/hurd/errnos.awk: In generated macro, use
__errno_location instead of __hurd_errno_location, and don't inline it.
* sysdeps/mach/hurd/bits/errno.h: Regenerated.
* hurd/errno.c: New file.
* hurd/Makefile (routines): Add errno.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r-- | sysdeps/mach/hurd/bits/errno.h | 52 | ||||
-rw-r--r-- | sysdeps/mach/hurd/errnos.awk | 16 |
2 files changed, 54 insertions, 14 deletions
diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index a553d11564..38efb96b0b 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -212,14 +212,14 @@ enum __error_t_codes #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 <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, @@ -227,9 +227,13 @@ enum __error_t_codes 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_SEND_INVALID_TRAILER = 0x10000011, + EMACH_SEND_TRANSPORT_ERROR = 0x10000012, + EMACH_SEND_PORT_MIGRATED = 0x10000013, + EMACH_SEND_RESEND_FAILED = 0x10000014, + EMACH_SEND_INVALID_RT_OOL_SIZE = 0x10000015, EMACH_RCV_IN_PROGRESS = 0x10004001, EMACH_RCV_INVALID_NAME = 0x10004002, EMACH_RCV_TIMED_OUT = 0x10004003, @@ -242,6 +246,11 @@ enum __error_t_codes EMACH_RCV_IN_SET = 0x1000400a, EMACH_RCV_HEADER_ERROR = 0x1000400b, EMACH_RCV_BODY_ERROR = 0x1000400c, + EMACH_RCV_INVALID_TYPE = 0x1000400d, + EMACH_RCV_SCATTER_SMALL = 0x1000400e, + EMACH_RCV_INVALID_TRAILER = 0x1000400f, + EMACH_RCV_TRANSPORT_ERROR = 0x10004010, + EMACH_RCV_IN_PROGRESS_TIMED = 0x10004011, /* Errors from <mach/kern_return.h>. */ EKERN_INVALID_ADDRESS = 1, @@ -266,8 +275,33 @@ enum __error_t_codes EKERN_RIGHT_EXISTS = 21, EKERN_INVALID_HOST = 22, EKERN_MEMORY_PRESENT = 23, - EKERN_WRITE_PROTECTION_FAILURE = 24, - EKERN_TERMINATED = 26, + EKERN_MEMORY_DATA_MOVED = 24, + EKERN_MEMORY_RESTART_COPY = 25, + EKERN_INVALID_PROCESSOR_SET = 26, + EKERN_POLICY_LIMIT = 27, + EKERN_INVALID_POLICY = 28, + EKERN_INVALID_OBJECT = 29, + EKERN_ALREADY_WAITING = 30, + EKERN_DEFAULT_SET = 31, + EKERN_EXCEPTION_PROTECTED = 32, + EKERN_INVALID_LEDGER = 33, + EKERN_INVALID_MEMORY_CONTROL = 34, + EKERN_INVALID_SECURITY = 35, + EKERN_NOT_DEPRESSED = 36, + EKERN_TERMINATED = 37, + EKERN_LOCK_SET_DESTROYED = 38, + EKERN_LOCK_UNSTABLE = 39, + EKERN_LOCK_OWNED = 40, + EKERN_LOCK_OWNED_SELF = 41, + EKERN_SEMAPHORE_DESTROYED = 42, + EKERN_RPC_SERVER_TERMINATED = 43, + EKERN_RPC_TERMINATE_ORPHAN = 44, + EKERN_RPC_CONTINUE_ORPHAN = 45, + EKERN_NO_THREAD = 46, + EKERN_NODE_DOWN = 47, + EKERN_NOT_WAITING = 48, + EKERN_OPERATION_TIMED_OUT = 49, + EKERN_RETURN_MAX = 0x100, /* Errors from <mach/mig_errors.h>. */ EMIG_TYPE_ERROR = -300 /* client type check failure */, @@ -275,11 +309,11 @@ enum __error_t_codes 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_NO_REPLY = -305 /* no reply should be send */, 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 */, + EMIG_TRAILER_ERROR = -309 /* trailer has an unknown format */, /* Errors from <device/device_types.h>. */ ED_IO_ERROR = 2500 /* hardware IO error */, @@ -291,7 +325,9 @@ enum __error_t_codes 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 */ + ED_READ_ONLY = 2509 /* device cannot be written to */, + ED_OUT_OF_BAND = 2510 /* out-of-band condition on device */, + ED_NOT_CLONED = 2511 /* device cannot be cloned */ }; diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index cd356e7fb9..b3ac216017 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -1,4 +1,5 @@ -# Copyright (C) 1991,92,93,94,95,96,97,2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1991,92,93,94,95,96,97,2000,01,02 +# Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -153,11 +154,14 @@ END \ print "#define __error_t_defined\t1" print "#endif"; print ""; - print "/* errno is a per-thread variable. */"; - print "#include <hurd/threadvar.h>"; - print "#define errno (*__hurd_errno_location ())"; - print "#define __set_errno(val) errno = (val)"; - print ""; + print "\ +/* Return the current thread's location for `errno'.\n\ + The syntax of this function allows redeclarations like `int errno'. */\n\ +extern int *__errno_location (void) __THROW __attribute__ ((__const__));\n\ +\n\ +#define errno (*__errno_location ())\n\ +#define __set_errno(val) (errno = (val))\n\ +"; print "#endif /* <errno.h> included. */"; print ""; print "#if !defined (_ERRNO_H) && defined (__need_Emath)"; |