00001 #ifndef _UNDIROM_H 00002 #define _UNDIROM_H 00003 00004 /** @file 00005 * 00006 * UNDI expansion ROMs 00007 * 00008 */ 00009 00010 FILE_LICENCE ( GPL2_OR_LATER ); 00011 00012 #include <pxe_types.h> 00013 00014 /** An UNDI PCI device ID */ 00015 struct undi_pci_device_id { 00016 /** PCI vendor ID */ 00017 unsigned int vendor_id; 00018 /** PCI device ID */ 00019 unsigned int device_id; 00020 }; 00021 00022 /** An UNDI device ID */ 00023 union undi_device_id { 00024 /** PCI device ID */ 00025 struct undi_pci_device_id pci; 00026 }; 00027 00028 /** An UNDI ROM */ 00029 struct undi_rom { 00030 /** List of UNDI ROMs */ 00031 struct list_head list; 00032 /** ROM segment address */ 00033 unsigned int rom_segment; 00034 /** UNDI loader entry point */ 00035 SEGOFF16_t loader_entry; 00036 /** Code segment size */ 00037 size_t code_size; 00038 /** Data segment size */ 00039 size_t data_size; 00040 /** Bus type 00041 * 00042 * Values are as used by @c PXENV_UNDI_GET_NIC_TYPE 00043 */ 00044 unsigned int bus_type; 00045 /** Device ID */ 00046 union undi_device_id bus_id; 00047 }; 00048 00049 extern struct undi_rom * undirom_find_pci ( unsigned int vendor_id, 00050 unsigned int device_id, 00051 unsigned int rombase ); 00052 00053 #endif /* _UNDIROM_H */
1.5.7.1