libplist
2.0.0
|
Main include of libplist. More...
#include <stdint.h>
#include <sys/types.h>
#include <stdarg.h>
Macros | |
#define | PLIST_WARN_DEPRECATED(x) |
#define | _PLIST_IS_TYPE(__plist, __plist_type) (__plist && (plist_get_node_type(__plist) == PLIST_##__plist_type)) |
#define | PLIST_IS_BOOLEAN(__plist) _PLIST_IS_TYPE(__plist, BOOLEAN) |
#define | PLIST_IS_UINT(__plist) _PLIST_IS_TYPE(__plist, UINT) |
#define | PLIST_IS_REAL(__plist) _PLIST_IS_TYPE(__plist, REAL) |
#define | PLIST_IS_STRING(__plist) _PLIST_IS_TYPE(__plist, STRING) |
#define | PLIST_IS_ARRAY(__plist) _PLIST_IS_TYPE(__plist, ARRAY) |
#define | PLIST_IS_DICT(__plist) _PLIST_IS_TYPE(__plist, DICT) |
#define | PLIST_IS_DATE(__plist) _PLIST_IS_TYPE(__plist, DATE) |
#define | PLIST_IS_DATA(__plist) _PLIST_IS_TYPE(__plist, DATA) |
#define | PLIST_IS_KEY(__plist) _PLIST_IS_TYPE(__plist, KEY) |
#define | PLIST_IS_UID(__plist) _PLIST_IS_TYPE(__plist, UID) |
Typedefs | |
typedef void * | plist_t |
The basic plist abstract data type. | |
typedef void * | plist_dict_iter |
The plist dictionary iterator. | |
Enumerations | |
enum | plist_type { PLIST_BOOLEAN, PLIST_UINT, PLIST_REAL, PLIST_STRING, PLIST_ARRAY, PLIST_DICT, PLIST_DATE, PLIST_DATA, PLIST_KEY, PLIST_UID, PLIST_NONE } |
The enumeration of plist node types. More... | |
Functions | |
plist_t | plist_new_dict (void) |
Create a new root plist_t type PLIST_DICT. More... | |
plist_t | plist_new_array (void) |
Create a new root plist_t type PLIST_ARRAY. More... | |
plist_t | plist_new_string (const char *val) |
Create a new plist_t type PLIST_STRING. More... | |
plist_t | plist_new_bool (uint8_t val) |
Create a new plist_t type PLIST_BOOLEAN. More... | |
plist_t | plist_new_uint (uint64_t val) |
Create a new plist_t type PLIST_UINT. More... | |
plist_t | plist_new_real (double val) |
Create a new plist_t type PLIST_REAL. More... | |
plist_t | plist_new_data (const char *val, uint64_t length) |
Create a new plist_t type PLIST_DATA. More... | |
plist_t | plist_new_date (int32_t sec, int32_t usec) |
Create a new plist_t type PLIST_DATE. More... | |
plist_t | plist_new_uid (uint64_t val) |
Create a new plist_t type PLIST_UID. More... | |
void | plist_free (plist_t plist) |
Destruct a plist_t node and all its children recursively. More... | |
plist_t | plist_copy (plist_t node) |
Return a copy of passed node and it's children. More... | |
uint32_t | plist_array_get_size (plist_t node) |
Get size of a PLIST_ARRAY node. More... | |
plist_t | plist_array_get_item (plist_t node, uint32_t n) |
Get the nth item in a PLIST_ARRAY node. More... | |
uint32_t | plist_array_get_item_index (plist_t node) |
Get the index of an item. More... | |
void | plist_array_set_item (plist_t node, plist_t item, uint32_t n) |
Set the nth item in a PLIST_ARRAY node. More... | |
void | plist_array_append_item (plist_t node, plist_t item) |
Append a new item at the end of a PLIST_ARRAY node. More... | |
void | plist_array_insert_item (plist_t node, plist_t item, uint32_t n) |
Insert a new item at position n in a PLIST_ARRAY node. More... | |
void | plist_array_remove_item (plist_t node, uint32_t n) |
Remove an existing position in a PLIST_ARRAY node. More... | |
uint32_t | plist_dict_get_size (plist_t node) |
Get size of a PLIST_DICT node. More... | |
void | plist_dict_new_iter (plist_t node, plist_dict_iter *iter) |
Create an iterator of a PLIST_DICT node. More... | |
void | plist_dict_next_item (plist_t node, plist_dict_iter iter, char **key, plist_t *val) |
Increment iterator of a PLIST_DICT node. More... | |
void | plist_dict_get_item_key (plist_t node, char **key) |
Get key associated to an item. More... | |
plist_t | plist_dict_get_item (plist_t node, const char *key) |
Get the nth item in a PLIST_DICT node. More... | |
void | plist_dict_set_item (plist_t node, const char *key, plist_t item) |
Set item identified by key in a PLIST_DICT node. More... | |
void | plist_dict_insert_item (plist_t node, const char *key, plist_t item) |
Insert a new item into a PLIST_DICT node. More... | |
void | plist_dict_remove_item (plist_t node, const char *key) |
Remove an existing position in a PLIST_DICT node. More... | |
void | plist_dict_merge (plist_t *target, plist_t source) |
Merge a dictionary into another. More... | |
plist_t | plist_get_parent (plist_t node) |
Get the parent of a node. More... | |
plist_type | plist_get_node_type (plist_t node) |
Get the plist_type of a node. More... | |
void | plist_get_key_val (plist_t node, char **val) |
Get the value of a PLIST_KEY node. More... | |
void | plist_get_string_val (plist_t node, char **val) |
Get the value of a PLIST_STRING node. More... | |
void | plist_get_bool_val (plist_t node, uint8_t *val) |
Get the value of a PLIST_BOOLEAN node. More... | |
void | plist_get_uint_val (plist_t node, uint64_t *val) |
Get the value of a PLIST_UINT node. More... | |
void | plist_get_real_val (plist_t node, double *val) |
Get the value of a PLIST_REAL node. More... | |
void | plist_get_data_val (plist_t node, char **val, uint64_t *length) |
Get the value of a PLIST_DATA node. More... | |
void | plist_get_date_val (plist_t node, int32_t *sec, int32_t *usec) |
Get the value of a PLIST_DATE node. More... | |
void | plist_get_uid_val (plist_t node, uint64_t *val) |
Get the value of a PLIST_UID node. More... | |
void | plist_set_key_val (plist_t node, const char *val) |
Set the value of a node. More... | |
void | plist_set_string_val (plist_t node, const char *val) |
Set the value of a node. More... | |
void | plist_set_bool_val (plist_t node, uint8_t val) |
Set the value of a node. More... | |
void | plist_set_uint_val (plist_t node, uint64_t val) |
Set the value of a node. More... | |
void | plist_set_real_val (plist_t node, double val) |
Set the value of a node. More... | |
void | plist_set_data_val (plist_t node, const char *val, uint64_t length) |
Set the value of a node. More... | |
void | plist_set_date_val (plist_t node, int32_t sec, int32_t usec) |
Set the value of a node. More... | |
void | plist_set_uid_val (plist_t node, uint64_t val) |
Set the value of a node. More... | |
void | plist_to_xml (plist_t plist, char **plist_xml, uint32_t *length) |
Export the plist_t structure to XML format. More... | |
void | plist_to_bin (plist_t plist, char **plist_bin, uint32_t *length) |
Export the plist_t structure to binary format. More... | |
void | plist_from_xml (const char *plist_xml, uint32_t length, plist_t *plist) |
Import the plist_t structure from XML format. More... | |
void | plist_from_bin (const char *plist_bin, uint32_t length, plist_t *plist) |
Import the plist_t structure from binary format. More... | |
void | plist_from_memory (const char *plist_data, uint32_t length, plist_t *plist) |
Import the plist_t structure from memory data. More... | |
int | plist_is_binary (const char *plist_data, uint32_t length) |
Test if in-memory plist data is binary or XML This method will look at the first bytes of plist_data to determine if plist_data contains a binary or XML plist. More... | |
plist_t | plist_access_path (plist_t plist, uint32_t length,...) |
Get a node from its path. More... | |
plist_t | plist_access_pathv (plist_t plist, uint32_t length, va_list v) |
Variadic version of plist_access_path. More... | |
char | plist_compare_node_value (plist_t node_l, plist_t node_r) |
Compare two node values. More... | |
Main include of libplist.