xref: /original-bsd/sys/i386/isa/isa_device.h (revision e718337e)
1 /*
2  * ISA Bus Autoconfiguration
3  *	@(#)isa_device.h	1.1 (Berkeley) 11/08/90
4  */
5 
6 /*
7  * Per device structure.
8  */
9 struct isa_device {
10 	struct	isa_driver *id_driver;
11 	short	id_iobase;	/* base i/o address */
12 	short	id_irq;		/* interrupt request */
13 	short	id_drq;		/* DMA request */
14 	caddr_t id_maddr;	/* physical i/o memory address on bus (if any)*/
15 	int	id_msize;	/* size of i/o memory */
16 	int	(*id_intr)();	/* interrupt interface routine */
17 	int	id_unit;	/* unit number */
18 	int	id_scsiid;	/* scsi id if needed */
19 	int	id_alive;	/* device is present */
20 };
21 
22 /*
23  * Per-driver structure.
24  *
25  * Each device driver defines entries for a set of routines
26  * as well as an array of types which are acceptable to it.
27  * These are used at boot time by the configuration program.
28  */
29 struct isa_driver {
30 	int	(*probe)();		/* test whether device is present */
31 	int	(*attach)();		/* setup driver for a device */
32 	char	*name;			/* device name */
33 };
34 
35 extern struct isa_device isa_devtab_bio[], isa_devtab_tty[], isa_devtab_net[],
36 		isa_devtab_null[];
37