iPXE
pxe_error.h
Go to the documentation of this file.
00001 #ifndef PXE_ERROR_H
00002 #define PXE_ERROR_H
00003 
00004 /** @file
00005  *
00006  * Preboot eXecution Environment (PXE) error definitions
00007  *
00008  */
00009 
00010 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00011 
00012 /**
00013  * @defgroup pxeerrors PXE error codes
00014  *
00015  * @{
00016  */
00017 
00018 /* Generic errors */
00019 #define PXENV_STATUS_SUCCESS                                           0x0000
00020 #define PXENV_STATUS_FAILURE                                           0x0001
00021 #define PXENV_STATUS_BAD_FUNC                                          0x0002
00022 #define PXENV_STATUS_UNSUPPORTED                                       0x0003
00023 #define PXENV_STATUS_KEEP_UNDI                                         0x0004
00024 #define PXENV_STATUS_KEEP_ALL                                          0x0005
00025 #define PXENV_STATUS_OUT_OF_RESOURCES                                  0x0006
00026 
00027 /* ARP errors (0x0010 to 0x001f) */
00028 #define PXENV_STATUS_ARP_TIMEOUT                                       0x0011
00029 
00030 /* Base-Code state errors */
00031 #define PXENV_STATUS_UDP_CLOSED                                        0x0018
00032 #define PXENV_STATUS_UDP_OPEN                                          0x0019
00033 #define PXENV_STATUS_TFTP_CLOSED                                       0x001a
00034 #define PXENV_STATUS_TFTP_OPEN                                         0x001b
00035 
00036 /* BIOS/system errors (0x0020 to 0x002f) */
00037 #define PXENV_STATUS_MCOPY_PROBLEM                                     0x0020
00038 #define PXENV_STATUS_BIS_INTEGRITY_FAILURE                             0x0021
00039 #define PXENV_STATUS_BIS_VALIDATE_FAILURE                              0x0022
00040 #define PXENV_STATUS_BIS_INIT_FAILURE                                  0x0023
00041 #define PXENV_STATUS_BIS_SHUTDOWN_FAILURE                              0x0024
00042 #define PXENV_STATUS_BIS_GBOA_FAILURE                                  0x0025
00043 #define PXENV_STATUS_BIS_FREE_FAILURE                                  0x0026
00044 #define PXENV_STATUS_BIS_GSI_FAILURE                                   0x0027
00045 #define PXENV_STATUS_BIS_BAD_CKSUM                                     0x0028
00046 
00047 /* TFTP/MTFTP errors (0x0030 to 0x003f) */
00048 #define PXENV_STATUS_TFTP_CANNOT_ARP_ADDRESS                           0x0030
00049 #define PXENV_STATUS_TFTP_OPEN_TIMEOUT                                 0x0032
00050 #define PXENV_STATUS_TFTP_UNKNOWN_OPCODE                               0x0033
00051 #define PXENV_STATUS_TFTP_READ_TIMEOUT                                 0x0035
00052 #define PXENV_STATUS_TFTP_ERROR_OPCODE                                 0x0036
00053 #define PXENV_STATUS_TFTP_CANNOT_OPEN_CONNECTION                       0x0038
00054 #define PXENV_STATUS_TFTP_CANNOT_READ_FROM_CONNECTION                  0x0039
00055 #define PXENV_STATUS_TFTP_TOO_MANY_PACKAGES                            0x003a
00056 #define PXENV_STATUS_TFTP_FILE_NOT_FOUND                               0x003b
00057 #define PXENV_STATUS_TFTP_ACCESS_VIOLATION                             0x003c
00058 #define PXENV_STATUS_TFTP_NO_MCAST_ADDRESS                             0x003d
00059 #define PXENV_STATUS_TFTP_NO_FILESIZE                                  0x003e
00060 #define PXENV_STATUS_TFTP_INVALID_PACKET_SIZE                          0x003f
00061 
00062 /* Reserved errors 0x0040 to 0x004f) */
00063 
00064 /* DHCP/BOOTP errors (0x0050 to 0x005f) */
00065 #define PXENV_STATUS_DHCP_TIMEOUT                                      0x0051
00066 #define PXENV_STATUS_DHCP_NO_IP_ADDRESS                                0x0052
00067 #define PXENV_STATUS_DHCP_NO_BOOTFILE_NAME                             0x0053
00068 #define PXENV_STATUS_DHCP_BAD_IP_ADDRESS                               0x0054
00069 
00070 /* Driver errors (0x0060 to 0x006f) */
00071 #define PXENV_STATUS_UNDI_INVALID_FUNCTION                             0x0060
00072 #define PXENV_STATUS_UNDI_MEDIATEST_FAILED                             0x0061
00073 #define PXENV_STATUS_UNDI_CANNOT_INIT_NIC_FOR_MCAST                    0x0062
00074 #define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_NIC                        0x0063
00075 #define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_PHY                        0x0064
00076 #define PXENV_STATUS_UNDI_CANNOT_READ_CONFIG_DATA                      0x0065
00077 #define PXENV_STATUS_UNDI_CANNOT_READ_INIT_DATA                        0x0066
00078 #define PXENV_STATUS_UNDI_BAD_MAC_ADDRESS                              0x0067
00079 #define PXENV_STATUS_UNDI_BAD_EEPROM_CHECKSUM                          0x0068
00080 #define PXENV_STATUS_UNDI_ERROR_SETTING_ISR                            0x0069
00081 #define PXENV_STATUS_UNDI_INVALID_STATE                                0x006a
00082 #define PXENV_STATUS_UNDI_TRANSMIT_ERROR                               0x006b
00083 #define PXENV_STATUS_UNDI_INVALID_PARAMETER                            0x006c
00084 
00085 /* ROM and NBP bootstrap errors (0x0070 to 0x007f) */
00086 #define PXENV_STATUS_BSTRAP_PROMPT_MENU                                0x0074
00087 #define PXENV_STATUS_BSTRAP_MCAST_ADDR                                 0x0076
00088 #define PXENV_STATUS_BSTRAP_MISSING_LIST                               0x0077
00089 #define PXENV_STATUS_BSTRAP_NO_RESPONSE                                0x0078
00090 #define PXENV_STATUS_BSTRAP_FILE_TOO_BIG                               0x0079
00091 
00092 /* Environment NBP errors (0x0080 to 0x008f) */
00093 
00094 /* Reserved errors (0x0090 to 0x009f) */
00095 
00096 /* Miscellaneous errors (0x00a0 to 0x00af) */
00097 #define PXENV_STATUS_BINL_CANCELED_BY_KEYSTROKE                        0x00a0
00098 #define PXENV_STATUS_BINL_NO_PXE_SERVER                                0x00a1
00099 #define PXENV_STATUS_NOT_AVAILABLE_IN_PMODE                            0x00a2
00100 #define PXENV_STATUS_NOT_AVAILABLE_IN_RMODE                            0x00a3
00101 
00102 /* BUSD errors (0x00b0 to 0x00bf) */
00103 #define PXENV_STATUS_BUSD_DEVICE_NOT_SUPPORTED                         0x00b0
00104 
00105 /* Loader errors (0x00c0 to 0x00cf) */
00106 #define PXENV_STATUS_LOADER_NO_FREE_BASE_MEMORY                        0x00c0
00107 #define PXENV_STATUS_LOADER_NO_BC_ROMID                                0x00c1
00108 #define PXENV_STATUS_LOADER_BAD_BC_ROMID                               0x00c2
00109 #define PXENV_STATUS_LOADER_BAD_BC_RUNTIME_IMAGE                       0x00c3
00110 #define PXENV_STATUS_LOADER_NO_UNDI_ROMID                              0x00c4
00111 #define PXENV_STATUS_LOADER_BAD_UNDI_ROMID                             0x00c5
00112 #define PXENV_STATUS_LOADER_BAD_UNDI_DRIVER_IMAGE                      0x00c6
00113 #define PXENV_STATUS_LOADER_NO_PXE_STRUCT                              0x00c8
00114 #define PXENV_STATUS_LOADER_NO_PXENV_STRUCT                            0x00c9
00115 #define PXENV_STATUS_LOADER_UNDI_START                                 0x00ca
00116 #define PXENV_STATUS_LOADER_BC_START                                   0x00cb
00117 
00118 /** @} */
00119 
00120 /** Derive PXENV_STATUS code from iPXE error number */
00121 #define PXENV_STATUS( rc ) ( (-(rc)) & 0x00ff )
00122 
00123 #endif /* PXE_ERROR_H */