Rev 1787 | Rev 1888 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1787 | Rev 1819 | ||
---|---|---|---|
Line 24... | Line 24... | ||
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | */ |
27 | */ |
28 | 28 | ||
29 | /** @addtogroup generic |
29 | /** @addtogroup generic |
30 | * @{ |
30 | * @{ |
31 | */ |
31 | */ |
32 | /** @file |
32 | /** @file |
33 | */ |
33 | */ |
34 | 34 | ||
35 | #include <arch/types.h> |
35 | #include <arch/types.h> |
36 | 36 | ||
37 | typedef union sysinfo_item_val |
37 | typedef union sysinfo_item_val { |
38 | { |
- | |
39 | unative_t val; |
38 | unative_t val; |
40 | void *fn; |
39 | void *fn; |
41 | }sysinfo_item_val_t; |
40 | } sysinfo_item_val_t; |
42 | 41 | ||
43 | typedef struct sysinfo_item |
42 | typedef struct sysinfo_item { |
44 | { |
- | |
45 | char *name; |
43 | char *name; |
46 | union |
44 | union { |
47 | { |
- | |
48 | unative_t val; |
45 | unative_t val; |
49 | void *fn; |
46 | void *fn; |
50 | }val; |
47 | } val; |
51 | 48 | ||
52 | union |
49 | union { |
53 | { |
- | |
54 | struct sysinfo_item *table; |
50 | struct sysinfo_item *table; |
55 | void *fn; |
51 | void *fn; |
56 | }subinfo; |
52 | } subinfo; |
57 | 53 | ||
58 | struct sysinfo_item *next; |
54 | struct sysinfo_item *next; |
59 | int val_type; |
55 | int val_type; |
60 | int subinfo_type; |
56 | int subinfo_type; |
61 | }sysinfo_item_t; |
57 | } sysinfo_item_t; |
62 | 58 | ||
63 | #define SYSINFO_VAL_VAL 0 |
59 | #define SYSINFO_VAL_VAL 0 |
64 | #define SYSINFO_VAL_FUNCTION 1 |
60 | #define SYSINFO_VAL_FUNCTION 1 |
65 | #define SYSINFO_VAL_UNDEFINED '?' |
61 | #define SYSINFO_VAL_UNDEFINED '?' |
66 | 62 | ||
Line 70... | Line 66... | ||
70 | 66 | ||
71 | 67 | ||
72 | typedef unative_t (*sysinfo_val_fn_t)(sysinfo_item_t *root); |
68 | typedef unative_t (*sysinfo_val_fn_t)(sysinfo_item_t *root); |
73 | typedef unative_t (*sysinfo_subinfo_fn_t)(const char *subname); |
69 | typedef unative_t (*sysinfo_subinfo_fn_t)(const char *subname); |
74 | 70 | ||
75 | typedef struct sysinfo_rettype |
71 | typedef struct sysinfo_rettype { |
76 | { |
- | |
77 | unative_t val; |
72 | unative_t val; |
78 | unative_t valid; |
73 | unative_t valid; |
79 | }sysinfo_rettype_t; |
74 | } sysinfo_rettype_t; |
80 | 75 | ||
81 | void sysinfo_set_item_val(const char *name,sysinfo_item_t **root,unative_t val); |
76 | 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); |
77 | 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); |
78 | 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); |
79 | void sysinfo_set_item_undefined(const char *name,sysinfo_item_t **root); |
Line 86... | Line 81... | ||
86 | sysinfo_rettype_t sysinfo_get_val(const char *name,sysinfo_item_t **root); |
81 | sysinfo_rettype_t sysinfo_get_val(const char *name,sysinfo_item_t **root); |
87 | 82 | ||
88 | unative_t sys_sysinfo_valid(unative_t ptr,unative_t len); |
83 | unative_t sys_sysinfo_valid(unative_t ptr,unative_t len); |
89 | unative_t sys_sysinfo_value(unative_t ptr,unative_t len); |
84 | unative_t sys_sysinfo_value(unative_t ptr,unative_t len); |
90 | 85 | ||
91 | - | ||
92 | - | ||
93 | /** @} |
86 | /** @} |
94 | */ |
87 | */ |
95 | - |