1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
/* 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 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
/* errno is a per-thread variable. */
#include <hurd/threadvar.h>
#define errno (*__hurd_errno_location ())
#define __set_errno(val) errno = (val)
#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. */
|