]>
Commit | Line | Data |
---|---|---|
b25ae9c6 RM |
1 | /* This file is generated from errno.texi by errlist.awk. */ |
2 | ||
3 | #include <errno.h> | |
4 | ||
a68b0d31 | 5 | const char *const _sys_errlist[] = |
b25ae9c6 RM |
6 | { |
7 | [0] = N_("Success"), | |
8 | #ifdef EPERM | |
5699edb4 | 9 | /* |
10 | TRANS Operation not permitted; only the owner of the file (or other resource) | |
11 | TRANS or processes with special privileges can perform the operation. */ | |
b25ae9c6 RM |
12 | [EPERM] = N_("Operation not permitted"), |
13 | #endif | |
14 | #ifdef ENOENT | |
5699edb4 | 15 | /* |
16 | TRANS No such file or directory. This is a ``file doesn't exist'' error | |
17 | TRANS for ordinary files that are referenced in contexts where they are | |
18 | TRANS expected to already exist. */ | |
b25ae9c6 RM |
19 | [ENOENT] = N_("No such file or directory"), |
20 | #endif | |
21 | #ifdef ESRCH | |
5699edb4 | 22 | /* |
23 | TRANS No process matches the specified process ID. */ | |
b25ae9c6 RM |
24 | [ESRCH] = N_("No such process"), |
25 | #endif | |
26 | #ifdef EINTR | |
5699edb4 | 27 | /* |
28 | TRANS Interrupted function call; an asynchronous signal occured and prevented | |
29 | TRANS completion of the call. When this happens, you should try the call | |
30 | TRANS again. | |
31 | TRANS | |
32 | TRANS You can choose to have functions resume after a signal that is handled, | |
33 | TRANS rather than failing with @code{EINTR}; see @ref{Interrupted | |
34 | TRANS Primitives}. */ | |
b25ae9c6 RM |
35 | [EINTR] = N_("Interrupted system call"), |
36 | #endif | |
37 | #ifdef EIO | |
5699edb4 | 38 | /* |
39 | TRANS Input/output error; usually used for physical read or write errors. */ | |
b25ae9c6 RM |
40 | [EIO] = N_("Input/output error"), |
41 | #endif | |
42 | #ifdef ENXIO | |
5699edb4 | 43 | /* |
44 | TRANS No such device or address. The system tried to use the device | |
45 | TRANS represented by a file you specified, and it couldn't find the device. | |
46 | TRANS This can mean that the device file was installed incorrectly, or that | |
47 | TRANS the physical device is missing or not correctly attached to the | |
48 | TRANS computer. */ | |
b25ae9c6 RM |
49 | [ENXIO] = N_("Device not configured"), |
50 | #endif | |
51 | #ifdef E2BIG | |
5699edb4 | 52 | /* |
53 | TRANS Argument list too long; used when the arguments passed to a new program | |
54 | TRANS being executed with one of the @code{exec} functions (@pxref{Executing a | |
55 | TRANS File}) occupy too much memory space. This condition never arises in the | |
56 | TRANS GNU system. */ | |
b25ae9c6 RM |
57 | [E2BIG] = N_("Argument list too long"), |
58 | #endif | |
59 | #ifdef ENOEXEC | |
5699edb4 | 60 | /* |
61 | TRANS Invalid executable file format. This condition is detected by the | |
62 | TRANS @code{exec} functions; see @ref{Executing a File}. */ | |
b25ae9c6 RM |
63 | [ENOEXEC] = N_("Exec format error"), |
64 | #endif | |
65 | #ifdef EBADF | |
5699edb4 | 66 | /* |
67 | TRANS Bad file descriptor; for example, I/O on a descriptor that has been | |
68 | TRANS closed or reading from a descriptor open only for writing (or vice | |
69 | TRANS versa). */ | |
b25ae9c6 RM |
70 | [EBADF] = N_("Bad file descriptor"), |
71 | #endif | |
72 | #ifdef ECHILD | |
5699edb4 | 73 | /* |
74 | TRANS There are no child processes. This error happens on operations that are | |
75 | TRANS supposed to manipulate child processes, when there aren't any processes | |
76 | TRANS to manipulate. */ | |
b25ae9c6 RM |
77 | [ECHILD] = N_("No child processes"), |
78 | #endif | |
79 | #ifdef EDEADLK | |
5699edb4 | 80 | /* |
81 | TRANS Deadlock avoided; allocating a system resource would have resulted in a | |
82 | TRANS deadlock situation. The system does not guarantee that it will notice | |
83 | TRANS all such situations. This error means you got lucky and the system | |
84 | TRANS noticed; it might just hang. @xref{File Locks}, for an example. */ | |
b25ae9c6 RM |
85 | [EDEADLK] = N_("Resource deadlock avoided"), |
86 | #endif | |
87 | #ifdef ENOMEM | |
5699edb4 | 88 | /* |
89 | TRANS No memory available. The system cannot allocate more virtual memory | |
90 | TRANS because its capacity is full. */ | |
b25ae9c6 RM |
91 | [ENOMEM] = N_("Cannot allocate memory"), |
92 | #endif | |
93 | #ifdef EACCES | |
5699edb4 | 94 | /* |
95 | TRANS Permission denied; the file permissions do not allow the attempted operation. */ | |
b25ae9c6 RM |
96 | [EACCES] = N_("Permission denied"), |
97 | #endif | |
98 | #ifdef EFAULT | |
5699edb4 | 99 | /* |
100 | TRANS Bad address; an invalid pointer was detected. | |
101 | TRANS In the GNU system, this error never happens; you get a signal instead. */ | |
b25ae9c6 RM |
102 | [EFAULT] = N_("Bad address"), |
103 | #endif | |
104 | #ifdef ENOTBLK | |
5699edb4 | 105 | /* |
106 | TRANS A file that isn't a block special file was given in a situation that | |
107 | TRANS requires one. For example, trying to mount an ordinary file as a file | |
108 | TRANS system in Unix gives this error. */ | |
b25ae9c6 RM |
109 | [ENOTBLK] = N_("Block device required"), |
110 | #endif | |
111 | #ifdef EBUSY | |
5699edb4 | 112 | /* |
113 | TRANS Resource busy; a system resource that can't be shared is already in use. | |
114 | TRANS For example, if you try to delete a file that is the root of a currently | |
115 | TRANS mounted filesystem, you get this error. */ | |
b25ae9c6 RM |
116 | [EBUSY] = N_("Device or resource busy"), |
117 | #endif | |
118 | #ifdef EEXIST | |
5699edb4 | 119 | /* |
120 | TRANS File exists; an existing file was specified in a context where it only | |
121 | TRANS makes sense to specify a new file. */ | |
b25ae9c6 RM |
122 | [EEXIST] = N_("File exists"), |
123 | #endif | |
124 | #ifdef EXDEV | |
5699edb4 | 125 | /* |
126 | TRANS An attempt to make an improper link across file systems was detected. | |
127 | TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but | |
128 | TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). */ | |
b25ae9c6 RM |
129 | [EXDEV] = N_("Invalid cross-device link"), |
130 | #endif | |
131 | #ifdef ENODEV | |
5699edb4 | 132 | /* |
133 | TRANS The wrong type of device was given to a function that expects a | |
134 | TRANS particular sort of device. */ | |
b25ae9c6 RM |
135 | [ENODEV] = N_("Operation not supported by device"), |
136 | #endif | |
137 | #ifdef ENOTDIR | |
5699edb4 | 138 | /* |
139 | TRANS A file that isn't a directory was specified when a directory is required. */ | |
b25ae9c6 RM |
140 | [ENOTDIR] = N_("Not a directory"), |
141 | #endif | |
142 | #ifdef EISDIR | |
5699edb4 | 143 | /* |
144 | TRANS File is a directory; you cannot open a directory for writing, | |
145 | TRANS or create or remove hard links to it. */ | |
b25ae9c6 RM |
146 | [EISDIR] = N_("Is a directory"), |
147 | #endif | |
148 | #ifdef EINVAL | |
5699edb4 | 149 | /* |
150 | TRANS Invalid argument. This is used to indicate various kinds of problems | |
151 | TRANS with passing the wrong argument to a library function. */ | |
b25ae9c6 RM |
152 | [EINVAL] = N_("Invalid argument"), |
153 | #endif | |
154 | #ifdef EMFILE | |
5699edb4 | 155 | /* |
156 | TRANS The current process has too many files open and can't open any more. | |
157 | TRANS Duplicate descriptors do count toward this limit. | |
158 | TRANS | |
159 | TRANS In BSD and GNU, the number of open files is controlled by a resource | |
160 | TRANS limit that can usually be increased. If you get this error, you might | |
161 | TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; | |
162 | TRANS @pxref{Limits on Resources}. */ | |
b25ae9c6 RM |
163 | [EMFILE] = N_("Too many open files"), |
164 | #endif | |
165 | #ifdef ENFILE | |
5699edb4 | 166 | /* |
167 | TRANS There are too many distinct file openings in the entire system. Note | |
168 | TRANS that any number of linked channels count as just one file opening; see | |
169 | TRANS @ref{Linked Channels}. This error never occurs in the GNU system. */ | |
b25ae9c6 RM |
170 | [ENFILE] = N_("Too many open files in system"), |
171 | #endif | |
172 | #ifdef ENOTTY | |
5699edb4 | 173 | /* |
174 | TRANS Inappropriate I/O control operation, such as trying to set terminal | |
175 | TRANS modes on an ordinary file. */ | |
b25ae9c6 RM |
176 | [ENOTTY] = N_("Inappropriate ioctl for device"), |
177 | #endif | |
178 | #ifdef ETXTBSY | |
5699edb4 | 179 | /* |
180 | TRANS An attempt to execute a file that is currently open for writing, or | |
181 | TRANS write to a file that is currently being executed. Often using a | |
182 | TRANS debugger to run a program is considered having it open for writing and | |
183 | TRANS will cause this error. (The name stands for ``text file busy''.) This | |
184 | TRANS is not an error in the GNU system; the text is copied as necessary. */ | |
b25ae9c6 RM |
185 | [ETXTBSY] = N_("Text file busy"), |
186 | #endif | |
187 | #ifdef EFBIG | |
5699edb4 | 188 | /* |
189 | TRANS File too big; the size of a file would be larger than allowed by the system. */ | |
b25ae9c6 RM |
190 | [EFBIG] = N_("File too large"), |
191 | #endif | |
192 | #ifdef ENOSPC | |
5699edb4 | 193 | /* |
194 | TRANS No space left on device; write operation on a file failed because the | |
195 | TRANS disk is full. */ | |
b25ae9c6 RM |
196 | [ENOSPC] = N_("No space left on device"), |
197 | #endif | |
198 | #ifdef ESPIPE | |
5699edb4 | 199 | /* |
200 | TRANS Invalid seek operation (such as on a pipe). */ | |
b25ae9c6 RM |
201 | [ESPIPE] = N_("Illegal seek"), |
202 | #endif | |
203 | #ifdef EROFS | |
5699edb4 | 204 | /* |
205 | TRANS An attempt was made to modify something on a read-only file system. */ | |
b25ae9c6 RM |
206 | [EROFS] = N_("Read-only file system"), |
207 | #endif | |
208 | #ifdef EMLINK | |
5699edb4 | 209 | /* |
210 | TRANS Too many links; the link count of a single file would become too large. | |
211 | TRANS @code{rename} can cause this error if the file being renamed already has | |
212 | TRANS as many links as it can take (@pxref{Renaming Files}). */ | |
b25ae9c6 RM |
213 | [EMLINK] = N_("Too many links"), |
214 | #endif | |
215 | #ifdef EPIPE | |
5699edb4 | 216 | /* |
217 | TRANS Broken pipe; there is no process reading from the other end of a pipe. | |
218 | TRANS Every library function that returns this error code also generates a | |
219 | TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled | |
220 | TRANS or blocked. Thus, your program will never actually see @code{EPIPE} | |
221 | TRANS unless it has handled or blocked @code{SIGPIPE}. */ | |
b25ae9c6 RM |
222 | [EPIPE] = N_("Broken pipe"), |
223 | #endif | |
224 | #ifdef EDOM | |
5699edb4 | 225 | /* |
226 | TRANS Domain error; used by mathematical functions when an argument value does | |
227 | TRANS not fall into the domain over which the function is defined. */ | |
b25ae9c6 RM |
228 | [EDOM] = N_("Numerical argument out of domain"), |
229 | #endif | |
230 | #ifdef ERANGE | |
5699edb4 | 231 | /* |
232 | TRANS Range error; used by mathematical functions when the result value is | |
233 | TRANS not representable because of overflow or underflow. */ | |
b25ae9c6 RM |
234 | [ERANGE] = N_("Numerical result out of range"), |
235 | #endif | |
236 | #ifdef EAGAIN | |
5699edb4 | 237 | /* |
238 | TRANS Resource temporarily unavailable; the call might work if you try again | |
239 | TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; | |
240 | TRANS they are always the same in the GNU C library. | |
241 | TRANS | |
242 | TRANS This error can happen in a few different situations: | |
243 | TRANS | |
244 | TRANS @itemize @bullet | |
245 | TRANS @item | |
246 | TRANS An operation that would block was attempted on an object that has | |
247 | TRANS non-blocking mode selected. Trying the same operation again will block | |
248 | TRANS until some external condition makes it possible to read, write, or | |
249 | TRANS connect (whatever the operation). You can use @code{select} to find out | |
250 | TRANS when the operation will be possible; @pxref{Waiting for I/O}. | |
251 | TRANS | |
252 | TRANS @strong{Portability Note:} In older Unix many systems, this condition | |
253 | TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code | |
254 | TRANS different from @code{EAGAIN}. To make your program portable, you should | |
255 | TRANS check for both codes and treat them the same. | |
256 | TRANS | |
257 | TRANS @item | |
258 | TRANS A temporary resource shortage made an operation impossible. @code{fork} | |
259 | TRANS can return this error. It indicates that the shortage is expected to | |
260 | TRANS pass, so your program can try the call again later and it may succeed. | |
261 | TRANS It is probably a good idea to delay for a few seconds before trying it | |
262 | TRANS again, to allow time for other processes to release scarce resources. | |
263 | TRANS Such shortages are usually fairly serious and affect the whole system, | |
264 | TRANS so usually an interactive program should report the error to the user | |
265 | TRANS and return to its command loop. | |
266 | TRANS @end itemize */ | |
b25ae9c6 RM |
267 | [EAGAIN] = N_("Resource temporarily unavailable"), |
268 | #endif | |
c1509239 | 269 | #if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN |
5699edb4 | 270 | /* |
271 | TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). | |
272 | TRANS The values are always the same, on every operating system. | |
273 | TRANS | |
274 | TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a | |
275 | TRANS separate error code. */ | |
c1509239 RM |
276 | [EWOULDBLOCK] = N_("Operation would block"), |
277 | #endif | |
b25ae9c6 | 278 | #ifdef EINPROGRESS |
5699edb4 | 279 | /* |
280 | TRANS An operation that cannot complete immediately was initiated on an object | |
281 | TRANS that has non-blocking mode selected. Some functions that must always | |
282 | TRANS block (such as @code{connect}; @pxref{Connecting}) never return | |
283 | TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that | |
284 | TRANS the operation has begun and will take some time. Attempts to manipulate | |
285 | TRANS the object before the call completes return @code{EALREADY}. You can | |
286 | TRANS use the @code{select} function to find out when the pending operation | |
287 | TRANS has completed; @pxref{Waiting for I/O}. */ | |
b25ae9c6 RM |
288 | [EINPROGRESS] = N_("Operation now in progress"), |
289 | #endif | |
290 | #ifdef EALREADY | |
5699edb4 | 291 | /* |
292 | TRANS An operation is already in progress on an object that has non-blocking | |
293 | TRANS mode selected. */ | |
b25ae9c6 RM |
294 | [EALREADY] = N_("Operation already in progress"), |
295 | #endif | |
296 | #ifdef ENOTSOCK | |
5699edb4 | 297 | /* |
298 | TRANS A file that isn't a socket was specified when a socket is required. */ | |
b25ae9c6 RM |
299 | [ENOTSOCK] = N_("Socket operation on non-socket"), |
300 | #endif | |
301 | #ifdef EMSGSIZE | |
5699edb4 | 302 | /* |
303 | TRANS The size of a message sent on a socket was larger than the supported | |
304 | TRANS maximum size. */ | |
b25ae9c6 RM |
305 | [EMSGSIZE] = N_("Message too long"), |
306 | #endif | |
307 | #ifdef EPROTOTYPE | |
5699edb4 | 308 | /* |
309 | TRANS The socket type does not support the requested communications protocol. */ | |
b25ae9c6 RM |
310 | [EPROTOTYPE] = N_("Protocol wrong type for socket"), |
311 | #endif | |
312 | #ifdef ENOPROTOOPT | |
5699edb4 | 313 | /* |
314 | TRANS You specified a socket option that doesn't make sense for the | |
315 | TRANS particular protocol being used by the socket. @xref{Socket Options}. */ | |
b25ae9c6 RM |
316 | [ENOPROTOOPT] = N_("Protocol not available"), |
317 | #endif | |
318 | #ifdef EPROTONOSUPPORT | |
5699edb4 | 319 | /* |
320 | TRANS The socket domain does not support the requested communications protocol | |
321 | TRANS (perhaps because the requested protocol is completely invalid.) | |
322 | TRANS @xref{Creating a Socket}. */ | |
b25ae9c6 RM |
323 | [EPROTONOSUPPORT] = N_("Protocol not supported"), |
324 | #endif | |
325 | #ifdef ESOCKTNOSUPPORT | |
5699edb4 | 326 | /* |
327 | TRANS The socket type is not supported. */ | |
b25ae9c6 RM |
328 | [ESOCKTNOSUPPORT] = N_("Socket type not supported"), |
329 | #endif | |
330 | #ifdef EOPNOTSUPP | |
5699edb4 | 331 | /* |
332 | TRANS The operation you requested is not supported. Some socket functions | |
333 | TRANS don't make sense for all types of sockets, and others may not be | |
334 | TRANS implemented for all communications protocols. In the GNU system, this | |
335 | TRANS error can happen for many calls when the object does not support the | |
336 | TRANS particular operation; it is a generic indication that the server knows | |
337 | TRANS nothing to do for that call. */ | |
b25ae9c6 RM |
338 | [EOPNOTSUPP] = N_("Operation not supported"), |
339 | #endif | |
340 | #ifdef EPFNOSUPPORT | |
5699edb4 | 341 | /* |
342 | TRANS The socket communications protocol family you requested is not supported. */ | |
b25ae9c6 RM |
343 | [EPFNOSUPPORT] = N_("Protocol family not supported"), |
344 | #endif | |
345 | #ifdef EAFNOSUPPORT | |
5699edb4 | 346 | /* |
347 | TRANS The address family specified for a socket is not supported; it is | |
348 | TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. */ | |
b25ae9c6 RM |
349 | [EAFNOSUPPORT] = N_("Address family not supported by protocol"), |
350 | #endif | |
351 | #ifdef EADDRINUSE | |
5699edb4 | 352 | /* |
353 | TRANS The requested socket address is already in use. @xref{Socket Addresses}. */ | |
b25ae9c6 RM |
354 | [EADDRINUSE] = N_("Address already in use"), |
355 | #endif | |
356 | #ifdef EADDRNOTAVAIL | |
5699edb4 | 357 | /* |
358 | TRANS The requested socket address is not available; for example, you tried | |
359 | TRANS to give a socket a name that doesn't match the local host name. | |
360 | TRANS @xref{Socket Addresses}. */ | |
b25ae9c6 RM |
361 | [EADDRNOTAVAIL] = N_("Cannot assign requested address"), |
362 | #endif | |
363 | #ifdef ENETDOWN | |
5699edb4 | 364 | /* |
365 | TRANS A socket operation failed because the network was down. */ | |
b25ae9c6 RM |
366 | [ENETDOWN] = N_("Network is down"), |
367 | #endif | |
368 | #ifdef ENETUNREACH | |
5699edb4 | 369 | /* |
370 | TRANS A socket operation failed because the subnet containing the remote host | |
371 | TRANS was unreachable. */ | |
b25ae9c6 RM |
372 | [ENETUNREACH] = N_("Network is unreachable"), |
373 | #endif | |
374 | #ifdef ENETRESET | |
5699edb4 | 375 | /* |
376 | TRANS A network connection was reset because the remote host crashed. */ | |
b25ae9c6 RM |
377 | [ENETRESET] = N_("Network dropped connection on reset"), |
378 | #endif | |
379 | #ifdef ECONNABORTED | |
5699edb4 | 380 | /* |
381 | TRANS A network connection was aborted locally. */ | |
b25ae9c6 RM |
382 | [ECONNABORTED] = N_("Software caused connection abort"), |
383 | #endif | |
384 | #ifdef ECONNRESET | |
5699edb4 | 385 | /* |
386 | TRANS A network connection was closed for reasons outside the control of the | |
387 | TRANS local host, such as by the remote machine rebooting or an unrecoverable | |
388 | TRANS protocol violation. */ | |
b25ae9c6 RM |
389 | [ECONNRESET] = N_("Connection reset by peer"), |
390 | #endif | |
391 | #ifdef ENOBUFS | |
5699edb4 | 392 | /* |
393 | TRANS The kernel's buffers for I/O operations are all in use. In GNU, this | |
394 | TRANS error is always synonymous with @code{ENOMEM}; you may get one or the | |
395 | TRANS other from network operations. */ | |
b25ae9c6 RM |
396 | [ENOBUFS] = N_("No buffer space available"), |
397 | #endif | |
398 | #ifdef EISCONN | |
5699edb4 | 399 | /* |
400 | TRANS You tried to connect a socket that is already connected. | |
401 | TRANS @xref{Connecting}. */ | |
b25ae9c6 RM |
402 | [EISCONN] = N_("Transport endpoint is already connected"), |
403 | #endif | |
404 | #ifdef ENOTCONN | |
5699edb4 | 405 | /* |
406 | TRANS The socket is not connected to anything. You get this error when you | |
407 | TRANS try to transmit data over a socket, without first specifying a | |
408 | TRANS destination for the data. For a connectionless socket (for datagram | |
409 | TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. */ | |
b25ae9c6 RM |
410 | [ENOTCONN] = N_("Transport endpoint is not connected"), |
411 | #endif | |
412 | #ifdef EDESTADDRREQ | |
5699edb4 | 413 | /* |
414 | TRANS No default destination address was set for the socket. You get this | |
415 | TRANS error when you try to transmit data over a connectionless socket, | |
416 | TRANS without first specifying a destination for the data with @code{connect}. */ | |
b25ae9c6 RM |
417 | [EDESTADDRREQ] = N_("Destination address required"), |
418 | #endif | |
419 | #ifdef ESHUTDOWN | |
5699edb4 | 420 | /* |
421 | TRANS The socket has already been shut down. */ | |
b25ae9c6 RM |
422 | [ESHUTDOWN] = N_("Cannot send after transport endpoint shutdown"), |
423 | #endif | |
424 | #ifdef ETOOMANYREFS | |
5699edb4 | 425 | /* |
426 | TRANS ??? */ | |
b25ae9c6 RM |
427 | [ETOOMANYREFS] = N_("Too many references: cannot splice"), |
428 | #endif | |
429 | #ifdef ETIMEDOUT | |
5699edb4 | 430 | /* |
431 | TRANS A socket operation with a specified timeout received no response during | |
432 | TRANS the timeout period. */ | |
b25ae9c6 RM |
433 | [ETIMEDOUT] = N_("Connection timed out"), |
434 | #endif | |
435 | #ifdef ECONNREFUSED | |
5699edb4 | 436 | /* |
437 | TRANS A remote host refused to allow the network connection (typically because | |
438 | TRANS it is not running the requested service). */ | |
b25ae9c6 RM |
439 | [ECONNREFUSED] = N_("Connection refused"), |
440 | #endif | |
441 | #ifdef ELOOP | |
5699edb4 | 442 | /* |
443 | TRANS Too many levels of symbolic links were encountered in looking up a file name. | |
444 | TRANS This often indicates a cycle of symbolic links. */ | |
b25ae9c6 RM |
445 | [ELOOP] = N_("Too many levels of symbolic links"), |
446 | #endif | |
447 | #ifdef ENAMETOOLONG | |
5699edb4 | 448 | /* |
449 | TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for | |
450 | TRANS Files}) or host name too long (in @code{gethostname} or | |
451 | TRANS @code{sethostname}; @pxref{Host Identification}). */ | |
b25ae9c6 RM |
452 | [ENAMETOOLONG] = N_("File name too long"), |
453 | #endif | |
454 | #ifdef EHOSTDOWN | |
5699edb4 | 455 | /* |
456 | TRANS The remote host for a requested network connection is down. */ | |
b25ae9c6 RM |
457 | [EHOSTDOWN] = N_("Host is down"), |
458 | #endif | |
459 | #ifdef EHOSTUNREACH | |
5699edb4 | 460 | /* |
461 | TRANS The remote host for a requested network connection is not reachable. */ | |
b25ae9c6 RM |
462 | [EHOSTUNREACH] = N_("No route to host"), |
463 | #endif | |
464 | #ifdef ENOTEMPTY | |
5699edb4 | 465 | /* |
466 | TRANS Directory not empty, where an empty directory was expected. Typically, | |
467 | TRANS this error occurs when you are trying to delete a directory. */ | |
b25ae9c6 RM |
468 | [ENOTEMPTY] = N_("Directory not empty"), |
469 | #endif | |
470 | #ifdef EPROCLIM | |
5699edb4 | 471 | /* |
472 | TRANS This means that the per-user limit on new process would be exceeded by | |
473 | TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on | |
474 | TRANS the @code{RLIMIT_NPROC} limit. */ | |
b25ae9c6 RM |
475 | [EPROCLIM] = N_("Too many processes"), |
476 | #endif | |
477 | #ifdef EUSERS | |
5699edb4 | 478 | /* |
479 | TRANS The file quota system is confused because there are too many users. | |
480 | TRANS @c This can probably happen in a GNU system when using NFS. */ | |
b25ae9c6 RM |
481 | [EUSERS] = N_("Too many users"), |
482 | #endif | |
483 | #ifdef EDQUOT | |
5699edb4 | 484 | /* |
485 | TRANS The user's disk quota was exceeded. */ | |
b25ae9c6 RM |
486 | [EDQUOT] = N_("Disc quota exceeded"), |
487 | #endif | |
488 | #ifdef ESTALE | |
5699edb4 | 489 | /* |
490 | TRANS Stale NFS file handle. This indicates an internal confusion in the NFS | |
491 | TRANS system which is due to file system rearrangements on the server host. | |
492 | TRANS Repairing this condition usually requires unmounting and remounting | |
493 | TRANS the NFS file system on the local host. */ | |
b25ae9c6 RM |
494 | [ESTALE] = N_("Stale NFS file handle"), |
495 | #endif | |
496 | #ifdef EREMOTE | |
5699edb4 | 497 | /* |
498 | TRANS An attempt was made to NFS-mount a remote file system with a file name that | |
499 | TRANS already specifies an NFS-mounted file. | |
500 | TRANS (This is an error on some operating systems, but we expect it to work | |
501 | TRANS properly on the GNU system, making this error code impossible.) */ | |
b25ae9c6 RM |
502 | [EREMOTE] = N_("Object is remote"), |
503 | #endif | |
504 | #ifdef EBADRPC | |
5699edb4 | 505 | /* |
506 | TRANS ??? */ | |
b25ae9c6 RM |
507 | [EBADRPC] = N_("RPC struct is bad"), |
508 | #endif | |
509 | #ifdef ERPCMISMATCH | |
5699edb4 | 510 | /* |
511 | TRANS ??? */ | |
b25ae9c6 RM |
512 | [ERPCMISMATCH] = N_("RPC version wrong"), |
513 | #endif | |
514 | #ifdef EPROGUNAVAIL | |
5699edb4 | 515 | /* |
516 | TRANS ??? */ | |
b25ae9c6 RM |
517 | [EPROGUNAVAIL] = N_("RPC program not available"), |
518 | #endif | |
519 | #ifdef EPROGMISMATCH | |
5699edb4 | 520 | /* |
521 | TRANS ??? */ | |
b25ae9c6 RM |
522 | [EPROGMISMATCH] = N_("RPC program version wrong"), |
523 | #endif | |
524 | #ifdef EPROCUNAVAIL | |
5699edb4 | 525 | /* |
526 | TRANS ??? */ | |
b25ae9c6 RM |
527 | [EPROCUNAVAIL] = N_("RPC bad procedure for program"), |
528 | #endif | |
529 | #ifdef ENOLCK | |
5699edb4 | 530 | /* |
531 | TRANS No locks available. This is used by the file locking facilities; see | |
532 | TRANS @ref{File Locks}. This error is never generated by the GNU system, but | |
533 | TRANS it can result from an operation to an NFS server running another | |
534 | TRANS operating system. */ | |
b25ae9c6 RM |
535 | [ENOLCK] = N_("No locks available"), |
536 | #endif | |
537 | #ifdef EFTYPE | |
5699edb4 | 538 | /* |
539 | TRANS Inappropriate file type or format. The file was the wrong type for the | |
540 | TRANS operation, or a data file had the wrong format. | |
541 | TRANS | |
542 | TRANS On some systems @code{chmod} returns this error if you try to set the | |
543 | TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. */ | |
b25ae9c6 RM |
544 | [EFTYPE] = N_("Inappropriate file type or format"), |
545 | #endif | |
546 | #ifdef EAUTH | |
5699edb4 | 547 | /* |
548 | TRANS ??? */ | |
b25ae9c6 RM |
549 | [EAUTH] = N_("Authentication error"), |
550 | #endif | |
551 | #ifdef ENEEDAUTH | |
5699edb4 | 552 | /* |
553 | TRANS ??? */ | |
b25ae9c6 RM |
554 | [ENEEDAUTH] = N_("Need authenticator"), |
555 | #endif | |
556 | #ifdef ENOSYS | |
5699edb4 | 557 | /* |
558 | TRANS Function not implemented. Some functions have commands or options defined | |
559 | TRANS that might not be supported in all implementations, and this is the kind | |
560 | TRANS of error you get if you request them and they are not supported. */ | |
b25ae9c6 RM |
561 | [ENOSYS] = N_("Function not implemented"), |
562 | #endif | |
563 | #ifdef EILSEQ | |
5699edb4 | 564 | /* |
565 | TRANS While decoding a multibyte character the function came along an invalid | |
566 | TRANS or an incomplete sequence of bytes or the given wide character is invalid. */ | |
b25ae9c6 RM |
567 | [EILSEQ] = N_("Invalid or incomplete multibyte or wide character"), |
568 | #endif | |
569 | #ifdef EBACKGROUND | |
5699edb4 | 570 | /* |
571 | TRANS In the GNU system, servers supporting the @code{term} protocol return | |
572 | TRANS this error for certain operations when the caller is not in the | |
573 | TRANS foreground process group of the terminal. Users do not usually see this | |
574 | TRANS error because functions such as @code{read} and @code{write} translate | |
575 | TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, | |
576 | TRANS for information on process groups and these signals. */ | |
b25ae9c6 RM |
577 | [EBACKGROUND] = N_("Inappropriate operation for background process"), |
578 | #endif | |
579 | #ifdef EDIED | |
5699edb4 | 580 | /* |
581 | TRANS In the GNU system, opening a file returns this error when the file is | |
582 | TRANS translated by a program and the translator program dies while starting | |
583 | TRANS up, before it has connected to the file. */ | |
b25ae9c6 RM |
584 | [EDIED] = N_("Translator died"), |
585 | #endif | |
586 | #ifdef ED | |
5699edb4 | 587 | /* |
588 | TRANS The experienced user will know what is wrong. | |
589 | TRANS @c This error code is a joke. Its perror text is part of the joke. | |
590 | TRANS @c Don't change it. */ | |
b25ae9c6 RM |
591 | [ED] = N_("?"), |
592 | #endif | |
593 | #ifdef EGREGIOUS | |
5699edb4 | 594 | /* |
595 | TRANS You did @strong{what}? */ | |
b25ae9c6 RM |
596 | [EGREGIOUS] = N_("You really blew it this time"), |
597 | #endif | |
598 | #ifdef EIEIO | |
5699edb4 | 599 | /* |
600 | TRANS Go home and have a glass of warm, dairy-fresh milk. */ | |
b25ae9c6 RM |
601 | [EIEIO] = N_("Computer bought the farm"), |
602 | #endif | |
603 | #ifdef EGRATUITOUS | |
5699edb4 | 604 | /* |
605 | TRANS This error code has no purpose. */ | |
b25ae9c6 | 606 | [EGRATUITOUS] = N_("Gratuitous error"), |
c1509239 | 607 | #endif |
afd4eb37 | 608 | #ifdef EBADMSG |
5699edb4 | 609 | /* */ |
afd4eb37 UD |
610 | [EBADMSG] = N_("Bad message"), |
611 | #endif | |
612 | #ifdef EIDRM | |
613 | /* */ | |
614 | [EIDRM] = N_("Identifier removed"), | |
615 | #endif | |
616 | #ifdef EMULTIHOP | |
617 | /* */ | |
618 | [EMULTIHOP] = N_("Multihop attempted"), | |
619 | #endif | |
620 | #ifdef ENODATA | |
621 | /* */ | |
622 | [ENODATA] = N_("No data available"), | |
623 | #endif | |
624 | #ifdef ENOLINK | |
625 | /* */ | |
626 | [ENOLINK] = N_("Link has been severed"), | |
c1509239 RM |
627 | #endif |
628 | #ifdef ENOMSG | |
5699edb4 | 629 | /* */ |
c1509239 RM |
630 | [ENOMSG] = N_("No message of desired type"), |
631 | #endif | |
afd4eb37 | 632 | #ifdef ENOSR |
5699edb4 | 633 | /* */ |
afd4eb37 UD |
634 | [ENOSR] = N_("Out of streams resources"), |
635 | #endif | |
636 | #ifdef ENOSTR | |
637 | /* */ | |
638 | [ENOSTR] = N_("Device not a stream"), | |
639 | #endif | |
640 | #ifdef EOVERFLOW | |
641 | /* */ | |
642 | [EOVERFLOW] = N_("Value too large for defined data type"), | |
643 | #endif | |
644 | #ifdef EPROTO | |
645 | /* */ | |
646 | [EPROTO] = N_("Protocol error"), | |
647 | #endif | |
648 | #ifdef ETIME | |
649 | /* */ | |
650 | [ETIME] = N_("Timer expired"), | |
651 | #endif | |
652 | #ifdef ERESTART | |
653 | /* */ | |
654 | [ERESTART] = N_("Interrupted system call should be restarted"), | |
c1509239 RM |
655 | #endif |
656 | #ifdef ECHRNG | |
5699edb4 | 657 | /* */ |
c1509239 RM |
658 | [ECHRNG] = N_("Channel number out of range"), |
659 | #endif | |
660 | #ifdef EL2NSYNC | |
5699edb4 | 661 | /* */ |
c1509239 RM |
662 | [EL2NSYNC] = N_("Level 2 not synchronized"), |
663 | #endif | |
664 | #ifdef EL3HLT | |
5699edb4 | 665 | /* */ |
c1509239 RM |
666 | [EL3HLT] = N_("Level 3 halted"), |
667 | #endif | |
668 | #ifdef EL3RST | |
5699edb4 | 669 | /* */ |
c1509239 RM |
670 | [EL3RST] = N_("Level 3 reset"), |
671 | #endif | |
672 | #ifdef ELNRNG | |
5699edb4 | 673 | /* */ |
c1509239 RM |
674 | [ELNRNG] = N_("Link number out of range"), |
675 | #endif | |
676 | #ifdef EUNATCH | |
5699edb4 | 677 | /* */ |
c1509239 RM |
678 | [EUNATCH] = N_("Protocol driver not attached"), |
679 | #endif | |
680 | #ifdef ENOCSI | |
5699edb4 | 681 | /* */ |
c1509239 RM |
682 | [ENOCSI] = N_("No CSI structure available"), |
683 | #endif | |
684 | #ifdef EL2HLT | |
5699edb4 | 685 | /* */ |
c1509239 RM |
686 | [EL2HLT] = N_("Level 2 halted"), |
687 | #endif | |
688 | #ifdef EBADE | |
5699edb4 | 689 | /* */ |
c1509239 RM |
690 | [EBADE] = N_("Invalid exchange"), |
691 | #endif | |
692 | #ifdef EBADR | |
5699edb4 | 693 | /* */ |
c1509239 RM |
694 | [EBADR] = N_("Invalid request descriptor"), |
695 | #endif | |
696 | #ifdef EXFULL | |
5699edb4 | 697 | /* */ |
c1509239 RM |
698 | [EXFULL] = N_("Exchange full"), |
699 | #endif | |
700 | #ifdef ENOANO | |
5699edb4 | 701 | /* */ |
c1509239 RM |
702 | [ENOANO] = N_("No anode"), |
703 | #endif | |
704 | #ifdef EBADRQC | |
5699edb4 | 705 | /* */ |
c1509239 RM |
706 | [EBADRQC] = N_("Invalid request code"), |
707 | #endif | |
708 | #ifdef EBADSLT | |
5699edb4 | 709 | /* */ |
c1509239 RM |
710 | [EBADSLT] = N_("Invalid slot"), |
711 | #endif | |
712 | #if defined (EDEADLOCK) && EDEADLOCK != EDEADLK | |
5699edb4 | 713 | /* */ |
c1509239 RM |
714 | [EDEADLOCK] = N_("File locking deadlock error"), |
715 | #endif | |
716 | #ifdef EBFONT | |
5699edb4 | 717 | /* */ |
c1509239 RM |
718 | [EBFONT] = N_("Bad font file format"), |
719 | #endif | |
c1509239 | 720 | #ifdef ENONET |
5699edb4 | 721 | /* */ |
c1509239 RM |
722 | [ENONET] = N_("Machine is not on the network"), |
723 | #endif | |
724 | #ifdef ENOPKG | |
5699edb4 | 725 | /* */ |
c1509239 RM |
726 | [ENOPKG] = N_("Package not installed"), |
727 | #endif | |
c1509239 | 728 | #ifdef EADV |
5699edb4 | 729 | /* */ |
c1509239 RM |
730 | [EADV] = N_("Advertise error"), |
731 | #endif | |
732 | #ifdef ESRMNT | |
5699edb4 | 733 | /* */ |
c1509239 RM |
734 | [ESRMNT] = N_("Srmount error"), |
735 | #endif | |
736 | #ifdef ECOMM | |
5699edb4 | 737 | /* */ |
c1509239 RM |
738 | [ECOMM] = N_("Communication error on send"), |
739 | #endif | |
c1509239 | 740 | #ifdef EDOTDOT |
5699edb4 | 741 | /* */ |
c1509239 RM |
742 | [EDOTDOT] = N_("RFS specific error"), |
743 | #endif | |
c1509239 | 744 | #ifdef ENOTUNIQ |
5699edb4 | 745 | /* */ |
c1509239 RM |
746 | [ENOTUNIQ] = N_("Name not unique on network"), |
747 | #endif | |
748 | #ifdef EBADFD | |
5699edb4 | 749 | /* */ |
c1509239 RM |
750 | [EBADFD] = N_("File descriptor in bad state"), |
751 | #endif | |
752 | #ifdef EREMCHG | |
5699edb4 | 753 | /* */ |
c1509239 RM |
754 | [EREMCHG] = N_("Remote address changed"), |
755 | #endif | |
756 | #ifdef ELIBACC | |
5699edb4 | 757 | /* */ |
c1509239 RM |
758 | [ELIBACC] = N_("Can not access a needed shared library"), |
759 | #endif | |
760 | #ifdef ELIBBAD | |
5699edb4 | 761 | /* */ |
c1509239 RM |
762 | [ELIBBAD] = N_("Accessing a corrupted shared library"), |
763 | #endif | |
764 | #ifdef ELIBSCN | |
5699edb4 | 765 | /* */ |
c1509239 RM |
766 | [ELIBSCN] = N_(".lib section in a.out corrupted"), |
767 | #endif | |
768 | #ifdef ELIBMAX | |
5699edb4 | 769 | /* */ |
c1509239 RM |
770 | [ELIBMAX] = N_("Attempting to link in too many shared libraries"), |
771 | #endif | |
772 | #ifdef ELIBEXEC | |
5699edb4 | 773 | /* */ |
c1509239 RM |
774 | [ELIBEXEC] = N_("Cannot exec a shared library directly"), |
775 | #endif | |
776 | #ifdef ESTRPIPE | |
5699edb4 | 777 | /* */ |
c1509239 RM |
778 | [ESTRPIPE] = N_("Streams pipe error"), |
779 | #endif | |
780 | #ifdef EUCLEAN | |
5699edb4 | 781 | /* */ |
c1509239 RM |
782 | [EUCLEAN] = N_("Structure needs cleaning"), |
783 | #endif | |
784 | #ifdef ENOTNAM | |
5699edb4 | 785 | /* */ |
c1509239 RM |
786 | [ENOTNAM] = N_("Not a XENIX named type file"), |
787 | #endif | |
788 | #ifdef ENAVAIL | |
5699edb4 | 789 | /* */ |
c1509239 RM |
790 | [ENAVAIL] = N_("No XENIX semaphores available"), |
791 | #endif | |
792 | #ifdef EISNAM | |
5699edb4 | 793 | /* */ |
c1509239 RM |
794 | [EISNAM] = N_("Is a named type file"), |
795 | #endif | |
796 | #ifdef EREMOTEIO | |
5699edb4 | 797 | /* */ |
c1509239 | 798 | [EREMOTEIO] = N_("Remote I/O error"), |
b25ae9c6 RM |
799 | #endif |
800 | }; | |
801 | ||
802 | const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0]; | |
803 | weak_alias (_sys_errlist, sys_errlist) | |
804 | weak_alias (_sys_nerr, sys_nerr) |