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