Changeset 80bfb601 in mainline for kernel/generic/include/sysinfo/sysinfo.h
- Timestamp:
- 2010-04-18T09:57:19Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d869398
- Parents:
- fce3536
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/sysinfo/sysinfo.h
rfce3536 r80bfb601 39 39 #include <str.h> 40 40 41 /** Framebuffer info exported flags */ 41 42 extern bool fb_exported; 42 43 44 /** Item value type 45 * 46 */ 43 47 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 48 SYSINFO_VAL_UNDEFINED = 0, /**< Undefined value */ 49 SYSINFO_VAL_VAL = 1, /**< Constant numeric value */ 50 SYSINFO_VAL_DATA = 2, /**< Constant binary data */ 51 SYSINFO_VAL_FUNCTION_VAL = 3, /**< Generated numeric value */ 52 SYSINFO_VAL_FUNCTION_DATA = 4 /**< Generated binary data */ 49 53 } sysinfo_item_val_type_t; 50 54 55 /** Subtree type 56 * 57 */ 51 58 typedef enum { 52 SYSINFO_SUBTREE_NONE = 0, 53 SYSINFO_SUBTREE_TABLE = 1, 54 SYSINFO_SUBTREE_FUNCTION = 2 59 SYSINFO_SUBTREE_NONE = 0, /**< No subtree (leaf item) */ 60 SYSINFO_SUBTREE_TABLE = 1, /**< Fixed subtree */ 61 SYSINFO_SUBTREE_FUNCTION = 2 /**< Generated subtree */ 55 62 } sysinfo_subtree_type_t; 56 63 57 64 struct sysinfo_item; 58 65 66 /** Gerated numeric value function */ 59 67 typedef unative_t (*sysinfo_fn_val_t)(struct sysinfo_item *); 68 69 /** Generated binary data function */ 60 70 typedef void *(*sysinfo_fn_data_t)(struct sysinfo_item *, size_t *); 61 71 72 /** Sysinfo item binary data 73 * 74 */ 62 75 typedef struct { 63 void *data; 64 size_t size; 76 void *data; /**< Data */ 77 size_t size; /**< Size (bytes) */ 65 78 } sysinfo_data_t; 66 79 80 /** Sysinfo item value (union) 81 * 82 */ 67 83 typedef union { 68 unative_t val; 69 sysinfo_fn_val_t fn_val; 70 sysinfo_fn_data_t fn_data; 71 sysinfo_data_t data; 84 unative_t val; /**< Constant numberic value */ 85 sysinfo_fn_val_t fn_val; /**< Generated numeric value function */ 86 sysinfo_fn_data_t fn_data; /**< Generated binary data function */ 87 sysinfo_data_t data; /**< Constant binary data */ 72 88 } sysinfo_item_val_t; 73 89 90 /** Sysinfo return holder 91 * 92 * This structure is generated from the constant 93 * items or by the generating functions. Note that 94 * the validity of the data is limited by the scope 95 * of single sysinfo invocation guarded by sysinfo_lock. 96 * 97 */ 74 98 typedef struct { 75 sysinfo_item_val_type_t tag; 99 sysinfo_item_val_type_t tag; /**< Return value type */ 76 100 union { 77 unative_t val; 78 sysinfo_data_t data; 101 unative_t val; /**< Numberic value */ 102 sysinfo_data_t data; /**< Binary data */ 79 103 }; 80 104 } sysinfo_return_t; 81 105 106 /** Generated subtree function */ 82 107 typedef sysinfo_return_t (*sysinfo_fn_subtree_t)(const char *); 83 108 109 /** Sysinfo subtree (union) 110 * 111 */ 84 112 typedef union { 85 struct sysinfo_item *table; 86 sysinfo_fn_subtree_t get_data; 113 struct sysinfo_item *table; /**< Fixed subtree (list of subitems) */ 114 sysinfo_fn_subtree_t get_data; /**< Generated subtree function */ 87 115 } sysinfo_subtree_t; 88 116 117 /** Sysinfo item 118 * 119 */ 89 120 typedef struct sysinfo_item { 90 char *name; 121 char *name; /**< Item name */ 91 122 92 sysinfo_item_val_type_t val_type; 93 sysinfo_item_val_t val; 123 sysinfo_item_val_type_t val_type; /**< Item value type */ 124 sysinfo_item_val_t val; /**< Item value */ 94 125 95 sysinfo_subtree_type_t subtree_type; 96 sysinfo_subtree_t subtree; 126 sysinfo_subtree_type_t subtree_type; /**< Subtree type */ 127 sysinfo_subtree_t subtree; /**< Subtree */ 97 128 98 struct sysinfo_item *next; 129 struct sysinfo_item *next; /**< Sibling item */ 99 130 } sysinfo_item_t; 100 131 … … 114 145 extern void sysinfo_dump(sysinfo_item_t *); 115 146 116 unative_t sys_sysinfo_get_tag(void *, size_t);117 unative_t sys_sysinfo_get_value(void *, size_t, void *);118 unative_t sys_sysinfo_get_data_size(void *, size_t, void *);119 unative_t sys_sysinfo_get_data(void *, size_t, void *, size_t);147 extern unative_t sys_sysinfo_get_tag(void *, size_t); 148 extern unative_t sys_sysinfo_get_value(void *, size_t, void *); 149 extern unative_t sys_sysinfo_get_data_size(void *, size_t, void *); 150 extern unative_t sys_sysinfo_get_data(void *, size_t, void *, size_t); 120 151 121 152 #endif
Note:
See TracChangeset
for help on using the changeset viewer.