summaryrefslogtreecommitdiffstats
path: root/src/include/errno.h
Commit message (Collapse)AuthorAgeFilesLines
* [build] Fix use of inline assembly on GCC 4.8 ARM64 buildsMichael Brown2017-07-281-2/+2
| | | | | | | | | | | | | | | | The inline assembly used in include/errno.h to generate the einfo blocks requires the ability to generate an immediate constant with no immediate-value prefix (such as the dollar sign for x86 assembly). We currently achieve this via the undocumented "%c0" form of operand. This causes an "invalid operand prefix" error on GCC 4.8 for ARM64 builds. Fix by switching to the equally undocumented "%a0" form of operand, which appears to work correctly on all tested versions of GCC. Reported-by: Benjamin S. Allen <bsallen@alcf.anl.gov> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Allow assembler section type character to vary by architectureMichael Brown2016-03-131-1/+1
| | | | | | | | | | | | | | | On some architectures (such as ARM) the "@" character is used as a comment delimiter. A section type argument such as "@progbits" therefore becomes "%progbits". This is further complicated by the fact that the "%" character has special meaning for inline assembly when input or output operands are used, in which cases "@progbits" becomes "%%progbits". Allow the section type character(s) to be defined via Makefile variables. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2015-03-021-1/+5
| | | | | | | Relicense files for which I am the sole author (as identified by util/relicense.pl). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [libc] Redefine low 8 bits of error code as "platform error code"Michael Brown2013-04-191-234/+162Star
| | | | | | | | | | The low 8 bits of an iPXE error code are currently defined as the closest equivalent PXE error code. Generalise this scheme to platforms other than PC-BIOS by extending this definition to "closest equivalent platform error code". This allows for the possibility of returning meaningful errors via EFI APIs. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [libc] Use __einfo() tuple as first argument to EUNIQ()Michael Brown2013-04-191-5/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Update FSF mailing address in GPL licence textsMichael Brown2012-07-201-1/+2
| | | | | Suggested-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [libc] Ensure that error numbers from EUNIQ() have the correct typeMichael Brown2010-09-221-1/+1
| | | | | | | | | | Error numbers are signed ints. EUNIQ() should not allow implicit type promotion based on the supplied error diambiguator, because this causes problems with statements such as rc = ( condition ? -EUNIQ ( EBASE, disambiguator ) : -EBASE ); Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [libc] Enable automated extraction of error usage reportsMichael Brown2010-05-311-158/+409
| | | | | | | Add preprocessor magic to the error definitions to enable every error usage to be tracked. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Rename gPXE to iPXEMichael Brown2010-04-201-3/+3
| | | | | | | | | | | Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-181-0/+2
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [libc] Whitespace cleanup in errno.hMichael Brown2008-03-261-1/+1
|
* [PXEXT] Change the PXE return code for EWOULDBLOCKH. Peter Anvin2008-03-261-2/+2
| | | | | | | | | | | Change the PXE return code for EWOULDBLOCK from PXENV_STATUS_FAILURE to PXENV_STATUS_TFTP_OPEN. This code is only used by the FILE_READ PXEXT call, and is necessary to distinguish "error" from "no data" in that call. (The only other nonblocking call is UDP_READ, where the caller doesn't care about the distinction, however, gPXE doesn't use EWOULDBLOCK internally to represent this condition in that code.)
* Add per-file error identifiersMichael Brown2007-07-241-107/+174
|
* Remap EBADF to PXENV_STATUS_TFTP_FILE_NOT_FOUND; the only user isMichael Brown2007-07-051-1/+1
| | | | posix_io.c and this PXE error makes more sense in this context.
* Allow construction of PXE status code from internal error number.Michael Brown2007-05-181-0/+3
|
* Introduce structured error codes.Michael Brown2007-01-191-157/+418
|
* A working DNS resolver (not yet tied in to anything)Michael Brown2007-01-151-0/+1
|
* Gave asynchronous operations approximate POSIX signal semantics. ThisMichael Brown2007-01-151-2/+3
| | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
* Distinguish between ENOMEM (as representing a lack of internal memoryMichael Brown2007-01-111-18/+18
| | | | | | as allocated by malloc()) versus all other errors, in particular ENOBUFS (representing a lack of external buffer space, e.g. in a device's TX queue or a user buffer).
* Split error-message table portions of errno.h out to gpxe/errortab.hMichael Brown2006-12-201-11/+0Star
|
* Move strerror() prototype to string.h, where it belongsMichael Brown2006-12-201-2/+0Star
|
* Differentiate between ENOSPC and ENOMEMMichael Brown2006-12-201-13/+13
|
* Add sketch code to reassemble a DHCP packet from our internal "everythingMichael Brown2006-07-171-0/+1
| | | | | | | | | | is a DHCP option" data structures. We need this code in order to be able to return a DHCP packet to a PXE NBP which reflects options from our multiple sources (e.g. NVS and DHCP server). This is expensive, but necessary. Having paid this cost, we may as well try to use the same code to generate our DHCP request packets, since the process is similar.
* Add EOVERFLOW==ERANGEMichael Brown2006-05-191-4/+6
|
* Gave up on adding POSIX errno's as required, and just added (almost) allMichael Brown2006-04-281-12/+52
| | | | | | of them in one go. EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED.
* Header rearrangement.Michael Brown2006-04-241-1/+2
| | | | | | | | | I want to get to the point where any header in include/ reflects a standard user-level header (e.g. a POSIX header), while everything that's specific to gPXE lives in include/gpxe/. Headers that reflect a Linux header (e.g. if_ether.h) should also be in include/gpxe/, with the same name as the Linux header and, preferably, the same names used for the definitions.
* First sketch of a new net device API.Michael Brown2006-04-191-0/+1
|
* Added ENOENT and EAFNOSUPPORTMichael Brown2006-04-191-0/+2
|
* More doxygen docsMichael Brown2005-05-181-5/+3Star
|
* Add EBADIMG, EIMGRET, ETIMEDOUT and EINVALMichael Brown2005-05-181-1/+6
|
* Added errno, strerror and the "%m" printf metacharacter. These will allowMichael Brown2005-05-171-0/+138
us to return proper PXE status codes, while simultaneously allowing for more consistent error reporting (complete with verbose error messages as a build-time option).