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