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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#pragma once
#include "../jprint.h"
struct
{
char *Address;
char *Hook;
} typedef endpoint;
struct
{
char *Node;
char *Interface;
} typedef endpoint_configuration;
NAMED_ENUM(link_type, direct, pipe, );
struct
{
endpoint_configuration Peer[2];
link_type Type;
} typedef link_configuration;
struct
{
char *Name;
link_configuration Configuration;
endpoint Peer[2];
union
{
struct
{
} direct;
struct
{
u32 ID;
} pipe;
};
} typedef link_;
struct
{
char *Module;
ucl_object_t *Configuration;
} typedef node_configuration;
struct
{
char *Name;
node_configuration Configuration;
ucl_object_t *Data;
} typedef node;
struct
{
size_t NodeCount;
node *Node;
size_t LinkCount;
link_ *Link;
} typedef experiment;
int FromString_link_type(char const *, link_type *);
void Free_endpoint(endpoint *);
void Free_endpoint_configuration(endpoint_configuration *);
void Free_link_configuration(link_configuration *);
void Free_link(link_ *);
void Free_node_configuration(node_configuration *);
void Free_node(node *);
void Free_experiment(experiment *);
char *Parse_endpoint(endpoint *, ucl_object_t const *, char const *Position);
char *Parse_endpoint_configuration(endpoint_configuration *, ucl_object_t const *, char const *Position);
char *Parse_link_type(link_type *, ucl_object_t const *, char const *Position);
char *Parse_link_configuration(link_configuration *, ucl_object_t const *, char const *Position);
char *Parse_link(link_ *, ucl_object_t const *, char const *Position);
char *Parse_node_configuration(node_configuration *, ucl_object_t const *, char const *Position);
char *Parse_node(node *, ucl_object_t const *, char const *Position);
char *Parse_experiment(experiment *, ucl_object_t const *, char const *Position);
void Save_endpoint(jprint_state *, endpoint const *);
void Save_endpoint_configuration(jprint_state *, endpoint_configuration const *);
void Save_link_configuration(jprint_state *, link_configuration const *);
void Save_link(jprint_state *, link_ const *);
void Save_node_configuration(jprint_state *, node_configuration const *);
void Save_node(jprint_state *, node const *);
void Save_experiment(jprint_state *, experiment const *);
|