xref: /haiku/src/tests/system/kernel/device_manager/config_driver.h (revision c90684742e7361651849be4116d0e5de3a817194)
1 #ifndef _CONFIG_DRIVER_H_
2 #define _CONFIG_DRIVER_H_
3 
4 /* definitions for the /dev/misc/config driver which provides access
5  * to the device_manager via calls to ioctl().
6  */
7 
8 /* the magic is the ioctl */
9 
10 #define DM_GET_CHILD				'GCHI'
11 #define DM_GET_NEXT_CHILD			'GNCH'
12 #define DM_GET_PARENT				'GPAR'
13 #define DM_GET_NEXT_ATTRIBUTE			'GNAT'
14 #define DM_RETRIEVE_ATTRIBUTE			'RATT'
15 
16 struct dev_attr {
17 	char		name[255];
18 	type_code	type;
19 	union {
20 		uint8	ui8;
21 		uint16	ui16;
22 		uint32	ui32;
23 		uint64	ui64;
24 		char	string[255];
25 		struct {
26 			void	*data;
27 			size_t	length;
28 		} raw;
29 	} value;
30 };
31 
32 struct dm_ioctl_data {
33 	uint32				magic;
34 	struct dev_attr			*attr;
35 };
36 
37 #define DM_DEVICE_NAME "misc/config"
38 
39 #endif	/* _CONFIG_DRIVER_H_ */
40