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