1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
/*
* Guillaume Cottenceau (gc)
*
* Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
/*
* Portions from Erik Troan (ewt@redhat.com)
*
* Copyright 1996 Red Hat Software
*
*/
#ifndef _PROBING_H_
#define _PROBING_H_
enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA };
enum driver_type { MEDIA_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS,
VIRTIO_DEVICES, ANY_DRIVER_TYPE };
enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_PCMCIA, BUS_ANY };
#define VIRTIO_PCI_VENDOR 0x1af4
#define VIRTIO_ID_NET 0x0001
#define VIRTIO_ID_BLOCK 0x0002
#define VIRTIO_ID_BALLOON 0x0005
void find_media(enum media_bus bus);
void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus);
char ** get_net_devices(void);
char * get_net_intf_description(char * intf_name);
void probe_that_type(enum driver_type type, enum media_bus bus);
/* Make sure the MATCH_ALL value is greater than all possible values
for subvendor & subdevice: this simplifies the orderer */
#define PCITABLE_MATCH_ALL 0x10000
struct pcitable_entry {
/* some bits stolen from pci-resource/pci-ids.h
* FIXME: split pci-ids.h into pci-ids.c and pci-ids.h so that the header can be re-used
*/
unsigned short vendor; /* PCI vendor id */
unsigned short device; /* PCI device id */
unsigned int subvendor; /* PCI subvendor id */
unsigned int subdevice; /* PCI subdevice id */
char module[20]; /* module to load */
char description[100]; /* PCI human readable description */
};
extern struct pcitable_entry *detected_devices;
extern int detected_devices_len;
void probing_detect_devices();
void probing_destroy(void);
#endif
|