Subversion Repositories HelenOS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1317 vana 1
#include <arch/types.h>
2
 
3
typedef union sysinfo_item_val
4
{
5
	__native val;
6
	void *fn; 
7
}sysinfo_item_val_t;
8
 
9
typedef struct sysinfo_item
10
{
11
	char *name;
12
	union
13
	{
14
		__native val;
15
		void *fn; 
16
	}val;
17
 
18
	union
19
	{
20
		struct sysinfo_item *table;
21
		void *fn;
22
	}subinfo;
23
 
24
	struct sysinfo_item *next;
25
	int val_type;
26
	int subinfo_type;
27
}sysinfo_item_t;
28
 
29
#define SYSINFO_VAL_VAL 0
30
#define SYSINFO_VAL_FUNCTION 1
31
#define SYSINFO_VAL_UNDEFINED '?'
32
 
33
#define SYSINFO_SUBINFO_NONE 0
34
#define SYSINFO_SUBINFO_TABLE 1
35
#define SYSINFO_SUBINFO_FUNCTION 2
36
 
37
 
38
typedef __native (*sysinfo_val_fn_t)(sysinfo_item_t *root);
39
typedef __native (*sysinfo_subinfo_fn_t)(const char *subname);
40
 
41
typedef struct sysinfo_rettype
42
{
43
	__native val;
44
	__native valid;
45
}sysinfo_rettype_t;
46
 
47
void sysinfo_set_item_val(const char *name,sysinfo_item_t **root,__native val);
48
void sysinfo_dump(sysinfo_item_t **root,int depth);
49
void sysinfo_set_item_function(const char *name,sysinfo_item_t **root,sysinfo_val_fn_t fn);
50
void sysinfo_set_item_undefined(const char *name,sysinfo_item_t **root);
51
 
52
sysinfo_rettype_t sysinfo_get_val(const char *name,sysinfo_item_t **root);
53