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