ibusvar.h revision 1.2 1 1.2 mrg /* $NetBSD: ibusvar.h,v 1.2 1998/08/29 16:15:11 mrg Exp $ */
2 1.1 jonathan
3 1.1 jonathan #ifndef __IBUSVAR_H
4 1.1 jonathan #define __IBUSVAR_H
5 1.1 jonathan
6 1.1 jonathan
7 1.1 jonathan void config_ibus __P((struct device *mb, void *,
8 1.1 jonathan int printfn __P((void *, const char *)) )); /* XXX */
9 1.1 jonathan
10 1.1 jonathan /*
11 1.1 jonathan * function types for interrupt establish/diestablish
12 1.1 jonathan */
13 1.1 jonathan struct ibus_attach_args;
14 1.2 mrg typedef int (ibus_intr_establish_t) __P((void * cookie, int level,
15 1.1 jonathan int (*handler) __P((intr_arg_t)), intr_arg_t arg));
16 1.2 mrg typedef int (ibus_intr_disestablish_t) __P((struct ibus_attach_args *));
17 1.1 jonathan
18 1.1 jonathan
19 1.1 jonathan /*
20 1.1 jonathan * Arguments used to attach a ibus "device" to its parent
21 1.1 jonathan */
22 1.1 jonathan struct ibus_dev_attach_args {
23 1.1 jonathan const char *ibd_busname; /* XXX should be common */
24 1.1 jonathan #ifdef notyet
25 1.1 jonathan bus_space_tag_t iba_memt;
26 1.1 jonathan #endif
27 1.1 jonathan ibus_intr_establish_t (*ibd_establish);
28 1.1 jonathan ibus_intr_disestablish_t (*ibd_disestablish);
29 1.1 jonathan int ibd_ndevs;
30 1.1 jonathan struct ibus_attach_args *ibd_devs;
31 1.1 jonathan };
32 1.1 jonathan
33 1.1 jonathan /*
34 1.1 jonathan * Arguments used to attach devices to an ibus
35 1.1 jonathan */
36 1.1 jonathan struct ibus_attach_args {
37 1.1 jonathan char *ia_name; /* Device name. */
38 1.1 jonathan int ia_slot; /* Device slot (table entry). */
39 1.1 jonathan tc_addr_t ia_addr; /* Device address. */
40 1.1 jonathan int ia_cookie; /* Device interrupt "priority" */
41 1.1 jonathan };
42 1.1 jonathan
43 1.1 jonathan
44 1.1 jonathan /*
45 1.1 jonathan * interrrupt estalish functions.
46 1.1 jonathan * These call up to system-specific code to
47 1.1 jonathan * recompute spl levels.
48 1.1 jonathan */
49 1.1 jonathan void ibus_intr_establish __P((void * cookie, int level,
50 1.1 jonathan int (*handler) __P((intr_arg_t)), intr_arg_t arg));
51 1.1 jonathan void ibus_intr_disestablish __P((struct ibus_attach_args *));
52 1.1 jonathan int ibusprint __P((void *aux, const char *pnp));
53 1.1 jonathan
54 1.1 jonathan #endif /* __IBUSVAR_H */
55