summaryrefslogtreecommitdiff
path: root/src/include/xml/xml.h
blob: eb250e3559d905ac512d7e961e67823e46aff2a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef XML_H
#define XML_H

#include <stdio.h>

typedef struct {
	char *id;
	char *value;
} attr_t;

typedef struct {
	char *tag;
	void *payload;
	size_t size;
	int n;
	attr_t *attrs;
	int n_attrs;
} map_t;

/* decode: decodes the provided xml statement into a map_t */
map_t *decode(char *xml);

/* encode: encodes the provided map_t into a xml statement */
char *encode(map_t *map);

/* freemap: frees a map and its children */
void freemap(map_t *map);

#endif