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