diff options
Diffstat (limited to 'src/plist.h')
| -rw-r--r-- | src/plist.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plist.h b/src/plist.h index 63f67f7..e3f3f59 100644 --- a/src/plist.h +++ b/src/plist.h | |||
| @@ -47,6 +47,20 @@ typedef enum { | |||
| 47 | } plist_type; | 47 | } plist_type; |
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | struct plist_data { | ||
| 51 | union { | ||
| 52 | char boolval; | ||
| 53 | uint64_t intval; | ||
| 54 | double realval; | ||
| 55 | char *strval; | ||
| 56 | wchar_t *unicodeval; | ||
| 57 | char *buff; | ||
| 58 | }; | ||
| 59 | uint64_t length; | ||
| 60 | plist_type type; | ||
| 61 | }; | ||
| 62 | |||
| 63 | |||
| 50 | 64 | ||
| 51 | typedef GNode *plist_t; | 65 | typedef GNode *plist_t; |
| 52 | typedef GNode *dict_t; | 66 | typedef GNode *dict_t; |
| @@ -67,4 +81,5 @@ void bin_to_plist(const char *plist_bin, uint32_t length, plist_t * plist); | |||
| 67 | GNode *find_query_node(plist_t plist, char *key, char *request); | 81 | GNode *find_query_node(plist_t plist, char *key, char *request); |
| 68 | GNode *find_node(plist_t plist, plist_type type, void *value); | 82 | GNode *find_node(plist_t plist, plist_type type, void *value); |
| 69 | void get_type_and_value(GNode * node, plist_type * type, void *value); | 83 | void get_type_and_value(GNode * node, plist_type * type, void *value); |
| 84 | |||
| 70 | #endif | 85 | #endif |
