xref: /minix3/minix/servers/devman/devinfo.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #ifndef DEVMAN_DEVINFO_H
2*433d6423SLionel Sambuc #define DEVMAN_DEVINFO_H 1
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc 
5*433d6423SLionel Sambuc struct devman_dev {
6*433d6423SLionel Sambuc 	int dev_id;
7*433d6423SLionel Sambuc 	int parent_dev_id;
8*433d6423SLionel Sambuc 	char *name;
9*433d6423SLionel Sambuc 	char *subsys;
10*433d6423SLionel Sambuc 	void *data;
11*433d6423SLionel Sambuc 	TAILQ_HEAD(static_attribute_head, devman_static_attribute) attrs;
12*433d6423SLionel Sambuc };
13*433d6423SLionel Sambuc 
14*433d6423SLionel Sambuc struct devman_static_attribute {
15*433d6423SLionel Sambuc 	char *name;
16*433d6423SLionel Sambuc 	char *data;
17*433d6423SLionel Sambuc 	TAILQ_ENTRY(devman_static_attribute) list;
18*433d6423SLionel Sambuc };
19*433d6423SLionel Sambuc 
20*433d6423SLionel Sambuc /* used for serializing */
21*433d6423SLionel Sambuc struct devman_device_info {
22*433d6423SLionel Sambuc 	int count;
23*433d6423SLionel Sambuc 	int parent_dev_id;
24*433d6423SLionel Sambuc 	unsigned name_offset;
25*433d6423SLionel Sambuc 	unsigned subsystem_offset;
26*433d6423SLionel Sambuc };
27*433d6423SLionel Sambuc 
28*433d6423SLionel Sambuc struct devman_device_info_entry {
29*433d6423SLionel Sambuc 	unsigned type;
30*433d6423SLionel Sambuc 	unsigned name_offset;
31*433d6423SLionel Sambuc 	unsigned data_offset;
32*433d6423SLionel Sambuc 	unsigned req_nr;
33*433d6423SLionel Sambuc };
34*433d6423SLionel Sambuc 
35*433d6423SLionel Sambuc #endif
36