diff options
Diffstat (limited to 'contrib/syslinux/latest/gpxe/src/hci/strerror.c')
-rw-r--r-- | contrib/syslinux/latest/gpxe/src/hci/strerror.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/contrib/syslinux/latest/gpxe/src/hci/strerror.c b/contrib/syslinux/latest/gpxe/src/hci/strerror.c deleted file mode 100644 index 94547dd..0000000 --- a/contrib/syslinux/latest/gpxe/src/hci/strerror.c +++ /dev/null @@ -1,122 +0,0 @@ -#include <errno.h> -#include <string.h> -#include <stdio.h> -#include <gpxe/errortab.h> - -/** @file - * - * Error descriptions. - * - * The error numbers used by Etherboot are a superset of those defined - * by the PXE specification version 2.1. See errno.h for a listing of - * the error values. - * - * To save space in ROM images, error string tables are optional. Use - * the ERRORMSG_XXX options in config.h to select which error string - * tables you want to include. If an error string table is omitted, - * strerror() will simply return the text "Error 0x<errno>". - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -/** - * Find error description - * - * @v errno Error number - * @ret errortab Error description, or NULL - */ -static struct errortab * find_error ( int errno ) { - struct errortab *errortab; - - for_each_table_entry ( errortab, ERRORTAB ) { - if ( errortab->errno == errno ) - return errortab; - } - - return NULL; -} - -/** - * Find closest error description - * - * @v errno Error number - * @ret errortab Error description, or NULL - * - * - */ -static struct errortab * find_closest_error ( int errno ) { - struct errortab *errortab; - - /* First, look for an exact match */ - if ( ( errortab = find_error ( errno ) ) != NULL ) - return errortab; - - /* Second, try masking off the gPXE-specific bit and seeing if - * we have an entry for the generic POSIX error message. - */ - if ( ( errortab = find_error ( errno & 0x7f0000ff ) ) != NULL ) - return errortab; - - return NULL; -} - -/** - * Retrieve string representation of error number. - * - * @v errno/rc Error number or return status code - * @ret strerror Pointer to error text - * - * If the error is not found in the linked-in error tables, generates - * a generic "Error 0x<errno>" message. - * - * The pointer returned by strerror() is valid only until the next - * call to strerror(). - * - */ -const char * strerror ( int errno ) { - static char errbuf[64]; - struct errortab *errortab; - - /* Allow for strerror(rc) as well as strerror(errno) */ - if ( errno < 0 ) - errno = -errno; - - /* Find the error description, if one exists */ - errortab = find_closest_error ( errno ); - - /* Construct the error message */ - if ( errortab ) { - snprintf ( errbuf, sizeof ( errbuf ), "%s (%#08x)", - errortab->text, errno ); - } else { - snprintf ( errbuf, sizeof ( errbuf ), "Error %#08x", errno ); - } - - return errbuf; -} - -/* Do not include ERRFILE portion in the numbers in the error table */ -#undef ERRFILE -#define ERRFILE 0 - -/** The most common errors */ -struct errortab common_errors[] __errortab = { - { 0, "No error" }, - { EACCES, "Permission denied" }, - { ECANCELED, "Operation cancelled" }, - { ECONNRESET, "Connection reset" }, - { EINVAL, "Invalid argument" }, - { EIO, "Input/output error" }, - { ENETUNREACH, "Network unreachable" }, - { ENODEV, "No such device" }, - { ENOENT, "File not found" }, - { ENOEXEC, "Not an executable image" }, - { ENOMEM, "Out of memory" }, - { ENOSPC, "No space left on device" }, - { ENOTCONN, "Not connected" }, - { ENOTSUP, "Not supported" }, - { EPERM, "Operation not permitted" }, - { ERANGE, "Out of range" }, - { ETIMEDOUT, "Connection timed out" }, -}; |