summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2016-03-28 16:35:40 +0200
committerSander Vrijders <sander.vrijders@intec.ugent.be>2016-03-28 16:35:40 +0200
commitc45be0dcbd123881cc33ce61571578dcb22c3b54 (patch)
tree58c7c12665dc4e11d010fa89bfe11de239053fd2 /include
parentb144406dbb9cbdf83354590746097a93d6e88bc4 (diff)
downloadouroboros-c45be0dcbd123881cc33ce61571578dcb22c3b54.tar.gz
ouroboros-c45be0dcbd123881cc33ce61571578dcb22c3b54.zip
lib: Add ipcp_messages proto file
This removes the custom ser/des methods for communicating with the IPCP daemon and also uses GPB instead.
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/ipcp.h20
-rw-r--r--include/ouroboros/sockets.h34
2 files changed, 18 insertions, 36 deletions
diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h
index b8775fc0..cd4a3f51 100644
--- a/include/ouroboros/ipcp.h
+++ b/include/ouroboros/ipcp.h
@@ -32,21 +32,21 @@ struct ipcp;
/* Returns the process id */
pid_t ipcp_create(rina_name_t name,
- char * ipcp_type);
+ char * ipcp_type);
int ipcp_destroy(pid_t pid);
-int ipcp_reg(pid_t pid,
+int ipcp_reg(pid_t pid,
char ** difs,
- size_t difs_size);
-int ipcp_unreg(pid_t pid,
+ size_t difs_size);
+int ipcp_unreg(pid_t pid,
char ** difs,
- size_t difs_size);
+ size_t difs_size);
-int ipcp_bootstrap(pid_t pid,
- struct dif_config conf);
-int ipcp_enroll(pid_t pid,
- char * dif_name,
- char * member_name,
+int ipcp_bootstrap(pid_t pid,
+ struct dif_config * conf);
+int ipcp_enroll(pid_t pid,
+ char * dif_name,
+ char * member_name,
char ** n_1_difs,
ssize_t n_1_difs_size);
diff --git a/include/ouroboros/sockets.h b/include/ouroboros/sockets.h
index 0974ada0..bb8e6d84 100644
--- a/include/ouroboros/sockets.h
+++ b/include/ouroboros/sockets.h
@@ -31,40 +31,22 @@
#include "irmd_messages.pb-c.h"
typedef IrmMsg irm_msg_t;
+#include "ipcpd_messages.pb-c.h"
+typedef IpcpMsg ipcp_msg_t;
+
#define IRM_SOCK_PATH "/tmp/irm_sock"
#define IRM_MSG_BUF_SIZE 256
#define IPCP_SOCK_PATH_PREFIX "/tmp/ipcp_sock"
#define IPCP_MSG_BUFS_SIZE IRM_MSG_BUF_SIZE
-enum ipcp_msg_code {
- IPCP_BOOTSTRAP,
- IPCP_ENROLL,
- IPCP_REG,
- IPCP_UNREG
-};
-
-struct ipcp_msg {
- enum ipcp_msg_code code;
- struct dif_config * conf;
- char * dif_name;
- char * ap_name;
- char ** difs;
- size_t difs_size;
-};
-
/* Returns the full socket path of an IPCP */
-char * ipcp_sock_path(pid_t pid);
-
-int server_socket_open(char * file_name);
-int client_socket_open(char * file_name);
+char * ipcp_sock_path(pid_t pid);
-int send_irm_msg(irm_msg_t * msg);
-irm_msg_t * send_recv_irm_msg(irm_msg_t * msg);
+int server_socket_open(char * file_name);
+int client_socket_open(char * file_name);
-/* Caller has to free the buffer */
-buffer_t * serialize_ipcp_msg(struct ipcp_msg * msg);
-/* Caller has to free all the allocated fields in the message */
-struct ipcp_msg * deserialize_ipcp_msg(buffer_t * data);
+int send_irm_msg(irm_msg_t * msg);
+irm_msg_t * send_recv_irm_msg(irm_msg_t * msg);
#endif