libplist  1.10
Macros | Typedefs | Enumerations | Functions
plist.h File Reference

Main include of libplist. More...

#include <stdint.h>
#include <sys/types.h>
#include <stdarg.h>

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

Detailed Description

Main include of libplist.