diff --git a/src/include/pxe.h b/src/include/pxe.h index 48f55509..26ecf3a6 100644 --- a/src/include/pxe.h +++ b/src/include/pxe.h @@ -56,6 +56,8 @@ #include #endif +#include "errno.h" + /* Defaults in case pxe_types.h did not define a type. These are * placeholder structures just to make the code compile. */ @@ -673,149 +675,6 @@ typedef struct { -/* - ************************************************************************** - * - * Status codes returned in the status word of the PXENV API parameter - * structure. Some of these codes are also used to return status - * information from a boot image loader back to the bootrom. - */ - -/* Generic API errors that are reported by the loader */ -#define PXENV_STATUS_SUCCESS 0x00 -#define PXENV_STATUS_FAILURE 0x01 /* general failure */ -#define PXENV_STATUS_BAD_FUNC 0x02 /* invalid function number */ -#define PXENV_STATUS_UNSUPPORTED 0x03 /* not yet supported */ -#define PXENV_STATUS_KEEP_UNDI 0x04 /* keep UNDI in memory */ -#define PXENV_STATUS_KEEP_ALL 0x05 /* keep everything in memory */ -#define PXENV_STATUS_OUT_OF_RESOURCES 0x06 /* also keep everything */ - -/* ARP/UDP errors (0x10 to 0x1F) */ -#define PXENV_STATUS_ARP_CANCELED 0x10 /* ARP canceled by keystroke */ -#define PXENV_STATUS_ARP_TIMEOUT 0x11 /* ARP timeout */ -#define PXENV_STATUS_UDP_CLOSED 0x18 /* UDP closed */ -#define PXENV_STATUS_UDP_OPEN 0x19 /* UDP already open */ -#define PXENV_STATUS_TFTP_CLOSED 0x1A /* TFTP closed */ -#define PXENV_STATUS_TFTP_OPEN 0x1B /* TFTP already opened */ - -/* BIOS/system errors (0x20 to 0x2F) */ -#define PXENV_STATUS_MCOPY_PROBLEM 0x20 /* can't copy into memory */ - -/* TFP errors (0x30 to 0x3F) */ -#define PXENV_STATUS_TFTP_CANNOT_ARP 0x30 /* TFTP ARP problem */ -#define PXENV_STATUS_TFTP_OPEN_CANCELED 0x31 /* TFTP open canceled by key */ -#define PXENV_STATUS_TFTP_OPEN_TIMEOUT 0x32 /* timeout during TFTP open */ -#define PXENV_STATUS_TFTP_UNKNOWN_OPCODE 0x33 /* unknown TFTP opcode */ -#define PXENV_STATUS_TFTP_READ_CANCELED 0x34 /* TFTP read canceled by key */ -#define PXENV_STATUS_TFTP_READ_TIMEOUT 0x35 /* timeout during TFTP read */ -#define PXENV_STATUS_TFTP_ERROR_OPCODE 0x36 /* bad TFTP opcode */ -#define PXENV_STATUS_TFTP_CANNOT_OPEN_CONNECTION \ - 0x38 /* error during TFTP open */ -#define PXENV_STATUS_TFTP_CANNOT_READ_FROM_CONNECTION \ - 0x39 /* error during TFTP read */ -#define PXENV_STATUS_TFTP_TOO_MANY_PACKAGES \ - 0x3A /* too many packages */ -#define PXENV_STATUS_TFTP_FILE_NOT_FOUND 0x3B /* file not found */ -#define PXENV_STATUS_TFTP_ACCESS_VIOLATION 0x3C /* access violation */ -#define PXENV_STATUS_TFTP_NO_MCAST_ADDRESS 0x3D /* no multicast address */ -#define PXENV_STATUS_TFTP_NO_FILESIZE 0x3E /* unable to get file size */ -#define PXENV_STATUS_TFTP_INVALID_PACKET_SIZE \ - 0x3F /* invalid packet size */ - -/* BOOTP errors (0x40 to 0x4F) */ -#define PXENV_STATUS_BOOTP_CANCELED 0x40 /* BOOTP canceled by key */ -#define PXENV_STATUS_BOOTP_TIMEOUT 0x41 /* timeout during BOOTP */ -#define PXENV_STATUS_BOOTP_NO_FILE 0x42 /* missing bootfile name */ - -/* DHCP errors (0x50 to 0x5F) */ -#define PXENV_STATUS_DHCP_CANCELED 0x50 /* DHCP canceled by key */ -#define PXENV_STATUS_DHCP_TIMEOUT 0x51 /* timeout during DHCP */ -#define PXENV_STATUS_DHCP_NO_IP_ADDRESS 0x52 /* missing IP address */ -#define PXENV_STATUS_DHCP_NO_BOOTFILE_NAME 0x53 /* missing bootfile name */ -#define PXENV_STATUS_DHCP_BAD_IP_ADDRESS 0x54 /* invalid IP address */ - -/* Driver errors (0x60 to 0x6F) */ -#define PXENV_STATUS_UNDI_INVALID_FUNCTION 0x60 /* invalid UNDI function */ -#define PXENV_STATUS_UNDI_MEDIATEST_FAILED 0x61 /* media test failed */ -#define PXENV_STATUS_UNDI_CANNOT_INIT_NIC_FOR_MCAST \ - 0x62 /* cannot init for multicast */ -#define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_NIC \ - 0x63 /* cannot init NIC */ -#define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_PHY \ - 0x64 /* cannot init hardware */ -#define PXENV_STATUS_UNDI_CANNOT_READ_CONFIG_DATA \ - 0x65 /* cannot read config data */ -#define PXENV_STATUS_UNDI_CANNOT_READ_INIT_DATA \ - 0x66 /* cannot read init data */ -#define PXENV_STATUS_UNDI_BAD_MAC_ADDRESS 0x67 /* invalid hardware address */ -#define PXENV_STATUS_UNDI_BAD_EEPROM_CHECKSUM \ - 0x68 /* invalid EEPROM checksum */ -#define PXENV_STATUS_UNDI_ERROR_SETTING_ISR 0x69 -#define PXENV_STATUS_UNDI_INVALID_STATE 0x6a /* invalid UNDI state */ -#define PXENV_STATUS_UNDI_TRANSMIT_ERROR 0x6b /* transmit error */ -#define PXENV_STATUS_UNDI_INVALID_PARAMETER \ - 0x6c /* almost anything */ - -/* Bootstrap (.1) errors (0x70 to 0x7F) */ -#define PXENV_STATUS_BSTRAP_PROMPT_MENU 0x74 /* invalid bootstrap menu */ -#define PXENV_STATUS_BSTRAP_MCAST_ADDR 0x76 /* missing multicast address */ -#define PXENV_STATUS_BSTRAP_MISSING_LIST 0x77 /* missing file list */ -#define PXENV_STATUS_BSTRAP_NO_RESPONSE 0x78 /* no response from server */ -#define PXENV_STATUS_BSTRAP_FILE_TOO_BIG 0x79 /* next file too big */ - -/* Environment (.2) errors (0x80 to 0x8F) */ - -/* MTFTP errors (0x90 to 0x9F) */ -#define PXENV_STATUS_MTFTP_OPEN_CANCEL 0x91 /* MTFTP open canceled by key */ -#define PXENV_STATUS_MTFTP_OPEN_TIMEOUT 0x92 /* timeout during MTFTP open */ -#define PXENV_STATUS_MTFTP_UNKNOWN_OP 0x93 /* unknown TFTP opcode */ -#define PXENV_STATUS_MTFTP_READ_CANCEL 0x94 /* MTFTP read canceled by key */ -#define PXENV_STATUS_MTFTP_READ_TIMEOUT 0x95 /* timeout during MTFTP read */ -#define PXENV_STATUS_MTFTP_ERROR_OP 0x96 /* bad TFTP opcode */ -#define PXENV_STATUS_MTFTP_CANNOT_OPEN 0x98 /* error during MTFTP open */ -#define PXENV_STATUS_MTFTP_CANNOT_READ 0x99 /* error during MTFTP read */ -#define PXENV_STATUS_MTFTP_TOO_MANY 0x9A /* too many packages */ -#define PXENV_STATUS_MTFTP_PACK_SIZE 0x9B /* invalid package size */ - -/* Misc. errors (0xA0 to 0xAF) */ -#define PXENV_STATUS_BINL_CANCELED_BY_KEYSTROKE \ - 0xA0 /* BINL canceled by key */ -#define PXENV_STATUS_BINL_NO_PXE_SERVER 0xA1 /* no BINL server found */ -#define PXENV_STATUS_NOT_AVAILABLE_IN_PMODE \ - 0xA2 /* not avail. in prot mode */ -#define PXENV_STATUS_NOT_AVAILABLE_IN_RMODE \ - 0xA3 /* not avail. in real mode */ - -/* BUSD errors (0xB0 to 0xBF) */ -#define PXENV_STATUS_BUSD_DEVICE_NOT_SUPPORTED \ - 0xB0 /* BUSD services not enabled */ -#define PXENV_STATUS_BUSD_DEV_ENABLE 0xB1 /* BUSD device not enabled */ - -/* Loader errors (0xC0 to 0xCF) */ -#define PXENV_STATUS_LOADER_NO_FREE_BASE_MEMORY \ - 0xC0 /* no free base memory */ -#define PXENV_STATUS_LOADER_NO_BC_ROMID 0xC1 /* no base code rom ID */ -#define PXENV_STATUS_LOADER_BAD_BC_ROMID 0xC2 /* bad base code rom ID */ -#define PXENV_STATUS_LOADER_BAD_BC_RUNTIME_IMAGE \ - 0xC3 /* bad base code image */ -#define PXENV_STATUS_LOADER_NO_UNDI_ROMID 0xC4 /* no UNDI rom ID */ -#define PXENV_STATUS_LOADER_BAD_UNDI_ROMID 0xC5 /* bad UNDI rom ID */ -#define PXENV_STATUS_LOADER_UNDI_DRIVER_IMAGE \ - 0xC6 /* bad UNDI runtime image */ -#define PXENV_STATUS_LOADER_NO_PXE_STRUCT 0xC8 /* missing !PXE struct */ -#define PXENV_STATUS_LOADER_NO_PXENV_STRUCT \ - 0xC9 /* missing PXENV+ struct */ -#define PXENV_STATUS_LOADER_UNDI_START 0xCA /* UNDI not started */ -#define PXENV_STATUS_LOADER_BC_START 0xCB /* base code not started */ - -/* Reserved errors (0xD0 to 0xFF) */ -#define PXENV_STATUS_IMAGE_INVALID 0xD0 /* invalid boot image */ -#define PXENV_STATUS_STOP_BASE 0xD1 /* error stopping base code */ -#define PXENV_STATUS_UNLOAD_BASE 0xD2 /* error unloading base code */ -#define PXENV_STATUS_STOP_UNDI 0xD3 /* error stopping UNDI */ -#define PXENV_STATUS_CLEANUP_UNDI 0xD4 /* error cleaning up UNDI */ - - /***************************************************************************** * The remainder of this file is original to Etherboot. *****************************************************************************