diff options
author | dimitri staessens <[email protected]> | 2016-09-18 06:27:43 +0200 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2016-10-04 15:16:00 +0200 |
commit | c96efb13edfaf9b2f2c626bd2a5d5d5afd38155f (patch) | |
tree | acd08f09f5a094e897020e97961b2847209df043 /src/ipcpd/ipcp-ops.h | |
parent | 2e561a634ae3e747b293a4e05eaf44726968dc1a (diff) | |
download | ouroboros-c96efb13edfaf9b2f2c626bd2a5d5d5afd38155f.tar.gz ouroboros-c96efb13edfaf9b2f2c626bd2a5d5d5afd38155f.zip |
lib, ipcp: Revise fast path and flow interfaces
IPCPs can now use ap_init() to initialize the memory. All flows are
accessed using flow descriptors, this greatly simplifies IPCP
development. Reverts the fast path to a single ap_rbuff per process.
Splits lib/ipcp into irmd/ipcp and lib/ipcp-dev. Adds a lib/shim-dev
holding tailored functions for shims. Moves the buffer_t to utils.h.
Fixes the shim-eth-llc length field. Removes the flow from shared.h.
Fixes #4
Fixes #5
Diffstat (limited to 'src/ipcpd/ipcp-ops.h')
-rw-r--r-- | src/ipcpd/ipcp-ops.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/ipcpd/ipcp-ops.h b/src/ipcpd/ipcp-ops.h index e43c2c38..815cda09 100644 --- a/src/ipcpd/ipcp-ops.h +++ b/src/ipcpd/ipcp-ops.h @@ -25,23 +25,26 @@ #define IPCPD_IPCP_OPS_H #include <ouroboros/irm_config.h> -#include <ouroboros/common.h> -#include <sys/types.h> +#include <ouroboros/shared.h> struct ipcp_ops { int (* ipcp_bootstrap)(struct dif_config * conf); + int (* ipcp_enroll)(char * dif_name); - int (* ipcp_name_reg)(char * name); + + int (* ipcp_name_reg)(char * name); + int (* ipcp_name_unreg)(char * name); - int (* ipcp_flow_alloc)(pid_t n_api, - int port_id, + + int (* ipcp_flow_alloc)(int fd, char * dst_ap_name, char * src_ae_name, enum qos_cube qos); - int (* ipcp_flow_alloc_resp)(pid_t n_api, - int port_id, - int response); - int (* ipcp_flow_dealloc)(int port_id); + + int (* ipcp_flow_alloc_resp)(int fd, + int response); + + int (* ipcp_flow_dealloc)(int fd); }; #endif /* IPCPD_IPCP_OPS_H */ |