diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-04-17 12:08:49 +0200 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-04-18 22:25:34 +0200 |
commit | 21b304b46a347772c1338b22fba6a15291bb2945 (patch) | |
tree | eb8d0980ded5216b282a7932ecce38fd09473210 /include | |
parent | d8e9019fcb56a49c6730bbe7d47e5e1cec682a2d (diff) | |
download | ouroboros-21b304b46a347772c1338b22fba6a15291bb2945.tar.gz ouroboros-21b304b46a347772c1338b22fba6a15291bb2945.zip |
ipcpd: initial IPC processes
Basic functions for implementation of IPC processes, and
implementation of core functions of the shim IPCP over UDP. Updates
to the build system to compile these IPC processes, as well as some
fixes in the irmd (rudimentary capturing exit signals) and some fixes
in the library, mainly relating to the messaging.
Basic implementation of creation / bootstrapping / deletion of the
shim UDP. Placeholders for other functions.
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/config.h.in | 12 | ||||
-rw-r--r-- | include/ouroboros/dif_config.h | 4 | ||||
-rw-r--r-- | include/ouroboros/flow.h | 14 |
3 files changed, 18 insertions, 12 deletions
diff --git a/include/ouroboros/config.h.in b/include/ouroboros/config.h.in index 01d7888e..6abce97a 100644 --- a/include/ouroboros/config.h.in +++ b/include/ouroboros/config.h.in @@ -23,10 +23,12 @@ #ifndef OUROBOROS_CONFIG #define OUROBOROS_CONFIG -#define PROJECT_NAME "@CMAKE_PROJECT_NAME@" -#define PROJECT_VERSION "@PACKAGE_VERSION@" -#define INSTALL_DIR "@CMAKE_INSTALL_PREFIX@" -#define BUILD_TYPE "@CMAKE_BUILD_TYPE@" -#define _POSIX_C_SOURCE 199506L +#define PROJECT_NAME "@CMAKE_PROJECT_NAME@" +#define PROJECT_VERSION "@PACKAGE_VERSION@" +#define INSTALL_DIR "@CMAKE_INSTALL_PREFIX@" +#define BUILD_TYPE "@CMAKE_BUILD_TYPE@" +#define _POSIX_C_SOURCE 199506L +#define IPCP_SHIM_UDP_EXEC "@IPCP_SHIM_UDP_TARGET@" +#define IPCP_NORMAL_EXEC "@IPCP_NORMAL_TARGET@" #endif diff --git a/include/ouroboros/dif_config.h b/include/ouroboros/dif_config.h index 91b44cb1..5d489b0c 100644 --- a/include/ouroboros/dif_config.h +++ b/include/ouroboros/dif_config.h @@ -21,12 +21,13 @@ */ #include <ouroboros/utils.h> +#include <ouroboros/common.h> #ifndef OUROBOROS_DIF_CONFIG_H #define OUROBOROS_DIF_CONFIG_H enum ipcp_type { - IPCP_NORMAL = 1, + IPCP_NORMAL = 0, IPCP_SHIM_UDP }; @@ -53,6 +54,7 @@ struct dif_config { /* Shim UDP */ struct { uint32_t ip_addr; + uint32_t dns_addr; }; }; }; diff --git a/include/ouroboros/flow.h b/include/ouroboros/flow.h index 7d8c311e..000de5ad 100644 --- a/include/ouroboros/flow.h +++ b/include/ouroboros/flow.h @@ -24,7 +24,7 @@ #define OUROBOROS_FLOW_H #include <ouroboros/common.h> - +#include <ouroboros/list.h> #include <pthread.h> /* same values as fcntl.h */ @@ -39,17 +39,19 @@ #define FLOW_O_INVALID (FLOW_O_WRONLY | FLOW_O_RDWR) enum flow_state { - FLOW_INIT = 0, + FLOW_NULL = 0, FLOW_ALLOCATED, FLOW_PENDING }; typedef struct flow { - int32_t port_id; - uint16_t oflags; - enum flow_state state; + struct list_head list; + + int32_t port_id; + uint16_t oflags; + enum flow_state state; - pthread_mutex_t lock; + pthread_mutex_t lock; } flow_t; flow_t * flow_create(int32_t port_id); |