1#ifndef _CONFIG_MANAGER_DRIVER_H_
2#define _CONFIG_MANAGER_DRIVER_H_
3/*
4** Distributed under the terms of the OpenBeOS License.
5*/
6
7/* definitions for the /dev/misc/config driver which provides access
8 * to the config_manager via calls to ioctl().
9 *
10 * ToDo: This file should probably located in a publicly accessable place?!
11 */
12
13/* the magic is the ioctl */
14
15#define CM_GET_NEXT_DEVICE_INFO 					'GNDI'
16#define CM_GET_DEVICE_INFO_FOR						'GDIF'
17#define CM_GET_SIZE_OF_CURRENT_CONFIGURATION_FOR	'GSCC'
18#define CM_GET_CURRENT_CONFIGURATION_FOR			'GCCF'
19#define CM_GET_SIZE_OF_POSSIBLE_CONFIGURATIONS_FOR	'GSPC'
20#define CM_GET_POSSIBLE_CONFIGURATIONS_FOR			'GPCF'
21
22#define CM_COUNT_RESOURCE_DESCRIPTORS_OF_TYPE		'CRDT'
23#define CM_GET_NTH_RESOURCE_DESCRIPTOR_OF_TYPE		'GNRD'
24
25struct cm_ioctl_data {
26	uint32				magic;
27	bus_type			bus;
28	uint64				cookie;
29	void				*config;
30	uint32				n;
31	uint32				type;
32	void				*data;
33	uint32				data_len;
34};
35
36#define CM_DEVICE_NAME "misc/config"
37
38#endif	/* _CONFIG_MANAGER_DRIVER_H_ */
39