libplist  1.8
Defines | Typedefs | Enumerations | Functions
plist/plist.h File Reference

Main include of libplist. More...

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_NONE
}
 The enumeration of plist node types. More...

Functions

PLIST_API plist_t plist_new_dict (void)
 Create a new root plist_t type PLIST_DICT.
PLIST_API plist_t plist_new_array (void)
 Create a new root plist_t type PLIST_ARRAY.
PLIST_API plist_t plist_new_string (const char *val)
 Create a new plist_t type PLIST_STRING.
PLIST_API plist_t plist_new_bool (uint8_t val)
 Create a new plist_t type PLIST_BOOLEAN.
PLIST_API plist_t plist_new_uint (uint64_t val)
 Create a new plist_t type PLIST_UINT.
PLIST_API plist_t plist_new_real (double val)
 Create a new plist_t type PLIST_REAL.
PLIST_API plist_t plist_new_data (const char *val, uint64_t length)
 Create a new plist_t type PLIST_DATA.
PLIST_API plist_t plist_new_date (int32_t sec, int32_t usec)
 Create a new plist_t type PLIST_DATE.
PLIST_API void plist_free (plist_t plist)
 Destruct a plist_t node and all its children recursively.
PLIST_API plist_t plist_copy (plist_t node)
 Return a copy of passed node and it's children.
PLIST_API uint32_t plist_array_get_size (plist_t node)
 Get size of a PLIST_ARRAY node.
PLIST_API plist_t plist_array_get_item (plist_t node, uint32_t n)
 Get the nth item in a PLIST_ARRAY node.
PLIST_API uint32_t plist_array_get_item_index (plist_t node)
 Get the index of an item.
PLIST_API void plist_array_set_item (plist_t node, plist_t item, uint32_t n)
 Set the nth item in a PLIST_ARRAY node.
PLIST_API void plist_array_append_item (plist_t node, plist_t item)
 Append a new item at the end of a PLIST_ARRAY node.
PLIST_API 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.
PLIST_API void plist_array_remove_item (plist_t node, uint32_t n)
 Remove an existing position in a PLIST_ARRAY node.
PLIST_API uint32_t plist_dict_get_size (plist_t node)
 Get size of a PLIST_DICT node.
PLIST_API void plist_dict_new_iter (plist_t node, plist_dict_iter *iter)
 Create iterator of a PLIST_DICT node.
PLIST_API void plist_dict_next_item (plist_t node, plist_dict_iter iter, char **key, plist_t *val)
 Increment iterator of a PLIST_DICT node.
PLIST_API void plist_dict_get_item_key (plist_t node, char **key)
 Get key associated to an item.
PLIST_API plist_t plist_dict_get_item (plist_t node, const char *key)
 Get the nth item in a PLIST_DICT node.
PLIST_API void plist_dict_set_item (plist_t node, const char *key, plist_t item)
 Set item identified by key in a PLIST_DICT node.
PLIST_API void plist_dict_insert_item (plist_t node, const char *key, plist_t item)
 Insert a new item at position n in a PLIST_DICT node.
PLIST_API void plist_dict_remove_item (plist_t node, const char *key)
 Remove an existing position in a PLIST_DICT node.
PLIST_API plist_t plist_get_parent (plist_t node)
 Get the parent of a node.
PLIST_API plist_type plist_get_node_type (plist_t node)
 Get the plist_type of a node.
PLIST_API void plist_get_key_val (plist_t node, char **val)
 Get the value of a PLIST_KEY node.
PLIST_API void plist_get_string_val (plist_t node, char **val)
 Get the value of a PLIST_STRING node.
PLIST_API void plist_get_bool_val (plist_t node, uint8_t *val)
 Get the value of a PLIST_BOOLEAN node.
PLIST_API void plist_get_uint_val (plist_t node, uint64_t *val)
 Get the value of a PLIST_UINT node.
PLIST_API void plist_get_real_val (plist_t node, double *val)
 Get the value of a PLIST_REAL node.
PLIST_API void plist_get_data_val (plist_t node, char **val, uint64_t *length)
 Get the value of a PLIST_DATA node.
PLIST_API void plist_get_date_val (plist_t node, int32_t *sec, int32_t *usec)
 Get the value of a PLIST_DATE node.
PLIST_API void plist_set_type (plist_t node, plist_type type)
 Forces type of node.
PLIST_API void plist_set_key_val (plist_t node, const char *val)
 Set the value of a node.
PLIST_API void plist_set_string_val (plist_t node, const char *val)
 Set the value of a node.
PLIST_API void plist_set_bool_val (plist_t node, uint8_t val)
 Set the value of a node.
PLIST_API void plist_set_uint_val (plist_t node, uint64_t val)
 Set the value of a node.
PLIST_API void plist_set_real_val (plist_t node, double val)
 Set the value of a node.
PLIST_API void plist_set_data_val (plist_t node, const char *val, uint64_t length)
 Set the value of a node.
PLIST_API void plist_set_date_val (plist_t node, int32_t sec, int32_t usec)
 Set the value of a node.
PLIST_API void plist_to_xml (plist_t plist, char **plist_xml, uint32_t *length)
 Export the plist_t structure to XML format.
PLIST_API void plist_to_bin (plist_t plist, char **plist_bin, uint32_t *length)
 Export the plist_t structure to binary format.
PLIST_API void plist_from_xml (const char *plist_xml, uint32_t length, plist_t *plist)
 Import the plist_t structure from XML format.
PLIST_API void plist_from_bin (const char *plist_bin, uint32_t length, plist_t *plist)
 Import the plist_t structure from binary format.
PLIST_API plist_t plist_access_path (plist_t plist, uint32_t length,...)
 Get a node from its path.
PLIST_API plist_t plist_access_pathv (plist_t plist, uint32_t length, va_list v)
 Variadic version of plist_access_path.
PLIST_API char plist_compare_node_value (plist_t node_l, plist_t node_r)
 Compare two node values.

Detailed Description

Main include of libplist.