7 /* Need to check the packing of this struct if Etherboot is ported */
10 unsigned short vendor_id
;
11 unsigned short device_id
;
12 unsigned char bus_type
;
13 #define PCI_BUS_TYPE 1
14 #define ISA_BUS_TYPE 2
17 /* Dont use sizeof, that will include the padding */
21 struct pci_probe_state
24 struct pci_device dev
;
30 struct isa_probe_state
33 const struct isa_driver
*driver
;
42 struct pci_probe_state pci
;
43 struct isa_probe_state isa
;
48 void (*disable
)P((struct dev
*));
49 struct dev_id devid
; /* device ID string (sent to DHCP server) */
50 int index
; /* Index of next device on this controller to probe */
51 int type
; /* Type of device I am probing for */
52 int how_probe
; /* First, next or awake */
53 int to_probe
; /* Flavor of device I am probing */
54 int failsafe
; /* Failsafe probe requested */
55 int type_index
; /* Index of this device (within type) */
59 union probe_state state
;
65 #define FLOPPY_DRIVER 2
67 #define BRIDGE_DRIVER 1000
69 #define PROBE_FIRST (-1)
71 #define PROBE_AWAKE 1 /* After calling disable bring up the same device */
73 /* The probe result codes are selected
74 * to allow them to be fed back into the probe
75 * routine and get a successful probe.
77 #define PROBE_FAILED PROBE_FIRST
78 #define PROBE_WORKED PROBE_NEXT
80 extern int probe(struct dev
*dev
);
81 extern void disable(struct dev
*dev
);