1368167edSAxel Dörfler/*
2368167edSAxel Dörfler * Copyright 2004-2008, Axel D��rfler, axeld@pinc-software.de. All rights reserved.
3368167edSAxel Dörfler * Distributed under the terms of the MIT License.
4368167edSAxel Dörfler */
5368167edSAxel Dörfler#ifndef _SYSTEM_DEVICE_MANAGER_DEFS_H
6368167edSAxel Dörfler#define _SYSTEM_DEVICE_MANAGER_DEFS_H
7368167edSAxel Dörfler
8368167edSAxel Dörfler
9368167edSAxel Dörfler#include <device_manager.h>
10368167edSAxel Dörfler
11368167edSAxel Dörfler
12368167edSAxel Dörfler// temporary/optional device manager syscall API
13368167edSAxel Dörfler#define DEVICE_MANAGER_SYSCALLS "device_manager"
14368167edSAxel Dörfler
15368167edSAxel Dörfler#define DM_GET_ROOT				1
16368167edSAxel Dörfler#define DM_GET_CHILD			2
17368167edSAxel Dörfler#define DM_GET_NEXT_CHILD		3
18368167edSAxel Dörfler#define DM_GET_NEXT_ATTRIBUTE	4
19368167edSAxel Dörfler
2075d20856SJérôme Duvaltypedef addr_t device_node_cookie;
2175d20856SJérôme Duval
22368167edSAxel Dörflerstruct device_attr_info {
2375d20856SJérôme Duval	device_node_cookie 		node_cookie;
2475d20856SJérôme Duval	device_node_cookie		cookie;
25368167edSAxel Dörfler	char		name[255];
26368167edSAxel Dörfler	type_code	type;
27368167edSAxel Dörfler	union {
28368167edSAxel Dörfler		uint8   ui8;
29368167edSAxel Dörfler		uint16  ui16;
30368167edSAxel Dörfler		uint32  ui32;
31368167edSAxel Dörfler		uint64  ui64;
32368167edSAxel Dörfler		char    string[255];
33368167edSAxel Dörfler		struct {
34368167edSAxel Dörfler			void    *data;
35368167edSAxel Dörfler			size_t  length;
36368167edSAxel Dörfler		} raw;
37368167edSAxel Dörfler	} value;
38368167edSAxel Dörfler};
39368167edSAxel Dörfler
40368167edSAxel Dörfler#endif	/* _SYSTEM_DEVICE_MANAGER_DEFS_H */
41