device_manager_defs.h revision 368167ed
1368167edSAxel Dörfler/*
2368167edSAxel Dörfler * Copyright 2004-2008, Axel D��rfler, 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
20368167edSAxel Dörflerstruct device_attr_info {
21368167edSAxel Dörfler	uint32 		node_cookie;
22368167edSAxel Dörfler	uint32		cookie;
23368167edSAxel Dörfler	char		name[255];
24368167edSAxel Dörfler	type_code	type;
25368167edSAxel Dörfler	union {
26368167edSAxel Dörfler		uint8   ui8;
27368167edSAxel Dörfler		uint16  ui16;
28368167edSAxel Dörfler		uint32  ui32;
29368167edSAxel Dörfler		uint64  ui64;
30368167edSAxel Dörfler		char    string[255];
31368167edSAxel Dörfler		struct {
32368167edSAxel Dörfler			void    *data;
33368167edSAxel Dörfler			size_t  length;
34368167edSAxel Dörfler		} raw;
35368167edSAxel Dörfler	} value;
36368167edSAxel Dörfler};
37368167edSAxel Dörfler
38368167edSAxel Dörfler#endif	/* _SYSTEM_DEVICE_MANAGER_DEFS_H */