| #ifndef _UNDIROM_H |
| #define _UNDIROM_H |
| |
| /** @file |
| * |
| * UNDI expansion ROMs |
| * |
| */ |
| |
| FILE_LICENCE ( GPL2_OR_LATER ); |
| |
| #include <pxe_types.h> |
| |
| /** An UNDI PCI device ID */ |
| struct undi_pci_device_id { |
| /** PCI vendor ID */ |
| unsigned int vendor_id; |
| /** PCI device ID */ |
| unsigned int device_id; |
| }; |
| |
| /** An UNDI device ID */ |
| union undi_device_id { |
| /** PCI device ID */ |
| struct undi_pci_device_id pci; |
| }; |
| |
| /** An UNDI ROM */ |
| struct undi_rom { |
| /** List of UNDI ROMs */ |
| struct list_head list; |
| /** ROM segment address */ |
| unsigned int rom_segment; |
| /** UNDI loader entry point */ |
| SEGOFF16_t loader_entry; |
| /** Code segment size */ |
| size_t code_size; |
| /** Data segment size */ |
| size_t data_size; |
| /** Bus type |
| * |
| * Values are as used by @c PXENV_UNDI_GET_NIC_TYPE |
| */ |
| unsigned int bus_type; |
| /** Device ID */ |
| union undi_device_id bus_id; |
| }; |
| |
| extern struct undi_rom * undirom_find_pci ( unsigned int vendor_id, |
| unsigned int device_id, |
| unsigned int rombase ); |
| |
| #endif /* _UNDIROM_H */ |