#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 */