summaryrefslogtreecommitdiffstats
path: root/src/types.h
blob: cabaac6edf6c70e511f6a2b6f314679b2912c9cb (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
32
33
34
35
36
37
38
#pragma once

#include <libubox/avl.h>

#include <net/if.h>
#include <stdint.h>

typedef struct {
	uint8_t addr[6];
} macaddr_t;

#define NODE_NAME(c) (*(char **)&(c)->node.key)

typedef struct {
	struct avl_tree subtypes;
	struct avl_tree interfaces;
} config_t;

typedef struct {
	struct avl_node node;
} subconfig_type_t;

typedef struct {
	struct avl_node node;
	struct avl_tree subconfigs;

	macaddr_t macaddr;
	uint16_t mtu;
} interface_config_t;

typedef struct {
	struct avl_node node;
	const char *type;
} interface_subconfig_t;


typedef struct {
} interface_generator_t;