* libc/include/sys/errno.h: Fix comments.

* libc/string/strerror.c: Fix documentation.
	(_strerror_r): Handle ENETRESET, EILSEQ, ENODATA, ECONNRESET,
	EADDRNOTAVAIL, EOVERFLOW.  Fix strings for EMFILE and EDOM.
This commit is contained in:
Corinna Vinschen 2014-07-14 13:40:17 +00:00
parent 6aafa0bfc2
commit e2b585c12c
3 changed files with 100 additions and 36 deletions

View File

@ -1,3 +1,10 @@
2014-07-14 Nick Withers <nick.withers@anu.edu.au>
* libc/include/sys/errno.h: Fix comments.
* libc/string/strerror.c: Fix documentation.
(_strerror_r): Handle ENETRESET, EILSEQ, ENODATA, ECONNRESET,
EADDRNOTAVAIL, EOVERFLOW. Fix strings for EMFILE and EDOM.
2014-07-11 Kévin Petit <kevin.petit@arm.com>
* libc/machine/aarch64/memchr.S: New file.

View File

@ -28,7 +28,7 @@ extern __IMPORT char *program_invocation_short_name;
#define __errno_r(ptr) ((ptr)->_errno)
#define EPERM 1 /* Not super-user */
#define EPERM 1 /* Not owner */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* Interrupted system call */
@ -39,13 +39,13 @@ extern __IMPORT char *program_invocation_short_name;
#define EBADF 9 /* Bad file number */
#define ECHILD 10 /* No children */
#define EAGAIN 11 /* No more processes */
#define ENOMEM 12 /* Not enough core */
#define ENOMEM 12 /* Not enough space */
#define EACCES 13 /* Permission denied */
#define EFAULT 14 /* Bad address */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENOTBLK 15 /* Block device required */
#endif
#define EBUSY 16 /* Mount device busy */
#define EBUSY 16 /* Device or resource busy */
#define EEXIST 17 /* File exists */
#define EXDEV 18 /* Cross-device link */
#define ENODEV 19 /* No such device */
@ -53,17 +53,17 @@ extern __IMPORT char *program_invocation_short_name;
#define EISDIR 21 /* Is a directory */
#define EINVAL 22 /* Invalid argument */
#define ENFILE 23 /* Too many open files in system */
#define EMFILE 24 /* Too many open files */
#define ENOTTY 25 /* Not a typewriter */
#define EMFILE 24 /* File descriptor value too large */
#define ENOTTY 25 /* Not a character device */
#define ETXTBSY 26 /* Text file busy */
#define EFBIG 27 /* File too large */
#define ENOSPC 28 /* No space left on device */
#define ESPIPE 29 /* Illegal seek */
#define EROFS 30 /* Read only file system */
#define EROFS 30 /* Read-only file system */
#define EMLINK 31 /* Too many links */
#define EPIPE 32 /* Broken pipe */
#define EDOM 33 /* Math arg out of domain of func */
#define ERANGE 34 /* Math result not representable */
#define EDOM 33 /* Mathematics argument out of domain of function */
#define ERANGE 34 /* Result too large */
#define ENOMSG 35 /* No message of desired type */
#define EIDRM 36 /* Identifier removed */
#ifdef __LINUX_ERRNO_EXTENSIONS__
@ -76,8 +76,8 @@ extern __IMPORT char *program_invocation_short_name;
#define ENOCSI 43 /* No CSI structure available */
#define EL2HLT 44 /* Level 2 halted */
#endif
#define EDEADLK 45 /* Deadlock condition */
#define ENOLCK 46 /* No record locks available */
#define EDEADLK 45 /* Deadlock */
#define ENOLCK 46 /* No lock */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define EBADE 50 /* Invalid exchange */
#define EBADR 51 /* Invalid request descriptor */
@ -88,16 +88,16 @@ extern __IMPORT char *program_invocation_short_name;
#define EDEADLOCK 56 /* File locking deadlock error */
#define EBFONT 57 /* Bad font file fmt */
#endif
#define ENOSTR 60 /* Device not a stream */
#define ENOSTR 60 /* Not a stream */
#define ENODATA 61 /* No data (for no delay io) */
#define ETIME 62 /* Timer expired */
#define ENOSR 63 /* Out of streams resources */
#define ETIME 62 /* Stream ioctl timeout */
#define ENOSR 63 /* No stream resources */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENONET 64 /* Machine is not on the network */
#define ENOPKG 65 /* Package not installed */
#define EREMOTE 66 /* The object is remote */
#endif
#define ENOLINK 67 /* The link has been severed */
#define ENOLINK 67 /* Virtual circuit is gone */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define EADV 68 /* Advertise error */
#define ESRMNT 69 /* Srmount error */
@ -109,7 +109,7 @@ extern __IMPORT char *program_invocation_short_name;
#define ELBIN 75 /* Inode is remote (not really error) */
#define EDOTDOT 76 /* Cross mount point (not really error) */
#endif
#define EBADMSG 77 /* Trying to read unreadable message */
#define EBADMSG 77 /* Bad message */
#define EFTYPE 79 /* Inappropriate file type or format */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENOTUNIQ 80 /* Given log. name not unique */
@ -128,7 +128,7 @@ extern __IMPORT char *program_invocation_short_name;
#define ENOTEMPTY 90 /* Directory not empty */
#define ENAMETOOLONG 91 /* File or path name too long */
#define ELOOP 92 /* Too many symbolic links */
#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
#define EOPNOTSUPP 95 /* Operation not supported on socket */
#define EPFNOSUPPORT 96 /* Protocol family not supported */
#define ECONNRESET 104 /* Connection reset by peer */
#define ENOBUFS 105 /* No buffer space available */
@ -141,7 +141,7 @@ extern __IMPORT char *program_invocation_short_name;
#endif
#define ECONNREFUSED 111 /* Connection refused */
#define EADDRINUSE 112 /* Address already in use */
#define ECONNABORTED 113 /* Connection aborted */
#define ECONNABORTED 113 /* Software caused connection abort */
#define ENETUNREACH 114 /* Network is unreachable */
#define ENETDOWN 115 /* Network interface is not configured */
#define ETIMEDOUT 116 /* Connection timed out */
@ -156,7 +156,7 @@ extern __IMPORT char *program_invocation_short_name;
#define ESOCKTNOSUPPORT 124 /* Socket type not supported */
#endif
#define EADDRNOTAVAIL 125 /* Address not available */
#define ENETRESET 126
#define ENETRESET 126 /* Connection aborted by network */
#define EISCONN 127 /* Socket is already connected */
#define ENOTCONN 128 /* Socket is not connected */
#define ETOOMANYREFS 129
@ -174,7 +174,7 @@ extern __IMPORT char *program_invocation_short_name;
#define ENOSHARE 136 /* No such host or network path */
#define ECASECLASH 137 /* Filename exists with different case */
#endif
#define EILSEQ 138
#define EILSEQ 138 /* Illegal byte sequence */
#define EOVERFLOW 139 /* Value too large for defined data type */
#define ECANCELED 140 /* Operation canceled */
#define ENOTRECOVERABLE 141 /* State not recoverable */

