Reallocate memory for bitmaps only when necessary.
[people/xl0/gpxe.git] / src / arch / i386 / include / undirom.h
1 #ifndef _UNDIROM_H
2 #define _UNDIROM_H
3
4 /** @file
5  *
6  * UNDI expansion ROMs
7  *
8  */
9
10 #include <pxe_types.h>
11
12 /** An UNDI PCI device ID */
13 struct undi_pci_device_id {
14         /** PCI vendor ID */
15         unsigned int vendor_id;
16         /** PCI device ID */
17         unsigned int device_id;
18 };
19
20 /** An UNDI device ID */
21 union undi_device_id {
22         /** PCI device ID */
23         struct undi_pci_device_id pci;
24 };
25
26 /** An UNDI ROM */
27 struct undi_rom {
28         /** List of UNDI ROMs */
29         struct list_head list;
30         /** ROM segment address */
31         unsigned int rom_segment;
32         /** UNDI loader entry point */
33         SEGOFF16_t loader_entry;
34         /** Code segment size */
35         size_t code_size;
36         /** Data segment size */
37         size_t data_size;
38         /** Bus type
39          *
40          * Values are as used by @c PXENV_UNDI_GET_NIC_TYPE
41          */
42         unsigned int bus_type;
43         /** Device ID */
44         union undi_device_id bus_id;
45 };
46
47 extern struct undi_rom * undirom_find_pci ( unsigned int vendor_id,
48                                             unsigned int device_id,
49                                             unsigned int rombase );
50
51 #endif /* _UNDIROM_H */