diff options
Diffstat (limited to 'gpxe/src/arch/i386/include/pxe.h')
-rw-r--r-- | gpxe/src/arch/i386/include/pxe.h | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/gpxe/src/arch/i386/include/pxe.h b/gpxe/src/arch/i386/include/pxe.h deleted file mode 100644 index 041ee7ba..00000000 --- a/gpxe/src/arch/i386/include/pxe.h +++ /dev/null @@ -1,154 +0,0 @@ -#ifndef PXE_H -#define PXE_H - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include "pxe_types.h" -#include "pxe_api.h" -#include <gpxe/device.h> - -/* Parameter block for pxenv_unknown() */ -struct s_PXENV_UNKNOWN { - PXENV_STATUS_t Status; /**< PXE status code */ -} PACKED; - -typedef struct s_PXENV_UNKNOWN PXENV_UNKNOWN_t; - -/* Union used for PXE API calls; we don't know the type of the - * structure until we interpret the opcode. Also, Status is available - * in the same location for any opcode, and it's convenient to have - * non-specific access to it. - */ -union u_PXENV_ANY { - /* Make it easy to read status for any operation */ - PXENV_STATUS_t Status; - struct s_PXENV_UNKNOWN unknown; - struct s_PXENV_UNLOAD_STACK unload_stack; - struct s_PXENV_GET_CACHED_INFO get_cached_info; - struct s_PXENV_TFTP_READ_FILE restart_tftp; - struct s_PXENV_START_UNDI start_undi; - struct s_PXENV_STOP_UNDI stop_undi; - struct s_PXENV_START_BASE start_base; - struct s_PXENV_STOP_BASE stop_base; - struct s_PXENV_TFTP_OPEN tftp_open; - struct s_PXENV_TFTP_CLOSE tftp_close; - struct s_PXENV_TFTP_READ tftp_read; - struct s_PXENV_TFTP_READ_FILE tftp_read_file; - struct s_PXENV_TFTP_GET_FSIZE tftp_get_fsize; - struct s_PXENV_UDP_OPEN udp_open; - struct s_PXENV_UDP_CLOSE udp_close; - struct s_PXENV_UDP_WRITE udp_write; - struct s_PXENV_UDP_READ udp_read; - struct s_PXENV_UNDI_STARTUP undi_startup; - struct s_PXENV_UNDI_CLEANUP undi_cleanup; - struct s_PXENV_UNDI_INITIALIZE undi_initialize; - struct s_PXENV_UNDI_RESET undi_reset_adapter; - struct s_PXENV_UNDI_SHUTDOWN undi_shutdown; - struct s_PXENV_UNDI_OPEN undi_open; - struct s_PXENV_UNDI_CLOSE undi_close; - struct s_PXENV_UNDI_TRANSMIT undi_transmit; - struct s_PXENV_UNDI_SET_MCAST_ADDRESS undi_set_mcast_address; - struct s_PXENV_UNDI_SET_STATION_ADDRESS undi_set_station_address; - struct s_PXENV_UNDI_SET_PACKET_FILTER undi_set_packet_filter; - struct s_PXENV_UNDI_GET_INFORMATION undi_get_information; - struct s_PXENV_UNDI_GET_STATISTICS undi_get_statistics; - struct s_PXENV_UNDI_CLEAR_STATISTICS undi_clear_statistics; - struct s_PXENV_UNDI_INITIATE_DIAGS undi_initiate_diags; - struct s_PXENV_UNDI_FORCE_INTERRUPT undi_force_interrupt; - struct s_PXENV_UNDI_GET_MCAST_ADDRESS undi_get_mcast_address; - struct s_PXENV_UNDI_GET_NIC_TYPE undi_get_nic_type; - struct s_PXENV_UNDI_GET_IFACE_INFO undi_get_iface_info; - struct s_PXENV_UNDI_GET_STATE undi_get_state; - struct s_PXENV_UNDI_ISR undi_isr; - struct s_PXENV_FILE_OPEN file_open; - struct s_PXENV_FILE_CLOSE file_close; - struct s_PXENV_FILE_SELECT file_select; - struct s_PXENV_FILE_READ file_read; - struct s_PXENV_GET_FILE_SIZE get_file_size; - struct s_PXENV_FILE_EXEC file_exec; - struct s_PXENV_FILE_API_CHECK file_api_check; - struct s_PXENV_FILE_EXIT_HOOK file_exit_hook; -}; - -typedef union u_PXENV_ANY PXENV_ANY_t; - -/** An UNDI expansion ROM header */ -struct undi_rom_header { - /** Signature - * - * Must be equal to @c ROM_SIGNATURE - */ - UINT16_t Signature; - /** ROM length in 512-byte blocks */ - UINT8_t ROMLength; - /** Unused */ - UINT8_t unused[0x13]; - /** Offset of the PXE ROM ID structure */ - UINT16_t PXEROMID; - /** Offset of the PCI ROM structure */ - UINT16_t PCIRHeader; -} PACKED; - -/** Signature for an expansion ROM */ -#define ROM_SIGNATURE 0xaa55 - -/** An UNDI ROM ID structure */ -struct undi_rom_id { - /** Signature - * - * Must be equal to @c UNDI_ROM_ID_SIGNATURE - */ - UINT32_t Signature; - /** Length of structure */ - UINT8_t StructLength; - /** Checksum */ - UINT8_t StructCksum; - /** Structure revision - * - * Must be zero. - */ - UINT8_t StructRev; - /** UNDI revision - * - * Version 2.1.0 is encoded as the byte sequence 0x00, 0x01, 0x02. - */ - UINT8_t UNDIRev[3]; - /** Offset to UNDI loader */ - UINT16_t UNDILoader; - /** Minimum required stack segment size */ - UINT16_t StackSize; - /** Minimum required data segment size */ - UINT16_t DataSize; - /** Minimum required code segment size */ - UINT16_t CodeSize; -} PACKED; - -/** Signature for an UNDI ROM ID structure */ -#define UNDI_ROM_ID_SIGNATURE \ - ( ( 'U' << 0 ) + ( 'N' << 8 ) + ( 'D' << 16 ) + ( 'I' << 24 ) ) - -/** A PCI expansion header */ -struct pcir_header { - /** Signature - * - * Must be equal to @c PCIR_SIGNATURE - */ - uint32_t signature; - /** PCI vendor ID */ - uint16_t vendor_id; - /** PCI device ID */ - uint16_t device_id; -} PACKED; - -/** Signature for an UNDI ROM ID structure */ -#define PCIR_SIGNATURE \ - ( ( 'P' << 0 ) + ( 'C' << 8 ) + ( 'I' << 16 ) + ( 'R' << 24 ) ) - - -extern struct net_device *pxe_netdev; - -extern void pxe_set_netdev ( struct net_device *netdev ); - -extern void pxe_set_cached_filename ( const unsigned char *filename ); - -#endif /* PXE_H */ |