summaryrefslogtreecommitdiff
path: root/include/ouroboros/dev.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 /include/ouroboros/dev.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 'include/ouroboros/dev.h')
-rw-r--r--include/ouroboros/dev.h25
1 files changed, 10 insertions, 15 deletions
diff --git a/include/ouroboros/dev.h b/include/ouroboros/dev.h
index fe5ff4b5..25299ee3 100644
--- a/include/ouroboros/dev.h
+++ b/include/ouroboros/dev.h
@@ -20,11 +20,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <unistd.h>
-#include <stdint.h>
-
#include <ouroboros/qos.h>
-#include <ouroboros/flow.h>
+
+#include <unistd.h>
#ifndef OUROBOROS_DEV_H
#define OUROBOROS_DEV_H
@@ -36,32 +34,29 @@ int ap_init(char * ap_name);
void ap_fini(void);
-/* Returns file descriptor (> 0) and client AE name. */
+/* Returns flow descriptor (> 0) and client AE name. */
int flow_accept(char ** ae_name);
-int flow_alloc_resp(int fd, int result);
+int flow_alloc_resp(int fd,
+ int response);
/*
- * Returns file descriptor (> 0).
+ * Returns flow descriptor (> 0).
* On returning, qos will contain the actual supplied QoS.
*/
-int flow_alloc(char * dst_name,
- char * src_ae_name,
+int flow_alloc(char * dst_name,
+ char * src_ae_name,
struct qos_spec * qos);
int flow_alloc_res(int fd);
int flow_dealloc(int fd);
-int flow_cntl(int fd,
- int cmd,
- int oflags);
-
-ssize_t flow_write(int fd,
+ssize_t flow_write(int fd,
void * buf,
size_t count);
-ssize_t flow_read(int fd,
+ssize_t flow_read(int fd,
void * buf,
size_t count);