Subversion Repositories HelenOS

Rev

Rev 1318 | 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