Changes in kernel/generic/include/sysinfo/sysinfo.h [d9fae235:d99c1d2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/sysinfo/sysinfo.h
rd9fae235 rd99c1d2 41 41 extern bool fb_exported; 42 42 43 typedef enum { 44 SYSINFO_VAL_UNDEFINED = 0, 45 SYSINFO_VAL_VAL = 1, 46 SYSINFO_VAL_DATA = 2, 47 SYSINFO_VAL_FUNCTION_VAL = 3, 48 SYSINFO_VAL_FUNCTION_DATA = 4 49 } sysinfo_item_val_type_t; 50 51 typedef enum { 52 SYSINFO_SUBTREE_NONE = 0, 53 SYSINFO_SUBTREE_TABLE = 1, 54 SYSINFO_SUBTREE_FUNCTION = 2 55 } sysinfo_subtree_type_t; 56 57 struct sysinfo_item; 58 59 typedef unative_t (*sysinfo_fn_val_t)(struct sysinfo_item *); 60 typedef void *(*sysinfo_fn_data_t)(struct sysinfo_item *, size_t *); 61 typedef struct sysinfo_item *(*sysinfo_fn_subtree_t)(const char *); 62 63 typedef struct { 64 void *data; 65 size_t size; 66 } sysinfo_data_t; 67 68 typedef union { 43 typedef union sysinfo_item_val { 69 44 unative_t val; 70 sysinfo_fn_val_t fn_val; 71 sysinfo_fn_data_t fn_data; 72 sysinfo_data_t data; 45 void *fn; 73 46 } sysinfo_item_val_t; 74 75 typedef union {76 struct sysinfo_item *table;77 sysinfo_fn_subtree_t find_item;78 } sysinfo_subtree_t;79 47 80 48 typedef struct sysinfo_item { 81 49 char *name; 82 83 sysinfo_item_val_type_t val_type; 84 sysinfo_item_val_t val; 85 86 sysinfo_subtree_type_t subtree_type; 87 sysinfo_subtree_t subtree; 88 50 union { 51 unative_t val; 52 void *fn; 53 } val; 54 55 union { 56 struct sysinfo_item *table; 57 void *fn; 58 } subinfo; 59 89 60 struct sysinfo_item *next; 61 int val_type; 62 int subinfo_type; 90 63 } sysinfo_item_t; 91 64 92 typedef struct { 93 sysinfo_item_val_type_t tag; 94 union { 95 unative_t val; 96 sysinfo_data_t data; 97 }; 98 } sysinfo_return_t; 65 #define SYSINFO_VAL_VAL 0 66 #define SYSINFO_VAL_FUNCTION 1 67 #define SYSINFO_VAL_UNDEFINED U_SPECIAL 99 68 100 extern void sysinfo_init(void); 69 #define SYSINFO_SUBINFO_NONE 0 70 #define SYSINFO_SUBINFO_TABLE 1 71 #define SYSINFO_SUBINFO_FUNCTION 2 101 72 102 extern void sysinfo_set_item_val(const char *, sysinfo_item_t **, unative_t); 103 extern void sysinfo_set_item_data(const char *, sysinfo_item_t **, void *, 104 size_t); 105 extern void sysinfo_set_item_val_fn(const char *, sysinfo_item_t **, 106 sysinfo_fn_val_t); 107 extern void sysinfo_set_item_data_fn(const char *, sysinfo_item_t **, 108 sysinfo_fn_data_t); 109 extern void sysinfo_set_item_undefined(const char *, sysinfo_item_t **); 73 typedef unative_t (*sysinfo_val_fn_t)(sysinfo_item_t *root); 74 typedef unative_t (*sysinfo_subinfo_fn_t)(const char *subname); 110 75 111 extern sysinfo_return_t sysinfo_get_item(const char *, sysinfo_item_t **); 112 extern void sysinfo_dump(sysinfo_item_t **, unsigned int); 76 typedef struct sysinfo_rettype { 77 unative_t val; 78 unative_t valid; 79 } sysinfo_rettype_t; 113 80 114 unative_t sys_sysinfo_get_tag(void *, size_t); 115 unative_t sys_sysinfo_get_value(void *, size_t, void *); 116 unative_t sys_sysinfo_get_data_size(void *, size_t, void *); 117 unative_t sys_sysinfo_get_data(void *, size_t, void *, size_t); 81 void sysinfo_set_item_val(const char *name, sysinfo_item_t **root, unative_t val); 82 void sysinfo_dump(sysinfo_item_t **root, int depth); 83 void sysinfo_set_item_function(const char *name, sysinfo_item_t **root, sysinfo_val_fn_t fn); 84 void sysinfo_set_item_undefined(const char *name, sysinfo_item_t **root); 85 86 sysinfo_rettype_t sysinfo_get_val(const char *name, sysinfo_item_t **root); 87 88 unative_t sys_sysinfo_valid(unative_t ptr, unative_t len); 89 unative_t sys_sysinfo_value(unative_t ptr, unative_t len); 118 90 119 91 #endif
Note:
See TracChangeset
for help on using the changeset viewer.