diff options
| author | Rical Jasan <ricaljasan@pacific.net> | 2017-05-19 22:44:25 -0700 |
|---|---|---|
| committer | Rical Jasan <ricaljasan@pacific.net> | 2017-05-19 22:47:53 -0700 |
| commit | a429d2ff07fcb6620269fc0ee46ea5066451fdff (patch) | |
| tree | b331d57677d3181b3d025a22682fd1fd0d4b3443 | |
| parent | 0bcec5321f7d31c31e4fd601d4e0922862d87b14 (diff) | |
| download | glibc-a429d2ff07fcb6620269fc0ee46ea5066451fdff.tar.xz glibc-a429d2ff07fcb6620269fc0ee46ea5066451fdff.zip | |
manual: Convert errno @comments to new @errno macro.
errno.texi documents error macros, their values, and error strings in
Texinfo @comments, some of which are also used for @standards. The
purpose of this commit is to separate the standards from the error
strings so that both the @standards conversion script picks up clean
@standards and the errno documentation framework is improved.
The error names, values, and messages are consolidated in a new custom
macro, @errno. It is not clear that scripts within the sources rely
on the special Texinfo @comment-based format to generate files used
throughout the library, so the definition of @errno in macros.texi now
provides a comment indicating the dependency. The dependent scripts
are updated to use @errno, which also simplifies them a bit. The
files those scripts generate were verified to be unchanged.
The @errno macro is not visibly rendered in any way at this time, but
it does use an @cindex command to add the error string to the Concept
Index, to facilitate searching on error messages.
* manual/errno.texi: Convert @comment-based errno
documentation to @errno.
* manual/macros.texi (@errno): New macro. Consolidate errors,
their values, and messages, adding the error string to the
Concept Index. Provide a warning in the comment about
external (to the manual) dependencies.
* sysdeps/gnu/errlist.awk: Use @errno instead of @comments.
* sysdeps/mach/hurd/errnos.awk: Likewise.
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rw-r--r-- | manual/errno.texi | 596 | ||||
| -rw-r--r-- | manual/macros.texi | 6 | ||||
| -rw-r--r-- | sysdeps/gnu/errlist.awk | 21 | ||||
| -rw-r--r-- | sysdeps/mach/hurd/errnos.awk | 22 |
5 files changed, 326 insertions, 330 deletions
@@ -1,3 +1,14 @@ +2017-05-19 Rical Jasan <ricaljasan@pacific.net> + + * manual/errno.texi: Convert @comment-based errno documentation to + @errno. + * manual/macros.texi (@errno): New macro. Consolidate errors, + their values, and messages, adding the error string to the Concept + Index. Provide a warning in the comment about external (to the + manual) dependencies. + * sysdeps/gnu/errlist.awk: Use @errno instead of @comments. + * sysdeps/mach/hurd/errnos.awk: Likewise. + 2017-05-19 Joseph Myers <joseph@codesourcery.com> * bits/ss_flags.h: New file. diff --git a/manual/errno.texi b/manual/errno.texi index d5429a00d4..184fa5e277 100644 --- a/manual/errno.texi +++ b/manual/errno.texi @@ -119,33 +119,33 @@ codes can't occur on @gnusystems{}, but they can occur using @theglibc{} on other systems. @comment errno.h -@comment POSIX.1: Operation not permitted +@comment POSIX.1 @deftypevr Macro int EPERM -@comment errno 1 @c DO NOT REMOVE +@errno{EPERM, 1, Operation not permitted} Operation not permitted; only the owner of the file (or other resource) or processes with special privileges can perform the operation. @end deftypevr @comment errno.h -@comment POSIX.1: No such file or directory +@comment POSIX.1 @deftypevr Macro int ENOENT -@comment errno 2 @c DO NOT REMOVE +@errno{ENOENT, 2, No such file or directory} No such file or directory. This is a ``file doesn't exist'' error for ordinary files that are referenced in contexts where they are expected to already exist. @end deftypevr @comment errno.h -@comment POSIX.1: No such process +@comment POSIX.1 @deftypevr Macro int ESRCH -@comment errno 3 @c DO NOT REMOVE +@errno{ESRCH, 3, No such process} No process matches the specified process ID. @end deftypevr @comment errno.h -@comment POSIX.1: Interrupted system call +@comment POSIX.1 @deftypevr Macro int EINTR -@comment errno 4 @c DO NOT REMOVE +@errno{EINTR, 4, Interrupted system call} Interrupted function call; an asynchronous signal occurred and prevented completion of the call. When this happens, you should try the call again. @@ -156,16 +156,16 @@ Primitives}. @end deftypevr @comment errno.h -@comment POSIX.1: Input/output error +@comment POSIX.1 @deftypevr Macro int EIO -@comment errno 5 @c DO NOT REMOVE +@errno{EIO, 5, Input/output error} Input/output error; usually used for physical read or write errors. @end deftypevr @comment errno.h -@comment POSIX.1: No such device or address +@comment POSIX.1 @deftypevr Macro int ENXIO -@comment errno 6 @c DO NOT REMOVE +@errno{ENXIO, 6, No such device or address} No such device or address. The system tried to use the device represented by a file you specified, and it couldn't find the device. This can mean that the device file was installed incorrectly, or that @@ -174,9 +174,9 @@ computer. @end deftypevr @comment errno.h -@comment POSIX.1: Argument list too long +@comment POSIX.1 @deftypevr Macro int E2BIG -@comment errno 7 @c DO NOT REMOVE +@errno{E2BIG, 7, Argument list too long} Argument list too long; used when the arguments passed to a new program being executed with one of the @code{exec} functions (@pxref{Executing a File}) occupy too much memory space. This condition never arises on @@ -184,35 +184,35 @@ File}) occupy too much memory space. This condition never arises on @end deftypevr @comment errno.h -@comment POSIX.1: Exec format error +@comment POSIX.1 @deftypevr Macro int ENOEXEC -@comment errno 8 @c DO NOT REMOVE +@errno{ENOEXEC, 8, Exec format error} Invalid executable file format. This condition is detected by the @code{exec} functions; see @ref{Executing a File}. @end deftypevr @comment errno.h -@comment POSIX.1: Bad file descriptor +@comment POSIX.1 @deftypevr Macro int EBADF -@comment errno 9 @c DO NOT REMOVE +@errno{EBADF, 9, Bad file descriptor} Bad file descriptor; for example, I/O on a descriptor that has been closed or reading from a descriptor open only for writing (or vice versa). @end deftypevr @comment errno.h -@comment POSIX.1: No child processes +@comment POSIX.1 @deftypevr Macro int ECHILD -@comment errno 10 @c DO NOT REMOVE +@errno{ECHILD, 10, No child processes} There are no child processes. This error happens on operations that are supposed to manipulate child processes, when there aren't any processes to manipulate. @end deftypevr @comment errno.h -@comment POSIX.1: Resource deadlock avoided +@comment POSIX.1 @deftypevr Macro int EDEADLK -@comment errno 11 @c DO NOT REMOVE +@errno{EDEADLK, 11, Resource deadlock avoided} Deadlock avoided; allocating a system resource would have resulted in a deadlock situation. The system does not guarantee that it will notice all such situations. This error means you got lucky and the system @@ -220,98 +220,98 @@ noticed; it might just hang. @xref{File Locks}, for an example. @end deftypevr @comment errno.h -@comment POSIX.1: Cannot allocate memory +@comment POSIX.1 @deftypevr Macro int ENOMEM -@comment errno 12 @c DO NOT REMOVE +@errno{ENOMEM, 12, Cannot allocate memory} No memory available. The system cannot allocate more virtual memory because its capacity is full. @end deftypevr @comment errno.h -@comment POSIX.1: Permission denied +@comment POSIX.1 @deftypevr Macro int EACCES -@comment errno 13 @c DO NOT REMOVE +@errno{EACCES, 13, Permission denied} Permission denied; the file permissions do not allow the attempted operation. @end deftypevr @comment errno.h -@comment POSIX.1: Bad address +@comment POSIX.1 @deftypevr Macro int EFAULT -@comment errno 14 @c DO NOT REMOVE +@errno{EFAULT, 14, Bad address} Bad address; an invalid pointer was detected. On @gnuhurdsystems{}, this error never happens; you get a signal instead. @end deftypevr @comment errno.h -@comment BSD: Block device required +@comment BSD @deftypevr Macro int ENOTBLK -@comment errno 15 @c DO NOT REMOVE +@errno{ENOTBLK, 15, Block device required} A file that isn't a block special file was given in a situation that requires one. For example, trying to mount an ordinary file as a file system in Unix gives this error. @end deftypevr @comment errno.h -@comment POSIX.1: Device or resource busy +@comment POSIX.1 @deftypevr Macro int EBUSY -@comment errno 16 @c DO NOT REMOVE +@errno{EBUSY, 16, Device or resource busy} Resource busy; a system resource that can't be shared is already in use. For example, if you try to delete a file that is the root of a currently mounted filesystem, you get this error. @end deftypevr @comment errno.h -@comment POSIX.1: File exists +@comment POSIX.1 @deftypevr Macro int EEXIST -@comment errno 17 @c DO NOT REMOVE +@errno{EEXIST, 17, File exists} File exists; an existing file was specified in a context where it only makes sense to specify a new file. @end deftypevr @comment errno.h -@comment POSIX.1: Invalid cross-device link +@comment POSIX.1 @deftypevr Macro int EXDEV -@comment errno 18 @c DO NOT REMOVE +@errno{EXDEV, 18, Invalid cross-device link} An attempt to make an improper link across file systems was detected. This happens not only when you use @code{link} (@pxref{Hard Links}) but also when you rename a file with @code{rename} (@pxref{Renaming Files}). @end deftypevr @comment errno.h -@comment POSIX.1: No such device +@comment POSIX.1 @deftypevr Macro int ENODEV -@comment errno 19 @c DO NOT REMOVE +@errno{ENODEV, 19, No such device} The wrong type of device was given to a function that expects a particular sort of device. @end deftypevr @comment errno.h -@comment POSIX.1: Not a directory +@comment POSIX.1 @deftypevr Macro int ENOTDIR -@comment errno 20 @c DO NOT REMOVE +@errno{ENOTDIR, 20, Not a directory} A file that isn't a directory was specified when a directory is required. @end deftypevr @comment errno.h -@comment POSIX.1: Is a directory +@comment POSIX.1 @deftypevr Macro int EISDIR -@comment errno 21 @c DO NOT REMOVE +@errno{EISDIR, 21, Is a directory} File is a directory; you cannot open a directory for writing, or create or remove hard links to it. @end deftypevr @comment errno.h -@comment POSIX.1: Invalid argument +@comment POSIX.1 @deftypevr Macro int EINVAL -@comment errno 22 @c DO NOT REMOVE +@errno{EINVAL, 22, Invalid argument} Invalid argument. This is used to indicate various kinds of problems with passing the wrong argument to a library function. @end deftypevr @comment errno.h -@comment POSIX.1: Too many open files +@comment POSIX.1 @deftypevr Macro int EMFILE -@comment errno 24 @c DO NOT REMOVE +@errno{EMFILE, 24, Too many open files} The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. @@ -322,26 +322,26 @@ want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; @end deftypevr @comment errno.h -@comment POSIX.1: Too many open files in system +@comment POSIX.1 @deftypevr Macro int ENFILE -@comment errno 23 @c DO NOT REMOVE +@errno{ENFILE, 23, Too many open files in system} There are too many distinct file openings in the entire system. Note that any number of linked channels count as just one file opening; see @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. @end deftypevr @comment errno.h -@comment POSIX.1: Inappropriate ioctl for device +@comment POSIX.1 @deftypevr Macro int ENOTTY -@comment errno 25 @c DO NOT REMOVE +@errno{ENOTTY, 25, Inappropriate ioctl for device} Inappropriate I/O control operation, such as trying to set terminal modes on an ordinary file. @end deftypevr @comment errno.h -@comment BSD: Text file busy +@comment BSD @deftypevr Macro int ETXTBSY -@comment errno 26 @c DO NOT REMOVE +@errno{ETXTBSY, 26, Text file busy} An attempt to execute a file that is currently open for writing, or write to a file that is currently being executed. Often using a debugger to run a program is considered having it open for writing and @@ -350,47 +350,47 @@ is not an error on @gnuhurdsystems{}; the text is copied as necessary. @end deftypevr @comment errno.h -@comment POSIX.1: File too large +@comment POSIX.1 @deftypevr Macro int EFBIG -@comment errno 27 @c DO NOT REMOVE +@errno{EFBIG, 27, File too large} File too big; the size of a file would be larger than allowed by the system. @end deftypevr @comment errno.h -@comment POSIX.1: No space left on device +@comment POSIX.1 @deftypevr Macro int ENOSPC -@comment errno 28 @c DO NOT REMOVE +@errno{ENOSPC, 28, No space left on device} No space left on device; write operation on a file failed because the disk is full. @end deftypevr @comment errno.h -@comment POSIX.1: Illegal seek +@comment POSIX.1 @deftypevr Macro int ESPIPE -@comment errno 29 @c DO NOT REMOVE +@errno{ESPIPE, 29, Illegal seek} Invalid seek operation (such as on a pipe). @end deftypevr @comment errno.h -@comment POSIX.1: Read-only file system +@comment POSIX.1 @deftypevr Macro int EROFS -@comment errno 30 @c DO NOT REMOVE +@errno{EROFS, 30, Read-only file system} An attempt was made to modify something on a read-only file system. @end deftypevr @comment errno.h -@comment POSIX.1: Too many links +@comment POSIX.1 @deftypevr Macro int EMLINK -@comment errno 31 @c DO NOT REMOVE +@errno{EMLINK, 31, Too many links} Too many links; the link count of a single file would become too large. @code{rename} can cause this error if the file being renamed already has as many links as it can take (@pxref{Renaming Files}). @end deftypevr @comment errno.h -@comment POSIX.1: Broken pipe +@comment POSIX.1 @deftypevr Macro int EPIPE -@comment errno 32 @c DO NOT REMOVE +@errno{EPIPE, 32, Broken pipe} Broken pipe; there is no process reading from the other end of a pipe. Every library function that returns this error code also generates a @code{SIGPIPE} signal; this signal terminates the program if not handled @@ -399,25 +399,25 @@ unless it has handled or blocked @code{SIGPIPE}. @end deftypevr @comment errno.h -@comment ISO: Numerical argument out of domain +@comment ISO @deftypevr Macro int EDOM -@comment errno 33 @c DO NOT REMOVE +@errno{EDOM, 33, Numerical argument out of domain} Domain error; used by mathematical functions when an argument value does not fall into the domain over which the function is defined. @end deftypevr @comment errno.h -@comment ISO: Numerical result out of range +@comment ISO @deftypevr Macro int ERANGE -@comment errno 34 @c DO NOT REMOVE +@errno{ERANGE, 34, Numerical result out of range} Range error; used by mathematical functions when the result value is not representable because of overflow or underflow. @end deftypevr @comment errno.h -@comment POSIX.1: Resource temporarily unavailable +@comment POSIX.1 @deftypevr Macro int EAGAIN -@comment errno 35 @c DO NOT REMOVE +@errno{EAGAIN, 35, Resource temporarily unavailable} Resource temporarily unavailable; the call might work if you try again later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; they are always the same in @theglibc{}. @@ -450,9 +450,9 @@ and return to its command loop. @end deftypevr @comment errno.h -@comment BSD: Operation would block +@comment BSD @deftypevr Macro int EWOULDBLOCK -@comment errno EAGAIN @c DO NOT REMOVE +@errno{EWOULDBLOCK, EAGAIN, Operation would block} In @theglibc{}, this is another name for @code{EAGAIN} (above). The values are always the same, on every operating system. @@ -461,9 +461,9 @@ separate error code. @end deftypevr @comment errno.h -@comment BSD: Operation now in progress +@comment BSD @deftypevr Macro int EINPROGRESS -@comment errno 36 @c DO NOT REMOVE +@errno{EINPROGRESS, 36, Operation now in progress} An operation that cannot complete immediately was initiated on an object that has non-blocking mode selected. Some functions that must always block (such as @code{connect}; @pxref{Connecting}) never return @@ -475,63 +475,63 @@ has completed; @pxref{Waiting for I/O}. @end deftypevr @comment errno.h -@comment BSD: Operation already in progress +@comment BSD @deftypevr Macro int EALREADY -@comment errno 37 @c DO NOT REMOVE +@errno{EALREADY, 37, Operation already in progress} An operation is already in progress on an object that has non-blocking mode selected. @end deftypevr @comment errno.h -@comment BSD: Socket operation on non-socket +@comment BSD @deftypevr Macro int ENOTSOCK -@comment errno 38 @c DO NOT REMOVE +@errno{ENOTSOCK, 38, Socket operation on non-socket} A file that isn't a socket was specified when a socket is required. @end deftypevr @comment errno.h -@comment BSD: Message too long +@comment BSD @deftypevr Macro int EMSGSIZE -@comment errno 40 @c DO NOT REMOVE +@errno{EMSGSIZE, 40, Message too long} The size of a message sent on a socket was larger than the supported maximum size. @end deftypevr @comment errno.h -@comment BSD: Protocol wrong type for socket +@comment BSD @deftypevr Macro int EPROTOTYPE -@comment errno 41 @c DO NOT REMOVE +@errno{EPROTOTYPE, 41, Protocol wrong type for socket} The socket type does not support the requested communications protocol. @end deftypevr @comment errno.h -@comment BSD: Protocol not available +@comment BSD @deftypevr Macro int ENOPROTOOPT -@comment errno 42 @c DO NOT REMOVE +@errno{ENOPROTOOPT, 42, Protocol not available} You specified a socket option that doesn't make sense for the particular protocol being used by the socket. @xref{Socket Options}. @end deftypevr @comment errno.h -@comment BSD: Protocol not supported +@comment BSD @deftypevr Macro int EPROTONOSUPPORT -@comment errno 43 @c DO NOT REMOVE +@errno{EPROTONOSUPPORT, 43, Protocol not supported} The socket domain does not support the requested communications protocol (perhaps because the requested protocol is completely invalid). @xref{Creating a Socket}. @end deftypevr @comment errno.h -@comment BSD: Socket type not supported +@comment BSD @deftypevr Macro int ESOCKTNOSUPPORT -@comment errno 44 @c DO NOT REMOVE +@errno{ESOCKTNOSUPPORT, 44, Socket type not supported} The socket type is not supported. @end deftypevr @comment errno.h -@comment BSD: Operation not supported +@comment BSD @deftypevr Macro int EOPNOTSUPP -@comment errno 45 @c DO NOT REMOVE +@errno{EOPNOTSUPP, 45, Operation not supported} The operation you requested is not supported. Some socket functions don't make sense for all types of sockets, and others may not be implemented for all communications protocols. On @gnuhurdsystems{}, this @@ -541,95 +541,95 @@ nothing to do for that call. @end deftypevr @comment errno.h -@comment BSD: Protocol family not supported +@comment BSD @deftypevr Macro int EPFNOSUPPORT -@comment errno 46 @c DO NOT REMOVE +@errno{EPFNOSUPPORT, 46, Protocol family not supported} The socket communications protocol family you requested is not supported. @end deftypevr @comment errno.h -@comment BSD: Address family not supported by protocol +@comment BSD @deftypevr Macro int EAFNOSUPPORT -@comment errno 47 @c DO NOT REMOVE +@errno{EAFNOSUPPORT, 47, Address family not supported by protocol} The address family specified for a socket is not supported; it is inconsistent with the protocol being used on the socket. @xref{Sockets}. @end deftypevr @comment errno.h -@comment BSD: Address already in use +@comment BSD @deftypevr Macro int EADDRINUSE -@comment errno 48 @c DO NOT REMOVE +@errno{EADDRINUSE, 48, Address already in use} The requested socket address is already in use. @xref{Socket Addresses}. @end deftypevr @comment errno.h -@comment BSD: Cannot assign requested address +@comment BSD @deftypevr Macro int EADDRNOTAVAIL -@comment errno 49 @c DO NOT REMOVE +@errno{EADDRNOTAVAIL, 49, Cannot assign requested address} The requested socket address is not available; for example, you tried to give a socket a name that doesn't match the local host name. @xref{Socket Addresses}. @end deftypevr @comment errno.h -@comment BSD: Network is down +@comment BSD @deftypevr Macro int ENETDOWN -@comment errno 50 @c DO NOT REMOVE +@errno{ENETDOWN, 50, Network is down} A socket operation failed because the network was down. @end deftypevr @comment errno.h -@comment BSD: Network is unreachable +@comment BSD @deftypevr Macro int ENETUNREACH -@comment errno 51 @c DO NOT REMOVE +@errno{ENETUNREACH, 51, Network is unreachable} A socket operation failed because the subnet containing the remote host was unreachable. @end deftypevr @comment errno.h -@comment BSD: Network dropped connection on reset +@comment BSD @deftypevr Macro int ENETRESET -@comment errno 52 @c DO NOT REMOVE +@errno{ENETRESET, 52, Network dropped connection on reset} A network connection was reset because the remote host crashed. @end deftypevr @comment errno.h -@comment BSD: Software caused connection abort +@comment BSD @deftypevr Macro int ECONNABORTED -@comment errno 53 @c DO NOT REMOVE +@errno{ECONNABORTED, 53, Software caused connection abort} A network connection was aborted locally. @end deftypevr @comment errno.h -@comment BSD: Connection reset by peer +@comment BSD @deftypevr Macro int ECONNRESET -@comment errno 54 @c DO NOT REMOVE +@errno{ECONNRESET, 54, Connection reset by peer} A network connection was closed for reasons outside the control of the local host, such as by the remote machine rebooting or an unrecoverable protocol violation. @end deftypevr @comment errno.h -@comment BSD: No buffer space available +@comment BSD @deftypevr Macro int ENOBUFS -@comment errno 55 @c DO NOT REMOVE +@errno{ENOBUFS, 55, No buffer space available} The kernel's buffers for I/O operations are all in use. In GNU, this error is always synonymous with @code{ENOMEM}; you may get one or the other from network operations. @end deftypevr @comment errno.h -@comment BSD: Transport endpoint is already connected +@comment BSD @deftypevr Macro int EISCONN -@comment errno 56 @c DO NOT REMOVE +@errno{EISCONN, 56, Transport endpoint is already connected} You tried to connect a socket that is already connected. @xref{Connecting}. @end deftypevr @comment errno.h -@comment BSD: Transport endpoint is not connected +@comment BSD @deftypevr Macro int ENOTCONN -@comment errno 57 @c DO NOT REMOVE +@errno{ENOTCONN, 57, Transport endpoint is not connected} The socket is not connected to anything. You get this error when you try to transmit data over a socket, without first specifying a destination for the data. For a connectionless socket (for datagram @@ -637,111 +637,111 @@ protocols, such as UDP), you get @code{EDESTADDRREQ} instead. @end deftypevr @comment errno.h -@comment BSD: Destination address required +@comment BSD @deftypevr Macro int EDESTADDRREQ -@comment errno 39 @c DO NOT REMOVE +@errno{EDESTADDRREQ, 39, Destination address required} No default destination address was set for the socket. You get this error when you try to transmit data over a connectionless socket, without first specifying a destination for the data with @code{connect}. @end deftypevr @comment errno.h -@comment BSD: Cannot send after transport endpoint shutdown +@comment BSD @deftypevr Macro int ESHUTDOWN -@comment errno 58 @c DO NOT REMOVE +@errno{ESHUTDOWN, 58, Cannot send after transport endpoint shutdown} The socket has already been shut down. @end deftypevr @comment errno.h -@comment BSD: Too many references: cannot splice +@comment BSD @deftypevr Macro int ETOOMANYREFS -@comment errno 59 @c DO NOT REMOVE +@errno{ETOOMANYREFS, 59, Too many references: cannot splice} ??? @end deftypevr @comment errno.h -@comment BSD: Connection timed out +@comment BSD @deftypevr Macro int ETIMEDOUT -@comment errno 60 @c DO NOT REMOVE +@errno{ETIMEDOUT, 60, Connection timed out} A socket operation with a specified timeout receiv |
