summaryrefslogtreecommitdiff
path: root/src/include/xml/xml.h
blob: ff64796f6d08ca902f7fd31a45d437591a7257f1 (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
30
31
#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, int *pos, int *len);

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

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

#endif