xref: /minix3/minix/lib/libdevman/local.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #ifndef _LIB_LIBDEVMAN_LOCAL
2*433d6423SLionel Sambuc #define _LIB_LIBDEVMAN_LOCAL
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc #include <sys/queue.h>
5*433d6423SLionel Sambuc #include <minix/com.h>
6*433d6423SLionel Sambuc 
7*433d6423SLionel Sambuc #define DEVMAN_DEV_NAME_LEN 32
8*433d6423SLionel Sambuc 
9*433d6423SLionel Sambuc struct devman_dev {
10*433d6423SLionel Sambuc 	int dev_id;
11*433d6423SLionel Sambuc 	int parent_dev_id;
12*433d6423SLionel Sambuc 	char name[DEVMAN_DEV_NAME_LEN];
13*433d6423SLionel Sambuc 	char *subsys;
14*433d6423SLionel Sambuc 	void *data;
15*433d6423SLionel Sambuc 	int (*bind_cb)  (void *data, endpoint_t ep);
16*433d6423SLionel Sambuc 	int (*unbind_cb)(void *data, endpoint_t ep);
17*433d6423SLionel Sambuc 	TAILQ_HEAD(static_attribute_head, devman_static_attribute) attrs;
18*433d6423SLionel Sambuc 	TAILQ_ENTRY(devman_dev) dev_list;
19*433d6423SLionel Sambuc };
20*433d6423SLionel Sambuc 
21*433d6423SLionel Sambuc struct devman_static_attribute {
22*433d6423SLionel Sambuc 	char *name;
23*433d6423SLionel Sambuc 	char *data;
24*433d6423SLionel Sambuc 	TAILQ_ENTRY(devman_static_attribute) list;
25*433d6423SLionel Sambuc };
26*433d6423SLionel Sambuc 
27*433d6423SLionel Sambuc #endif
28