summaryrefslogtreecommitdiffstats
path: root/dom.h
blob: ae7c953de03c259579b08ba9a9506577d868f599 (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 DOM_H
#define DOM_H

#include "tags.h"

struct attr {
	const char *key;
	size_t keylen;
	const char *val;
	size_t vallen;
	struct attr *next;
};

struct node {
	tag_type tag;

	const char *text;
	size_t textlen;

	struct attr *attrs;

	struct node *parent;
	struct node *first_child;
	struct node *last_child;
	struct node *next_sibling;
};

struct node *dom_init(const char *html);
void dom_free(void);

#endif /* DOM_H */