View File

@ -45,6 +45,9 @@ Permission denied
o EADDRINUSE
Address already in use
o EADDRNOTAVAIL
Address not available
o EADV
Advertise error
@ -66,6 +69,9 @@ Bad message
o EBUSY
Device or resource busy
o ECANCELED
Operation canceled
o ECHILD
No children
@ -78,6 +84,9 @@ Software caused connection abort
o ECONNREFUSED
Connection refused
o ECONNRESET
Connection reset by peer
o EDEADLK
Deadlock
@ -88,7 +97,7 @@ o EEXIST
File exists
o EDOM
Math argument
Mathematics argument out of domain of function
o EFAULT
Bad address
@ -105,6 +114,9 @@ Host is unreachable
o EIDRM
Identifier removed
o EILSEQ
Illegal byte sequence
o EINPROGRESS
Connection already in progress
@ -139,7 +151,7 @@ o ELIBSCN
<<.lib>> section in a.out corrupted
o EMFILE
Too many open files
File descriptor value too large
o EMLINK
Too many links
@ -154,7 +166,10 @@ o ENAMETOOLONG
File or path name too long
o ENETDOWN
Network interface not configured
Network interface is not configured
o ENETRESET
Connection aborted by network
o ENETUNREACH
Network is unreachable
@ -162,6 +177,12 @@ Network is unreachable
o ENFILE
Too many open files in system
o ENOBUFS
No buffer space available
o ENODATA
No data
o ENODEV
No such device
@ -216,6 +237,9 @@ Not a directory
o ENOTEMPTY
Directory not empty
o ENOTRECOVERABLE
State not recoverable
o ENOTSOCK
Socket operation on non-socket
@ -228,6 +252,15 @@ Not a character device
o ENXIO
No such device or address
o EOPNOTSUPP
Operation not supported on socket
o EOVERFLOW
Value too large for defined data type
o EOWNERDEAD
Previous owner died
o EPERM
Not owner
@ -267,6 +300,9 @@ No such process
o ESRMNT
Srmount error
o ESTRPIPE
Strings pipe error
o ETIME
Stream ioctl timeout
@ -276,21 +312,12 @@ Connection timed out
o ETXTBSY
Text file busy
o EWOULDBLOCK
EAGAIN
o EXDEV
Cross-device link
o ECANCELED
Operation canceled
o ENOTRECOVERABLE
State not recoverable
o EOWNERDEAD
Previous owner died
o ESTRPIPE
Strings pipe error
o-
<<_strerror_r>> is a reentrant version of the above.
@ -504,6 +531,11 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
error = "Network interface is not configured";
break;
#endif
#ifdef ENETRESET
case ENETRESET:
error = "Connection aborted by network";
break;
#endif
#ifdef ENFILE
case ENFILE:
error = "Too many open files in system";
@ -511,7 +543,7 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
#endif
#ifdef EMFILE
case EMFILE:
error = "Too many open files";
error = "File descriptor value too large";
break;
#endif
#ifdef ENOTTY
@ -566,7 +598,7 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
#endif
#ifdef EDOM
case EDOM:
error = "Math argument";
error = "Mathematics argument out of domain of function";
break;
#endif
#ifdef ERANGE
@ -584,6 +616,11 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
error = "Identifier removed";
break;
#endif
#ifdef EILSEQ
case EILSEQ:
error = "Illegal byte sequence";
break;
#endif
#ifdef EDEADLK
case EDEADLK:
error = "Deadlock";
@ -724,6 +761,11 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
error = "No buffer space available";
break;
#endif
#ifdef ENODATA
case ENODATA:
error = "No data";
break;
#endif
#ifdef EAFNOSUPPORT
case EAFNOSUPPORT:
error = "Address family not supported by protocol family";
@ -754,11 +796,21 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
error = "Connection refused";
break;
#endif
#ifdef ECONNRESET
case ECONNRESET:
error = "Connection reset by peer";
break;
#endif
#ifdef EADDRINUSE
case EADDRINUSE:
error = "Address already in use";
break;
#endif
#ifdef EADDRNOTAVAIL
case EADDRNOTAVAIL:
error = "Address not available";
break;
#endif
#ifdef ECONNABORTED
case ECONNABORTED:
error = "Software caused connection abort";
@ -809,6 +861,11 @@ _DEFUN (_strerror_r, (ptr, errnum, internal, errptr),
error = "Operation not supported on socket";
break;
#endif
#ifdef EOVERFLOW
case EOVERFLOW:
error = "Value too large for defined data type";
break;
#endif
#ifdef EMSGSIZE
case EMSGSIZE:
error = "Message too long";