1 /* This file is generated from errno.texi by errlist.awk. */
5 const char *const _sys_errlist
[] =
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. */
12 [EPERM
] = N_("Operation not permitted"),
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. */
19 [ENOENT
] = N_("No such file or directory"),
23 TRANS No process matches the specified process ID. */
24 [ESRCH
] = N_("No such process"),
28 TRANS Interrupted function call; an asynchronous signal occurred and prevented
29 TRANS completion of the call. When this happens, you should try the call
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
35 [EINTR
] = N_("Interrupted system call"),
39 TRANS Input/output error; usually used for physical read or write errors. */
40 [EIO
] = N_("Input/output error"),
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
49 [ENXIO
] = N_("Device not configured"),
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
57 [E2BIG
] = N_("Argument list too long"),
61 TRANS Invalid executable file format. This condition is detected by the
62 TRANS @code{exec} functions; see @ref{Executing a File}. */
63 [ENOEXEC
] = N_("Exec format error"),
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
70 [EBADF
] = N_("Bad file descriptor"),
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. */
77 [ECHILD
] = N_("No child processes"),
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. */
85 [EDEADLK
] = N_("Resource deadlock avoided"),
89 TRANS No memory available. The system cannot allocate more virtual memory
90 TRANS because its capacity is full. */
91 [ENOMEM
] = N_("Cannot allocate memory"),
95 TRANS Permission denied; the file permissions do not allow the attempted operation. */
96 [EACCES
] = N_("Permission denied"),
100 TRANS Bad address; an invalid pointer was detected.
101 TRANS In the GNU system, this error never happens; you get a signal instead. */
102 [EFAULT
] = N_("Bad address"),
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. */
109 [ENOTBLK
] = N_("Block device required"),
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. */
116 [EBUSY
] = N_("Device or resource busy"),
120 TRANS File exists; an existing file was specified in a context where it only
121 TRANS makes sense to specify a new file. */
122 [EEXIST
] = N_("File exists"),
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}). */
129 [EXDEV
] = N_("Invalid cross-device link"),
133 TRANS The wrong type of device was given to a function that expects a
134 TRANS particular sort of device. */
135 [ENODEV
] = N_("Operation not supported by device"),
139 TRANS A file that isn't a directory was specified when a directory is required. */
140 [ENOTDIR
] = N_("Not a directory"),
144 TRANS File is a directory; you cannot open a directory for writing,
145 TRANS or create or remove hard links to it. */
146 [EISDIR
] = N_("Is a directory"),
150 TRANS Invalid argument. This is used to indicate various kinds of problems
151 TRANS with passing the wrong argument to a library function. */
152 [EINVAL
] = N_("Invalid argument"),
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.
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}. */
163 [EMFILE
] = N_("Too many open files"),
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. */
170 [ENFILE
] = N_("Too many open files in system"),
174 TRANS Inappropriate I/O control operation, such as trying to set terminal
175 TRANS modes on an ordinary file. */
176 [ENOTTY
] = N_("Inappropriate ioctl for device"),
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. */
185 [ETXTBSY
] = N_("Text file busy"),
189 TRANS File too big; the size of a file would be larger than allowed by the system. */
190 [EFBIG
] = N_("File too large"),
194 TRANS No space left on device; write operation on a file failed because the
195 TRANS disk is full. */
196 [ENOSPC
] = N_("No space left on device"),
200 TRANS Invalid seek operation (such as on a pipe). */
201 [ESPIPE
] = N_("Illegal seek"),
205 TRANS An attempt was made to modify something on a read-only file system. */
206 [EROFS
] = N_("Read-only file system"),
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}). */
213 [EMLINK
] = N_("Too many links"),
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}. */
222 [EPIPE
] = N_("Broken pipe"),
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. */
228 [EDOM
] = N_("Numerical argument out of domain"),
232 TRANS Range error; used by mathematical functions when the result value is
233 TRANS not representable because of overflow or underflow. */
234 [ERANGE
] = N_("Numerical result out of range"),
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.
242 TRANS This error can happen in a few different situations:
244 TRANS @itemize @bullet
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}.
252 TRANS @strong{Portability Note:} In many older Unix 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.
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 */
267 [EAGAIN
] = N_("Resource temporarily unavailable"),
269 #if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN
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.
274 TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
275 TRANS separate error code. */
276 [EWOULDBLOCK
] = N_("Operation would block"),
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}. */
288 [EINPROGRESS
] = N_("Operation now in progress"),
292 TRANS An operation is already in progress on an object that has non-blocking
293 TRANS mode selected. */
294 [EALREADY
] = N_("Operation already in progress"),
298 TRANS A file that isn't a socket was specified when a socket is required. */
299 [ENOTSOCK
] = N_("Socket operation on non-socket"),
303 TRANS The size of a message sent on a socket was larger than the supported
304 TRANS maximum size. */
305 [EMSGSIZE
] = N_("Message too long"),
309 TRANS The socket type does not support the requested communications protocol. */
310 [EPROTOTYPE
] = N_("Protocol wrong type for socket"),
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}. */
316 [ENOPROTOOPT
] = N_("Protocol not available"),
318 #ifdef EPROTONOSUPPORT
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}. */
323 [EPROTONOSUPPORT
] = N_("Protocol not supported"),
325 #ifdef ESOCKTNOSUPPORT
327 TRANS The socket type is not supported. */
328 [ESOCKTNOSUPPORT
] = N_("Socket type not supported"),
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. */
338 [EOPNOTSUPP
] = N_("Operation not supported"),
342 TRANS The socket communications protocol family you requested is not supported. */
343 [EPFNOSUPPORT
] = N_("Protocol family not supported"),
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}. */
349 [EAFNOSUPPORT
] = N_("Address family not supported by protocol"),
353 TRANS The requested socket address is already in use. @xref{Socket Addresses}. */
354 [EADDRINUSE
] = N_("Address already in use"),
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}. */
361 [EADDRNOTAVAIL
] = N_("Cannot assign requested address"),
365 TRANS A socket operation failed because the network was down. */
366 [ENETDOWN
] = N_("Network is down"),
370 TRANS A socket operation failed because the subnet containing the remote host
371 TRANS was unreachable. */
372 [ENETUNREACH
] = N_("Network is unreachable"),
376 TRANS A network connection was reset because the remote host crashed. */
377 [ENETRESET
] = N_("Network dropped connection on reset"),
381 TRANS A network connection was aborted locally. */
382 [ECONNABORTED
] = N_("Software caused connection abort"),
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. */
389 [ECONNRESET
] = N_("Connection reset by peer"),
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. */
396 [ENOBUFS
] = N_("No buffer space available"),
400 TRANS You tried to connect a socket that is already connected.
401 TRANS @xref{Connecting}. */
402 [EISCONN
] = N_("Transport endpoint is already connected"),
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. */
410 [ENOTCONN
] = N_("Transport endpoint is not connected"),
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}. */
417 [EDESTADDRREQ
] = N_("Destination address required"),
421 TRANS The socket has already been shut down. */
422 [ESHUTDOWN
] = N_("Cannot send after transport endpoint shutdown"),
427 [ETOOMANYREFS
] = N_("Too many references: cannot splice"),
431 TRANS A socket operation with a specified timeout received no response during
432 TRANS the timeout period. */
433 [ETIMEDOUT
] = N_("Connection timed out"),
437 TRANS A remote host refused to allow the network connection (typically because
438 TRANS it is not running the requested service). */
439 [ECONNREFUSED
] = N_("Connection refused"),
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. */
445 [ELOOP
] = N_("Too many levels of symbolic links"),
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}). */
452 [ENAMETOOLONG
] = N_("File name too long"),
456 TRANS The remote host for a requested network connection is down. */
457 [EHOSTDOWN
] = N_("Host is down"),
461 TRANS The remote host for a requested network connection is not reachable. */
462 [EHOSTUNREACH
] = N_("No route to host"),
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. */
468 [ENOTEMPTY
] = N_("Directory not empty"),
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. */
475 [EPROCLIM
] = N_("Too many processes"),
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. */
481 [EUSERS
] = N_("Too many users"),
485 TRANS The user's disk quota was exceeded. */
486 [EDQUOT
] = N_("Disc quota exceeded"),
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. */
494 [ESTALE
] = N_("Stale NFS file handle"),
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.) */
502 [EREMOTE
] = N_("Object is remote"),
507 [EBADRPC
] = N_("RPC struct is bad"),
512 [ERPCMISMATCH
] = N_("RPC version wrong"),
517 [EPROGUNAVAIL
] = N_("RPC program not available"),
522 [EPROGMISMATCH
] = N_("RPC program version wrong"),
527 [EPROCUNAVAIL
] = N_("RPC bad procedure for program"),
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. */
535 [ENOLCK
] = N_("No locks available"),
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.
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}. */
544 [EFTYPE
] = N_("Inappropriate file type or format"),
549 [EAUTH
] = N_("Authentication error"),
554 [ENEEDAUTH
] = N_("Need authenticator"),
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. */
561 [ENOSYS
] = N_("Function not implemented"),
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. */
567 [EILSEQ
] = N_("Invalid or incomplete multibyte or wide character"),
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. */
577 [EBACKGROUND
] = N_("Inappropriate operation for background process"),
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. */
584 [EDIED
] = N_("Translator died"),
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. */
595 TRANS You did @strong{what}? */
596 [EGREGIOUS
] = N_("You really blew it this time"),
600 TRANS Go home and have a glass of warm, dairy-fresh milk. */
601 [EIEIO
] = N_("Computer bought the farm"),
605 TRANS This error code has no purpose. */
606 [EGRATUITOUS
] = N_("Gratuitous error"),
610 [EBADMSG
] = N_("Bad message"),
614 [EIDRM
] = N_("Identifier removed"),
618 [EMULTIHOP
] = N_("Multihop attempted"),
622 [ENODATA
] = N_("No data available"),
626 [ENOLINK
] = N_("Link has been severed"),
630 [ENOMSG
] = N_("No message of desired type"),
634 [ENOSR
] = N_("Out of streams resources"),
638 [ENOSTR
] = N_("Device not a stream"),
642 [EOVERFLOW
] = N_("Value too large for defined data type"),
646 [EPROTO
] = N_("Protocol error"),
650 [ETIME
] = N_("Timer expired"),
654 [ERESTART
] = N_("Interrupted system call should be restarted"),
658 [ECHRNG
] = N_("Channel number out of range"),
662 [EL2NSYNC
] = N_("Level 2 not synchronized"),
666 [EL3HLT
] = N_("Level 3 halted"),
670 [EL3RST
] = N_("Level 3 reset"),
674 [ELNRNG
] = N_("Link number out of range"),
678 [EUNATCH
] = N_("Protocol driver not attached"),
682 [ENOCSI
] = N_("No CSI structure available"),
686 [EL2HLT
] = N_("Level 2 halted"),
690 [EBADE
] = N_("Invalid exchange"),
694 [EBADR
] = N_("Invalid request descriptor"),
698 [EXFULL
] = N_("Exchange full"),
702 [ENOANO
] = N_("No anode"),
706 [EBADRQC
] = N_("Invalid request code"),
710 [EBADSLT
] = N_("Invalid slot"),
712 #if defined (EDEADLOCK) && EDEADLOCK != EDEADLK
714 [EDEADLOCK
] = N_("File locking deadlock error"),
718 [EBFONT
] = N_("Bad font file format"),
722 [ENONET
] = N_("Machine is not on the network"),
726 [ENOPKG
] = N_("Package not installed"),
730 [EADV
] = N_("Advertise error"),
734 [ESRMNT
] = N_("Srmount error"),
738 [ECOMM
] = N_("Communication error on send"),
742 [EDOTDOT
] = N_("RFS specific error"),
746 [ENOTUNIQ
] = N_("Name not unique on network"),
750 [EBADFD
] = N_("File descriptor in bad state"),
754 [EREMCHG
] = N_("Remote address changed"),
758 [ELIBACC
] = N_("Can not access a needed shared library"),
762 [ELIBBAD
] = N_("Accessing a corrupted shared library"),
766 [ELIBSCN
] = N_(".lib section in a.out corrupted"),
770 [ELIBMAX
] = N_("Attempting to link in too many shared libraries"),
774 [ELIBEXEC
] = N_("Cannot exec a shared library directly"),
778 [ESTRPIPE
] = N_("Streams pipe error"),
782 [EUCLEAN
] = N_("Structure needs cleaning"),
786 [ENOTNAM
] = N_("Not a XENIX named type file"),
790 [ENAVAIL
] = N_("No XENIX semaphores available"),
794 [EISNAM
] = N_("Is a named type file"),
798 [EREMOTEIO
] = N_("Remote I/O error"),
802 [ENOMEDIUM
] = N_("No medium found"),
806 [EMEDIUMTYPE
] = N_("Wrong medium type"),
810 const int _sys_nerr
= sizeof _sys_errlist
/ sizeof _sys_errlist
[0];
811 weak_alias (_sys_errlist
, sys_errlist
)
812 weak_alias (_sys_nerr
, sys_nerr
)