summaryrefslogtreecommitdiff
path: root/include/ouroboros/sockets.h.in
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2018-05-03 12:10:02 +0200
committerDimitri Staessens <dimitri.staessens@ugent.be>2018-05-03 12:26:48 +0200
commit12968ba98642bd7057e8e7f41e184ab2d61671ed (patch)
tree8f3e3706bc8038f795d6f5b758b46126787dde9f /include/ouroboros/sockets.h.in
parent711777a4c7665db2d7ec8d05105eee29054c8562 (diff)
downloadouroboros-12968ba98642bd7057e8e7f41e184ab2d61671ed.tar.gz
ouroboros-12968ba98642bd7057e8e7f41e184ab2d61671ed.zip
lib: Make UNIX socket buffer size configurable0.11.3
This makes the buffer size used by the UNIX sockets configurable. In case of a lot of IPCPs in the system it might become too small with the default value, resulting in irm command failures. The user can now easily configure it with an adequate value. Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be> Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
Diffstat (limited to 'include/ouroboros/sockets.h.in')
-rw-r--r--include/ouroboros/sockets.h.in56
1 files changed, 56 insertions, 0 deletions
diff --git a/include/ouroboros/sockets.h.in b/include/ouroboros/sockets.h.in
new file mode 100644
index 00000000..4557a9ef
--- /dev/null
+++ b/include/ouroboros/sockets.h.in
@@ -0,0 +1,56 @@
+/*
+ * Ouroboros - Copyright (C) 2016 - 2018
+ *
+ * The sockets layer to communicate between daemons
+ *
+ * Dimitri Staessens <dimitri.staessens@ugent.be>
+ * Sander Vrijders <sander.vrijders@ugent.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., http://www.fsf.org/about/contact/.
+ */
+
+#ifndef OUROBOROS_SOCKETS_H
+#define OUROBOROS_SOCKETS_H
+
+#include <sys/types.h>
+
+#include "ipcp_config.pb-c.h"
+typedef IpcpConfigMsg ipcp_config_msg_t;
+typedef LayerInfoMsg layer_info_msg_t;
+
+#include "irmd_messages.pb-c.h"
+typedef IrmMsg irm_msg_t;
+typedef IpcpInfoMsg ipcp_info_msg_t;
+
+#include "ipcpd_messages.pb-c.h"
+typedef IpcpMsg ipcp_msg_t;
+
+#define SOCK_PATH "/var/run/ouroboros/"
+#define SOCK_PATH_SUFFIX ".sock"
+
+#define IRM_SOCK_PATH SOCK_PATH "irm" SOCK_PATH_SUFFIX
+#define IPCP_SOCK_PATH_PREFIX SOCK_PATH "ipcp"
+
+#define SOCK_BUF_SIZE @SOCK_BUF_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);
+
+irm_msg_t * send_recv_irm_msg(irm_msg_t * msg);
+
+#endif