summaryrefslogtreecommitdiff
path: root/src/base/state.h
diff options
context:
space:
mode:
authordautor <karlo98.m@gmail.com>2024-11-16 20:12:45 +0100
committerdautor <karlo98.m@gmail.com>2024-11-16 20:12:45 +0100
commit9638b621fa567555e51c9bc61351a708221fd2ee (patch)
treed16248bfc8d0d7704da8c99585a580dda16f7518 /src/base/state.h
parent47778ccd67cbb3fb70dda706911d3166038ca010 (diff)
Add ng_pipe link
Diffstat (limited to 'src/base/state.h')
-rw-r--r--src/base/state.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/base/state.h b/src/base/state.h
index 3bbccb5..82db1e0 100644
--- a/src/base/state.h
+++ b/src/base/state.h
@@ -14,9 +14,12 @@ struct
char *Interface;
} typedef endpoint_configuration;
+NAMED_ENUM(link_type, direct, pipe, );
+
struct
{
endpoint_configuration Peer[2];
+ link_type Type;
} typedef link_configuration;
struct
@@ -24,6 +27,16 @@ struct
char *Name;
link_configuration Configuration;
endpoint Peer[2];
+ union
+ {
+ struct
+ {
+ } direct;
+ struct
+ {
+ u32 ID;
+ } pipe;
+ };
} typedef link_;
struct
@@ -47,6 +60,8 @@ struct
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 *);
@@ -57,6 +72,7 @@ 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);