1/*
2 * Copyright 2004-2008, Axel D��rfler, axeld@pinc-software.de. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _SYSTEM_DEVICE_MANAGER_DEFS_H
6#define _SYSTEM_DEVICE_MANAGER_DEFS_H
7
8
9#include <device_manager.h>
10
11
12// temporary/optional device manager syscall API
13#define DEVICE_MANAGER_SYSCALLS "device_manager"
14
15#define DM_GET_ROOT				1
16#define DM_GET_CHILD			2
17#define DM_GET_NEXT_CHILD		3
18#define DM_GET_NEXT_ATTRIBUTE	4
19
20typedef addr_t device_node_cookie;
21
22struct device_attr_info {
23	device_node_cookie 		node_cookie;
24	device_node_cookie		cookie;
25	char		name[255];
26	type_code	type;
27	union {
28		uint8   ui8;
29		uint16  ui16;
30		uint32  ui32;
31		uint64  ui64;
32		char    string[255];
33		struct {
34			void    *data;
35			size_t  length;
36		} raw;
37	} value;
38};
39
40#endif	/* _SYSTEM_DEVICE_MANAGER_DEFS_H */
41