This source file includes following definitions.
- crm_copy_xml_element
 
- crm_xml_add_boolean
 
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #ifndef CRM_COMMON_NVPAIR__H
  11 #  define CRM_COMMON_NVPAIR__H
  12 
  13 #  ifdef __cplusplus
  14 extern "C" {
  15 #  endif
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #  include <sys/time.h>     
  24 #  include <glib.h>         
  25 #  include <libxml/tree.h>  
  26 #  include <crm/crm.h>
  27 
  28 typedef struct pcmk_nvpair_s {
  29     char *name;
  30     char *value;
  31 } pcmk_nvpair_t;
  32 
  33 GSList *pcmk_prepend_nvpair(GSList *nvpairs, const char *name, const char *value);
  34 void pcmk_free_nvpairs(GSList *nvpairs);
  35 GSList *pcmk_sort_nvpairs(GSList *list);
  36 GSList *pcmk_xml_attrs2nvpairs(xmlNode *xml);
  37 void pcmk_nvpairs2xml_attrs(GSList *list, xmlNode *xml);
  38 
  39 xmlNode *crm_create_nvpair_xml(xmlNode *parent, const char *id,
  40                                const char *name, const char *value);
  41 void hash2nvpair(gpointer key, gpointer value, gpointer user_data);
  42 void hash2field(gpointer key, gpointer value, gpointer user_data);
  43 void hash2metafield(gpointer key, gpointer value, gpointer user_data);
  44 void hash2smartfield(gpointer key, gpointer value, gpointer user_data);
  45 GHashTable *xml2list(xmlNode *parent);
  46 
  47 const char *crm_xml_add(xmlNode *node, const char *name, const char *value);
  48 const char *crm_xml_replace(xmlNode *node, const char *name, const char *value);
  49 const char *crm_xml_add_int(xmlNode *node, const char *name, int value);
  50 const char *crm_xml_add_ll(xmlNode *node, const char *name, long long value);
  51 const char *crm_xml_add_ms(xmlNode *node, const char *name, guint ms);
  52 const char *crm_xml_add_timeval(xmlNode *xml, const char *name_sec,
  53                                 const char *name_usec,
  54                                 const struct timeval *value);
  55 
  56 const char *crm_element_value(const xmlNode *data, const char *name);
  57 int crm_element_value_int(const xmlNode *data, const char *name, int *dest);
  58 int crm_element_value_ll(const xmlNode *data, const char *name, long long *dest);
  59 int crm_element_value_ms(const xmlNode *data, const char *name, guint *dest);
  60 int crm_element_value_epoch(const xmlNode *xml, const char *name, time_t *dest);
  61 int crm_element_value_timeval(const xmlNode *data, const char *name_sec,
  62                               const char *name_usec, struct timeval *dest);
  63 char *crm_element_value_copy(const xmlNode *data, const char *name);
  64 
  65 
  66 
  67 
  68 
  69 
  70 
  71 
  72 
  73 
  74 static inline const char *
  75 crm_copy_xml_element(xmlNode *obj1, xmlNode *obj2, const char *element)
     
  76 {
  77     const char *value = crm_element_value(obj1, element);
  78 
  79     crm_xml_add(obj2, element, value);
  80     return value;
  81 }
  82 
  83 
  84 
  85 
  86 
  87 
  88 
  89 
  90 
  91 
  92 
  93 
  94 
  95 static inline const char *
  96 crm_xml_add_boolean(xmlNode *node, const char *name, gboolean value)
     
  97 {
  98     return crm_xml_add(node, name, (value? "true" : "false"));
  99 }
 100 
 101 #  ifdef __cplusplus
 102 }
 103 #  endif
 104 
 105 #endif