0,0 → 1,53 |
#include <arch/types.h> |
|
typedef union sysinfo_item_val |
{ |
__native val; |
void *fn; |
}sysinfo_item_val_t; |
|
typedef struct sysinfo_item |
{ |
char *name; |
union |
{ |
__native val; |
void *fn; |
}val; |
|
union |
{ |
struct sysinfo_item *table; |
void *fn; |
}subinfo; |
|
struct sysinfo_item *next; |
int val_type; |
int subinfo_type; |
}sysinfo_item_t; |
|
#define SYSINFO_VAL_VAL 0 |
#define SYSINFO_VAL_FUNCTION 1 |
#define SYSINFO_VAL_UNDEFINED '?' |
|
#define SYSINFO_SUBINFO_NONE 0 |
#define SYSINFO_SUBINFO_TABLE 1 |
#define SYSINFO_SUBINFO_FUNCTION 2 |
|
|
typedef __native (*sysinfo_val_fn_t)(sysinfo_item_t *root); |
typedef __native (*sysinfo_subinfo_fn_t)(const char *subname); |
|
typedef struct sysinfo_rettype |
{ |
__native val; |
__native valid; |
}sysinfo_rettype_t; |
|
void sysinfo_set_item_val(const char *name,sysinfo_item_t **root,__native val); |
void sysinfo_dump(sysinfo_item_t **root,int depth); |
void sysinfo_set_item_function(const char *name,sysinfo_item_t **root,sysinfo_val_fn_t fn); |
void sysinfo_set_item_undefined(const char *name,sysinfo_item_t **root); |
|
sysinfo_rettype_t sysinfo_get_val(const char *name,sysinfo_item_t **root); |
|