37 #define EZXML_BUFSIZE 1024
38 #define EZXML_NAMEM 0x80
39 #define EZXML_TXTM 0x40
40 #define EZXML_DUP 0x20
41 #define EZXML_ERRL 128
101 #define ezxml_next(xml) ((xml) ? xml->next : NULL)
108 #define ezxml_name(xml) ((xml) ? xml->name : NULL)
111 #define ezxml_txt(xml) ((xml) ? xml->txt : "")
130 char **
ezxml_pi(ezxml_t xml,
const char *target);
142 #define ezxml_new_d(name) ezxml_set_flag(ezxml_new(strdup(name)), EZXML_NAMEM)
149 #define ezxml_add_child_d(xml, name, off) \
150 ezxml_set_flag(ezxml_add_child(xml, strdup(name), off), EZXML_NAMEM)
156 #define ezxml_set_txt_d(xml, txt) \
157 ezxml_set_flag(ezxml_set_txt(xml, strdup(txt)), EZXML_TXTM)
164 #define ezxml_set_attr_d(xml, name, value) \
165 ezxml_set_attr(ezxml_set_flag(xml, EZXML_DUP), strdup(name), strdup(value))
178 #define ezxml_move(xml, dest, off) ezxml_insert(ezxml_cut(xml), dest, off)
181 #define ezxml_remove(xml) ezxml_free(ezxml_cut(xml))
ezxml_t ezxml_child(ezxml_t xml, const char *name)
struct ezxml_root * ezxml_root_t
const char * ezxml_error(ezxml_t xml)
ezxml_t ezxml_set_attr(ezxml_t xml, char *name, char *value)
ezxml_t ezxml_new(char *name)
ezxml_t ezxml_set_txt(ezxml_t xml, char *txt)
void ezxml_free(ezxml_t xml)
ezxml_t ezxml_parse_file(const char *file)
ezxml_t ezxml_parse_fp(FILE *fp)
ezxml_t ezxml_insert(ezxml_t xml, ezxml_t dest, size_t off)
const char * ezxml_attr(ezxml_t xml, const char *attr)
char ** ezxml_pi(ezxml_t xml, const char *target)
ezxml_t ezxml_parse_fd(int fd)
ezxml_t ezxml_idx(ezxml_t xml, int idx)
char * ezxml_toxml(ezxml_t xml)
ezxml_t ezxml_parse_str(char *s, size_t len)
ezxml_t ezxml_get(ezxml_t xml,...)
ezxml_t ezxml_add_child(ezxml_t xml, char *name, size_t off)
ezxml_t ezxml_set_flag(ezxml_t xml, short flag)
ezxml_t ezxml_cut(ezxml_t xml)