summaryrefslogtreecommitdiff
path: root/src/ipcpd/ipcp-ops.h
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-09-18 06:27:43 +0200
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-10-04 15:16:00 +0200
commitc96efb13edfaf9b2f2c626bd2a5d5d5afd38155f (patch)
treeacd08f09f5a094e897020e97961b2847209df043 /src/ipcpd/ipcp-ops.h
parent2e561a634ae3e747b293a4e05eaf44726968dc1a (diff)
downloadouroboros-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.h21
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 */