ibusvar.h revision 1.7 1 /* $NetBSD: ibusvar.h,v 1.7 1999/11/17 00:10:00 nisimura Exp $ */
2
3 #ifndef _IBUSVAR_H_
4 #define _IBUSVAR_H_ 1
5
6 #include <machine/bus.h>
7
8 struct ibus_attach_args;
9
10 struct ibus_softc {
11 struct device sc_dev;
12
13 void (*sc_intr_establish) __P((struct device *, void *,
14 int, int (*)(void *), void *));
15 void (*sc_intr_disestablish) __P((struct device *, void *));
16 };
17
18 /*
19 * Arguments used to attach an ibus "device" to its parent
20 */
21 struct ibus_dev_attach_args {
22 const char *ida_busname; /* XXX should be common */
23 bus_space_tag_t ida_memt;
24
25 int ida_ndevs;
26 struct ibus_attach_args *ida_devs;
27 void (*ida_establish) __P((struct device *, void *,
28 int, int (*)(void *), void *));
29 void (*ida_disestablish) __P((struct device *, void *));
30 };
31
32 /*
33 * Arguments used to attach devices to an ibus
34 */
35 struct ibus_attach_args {
36 char *ia_name; /* Device name. */
37 int ia_cookie; /* Device slot (table entry). */
38 u_int32_t ia_addr; /* Device address. */
39 };
40
41 void ibusattach __P((struct device *, struct device *, void *));
42 int ibusprint __P((void *, const char *));
43 void ibus_intr_establish __P((struct device *, void * cookie, int level,
44 int (*handler)(void *), void *arg));
45 void ibus_intr_disestablish __P((struct device *, void *));
46
47 int badaddr __P((void *, u_int));
48
49 #endif /* _IBUSVAR_H_ */
50