summaryrefslogtreecommitdiff
path: root/src/rpc/skabus-rpccctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/skabus-rpccctl.h')
-rw-r--r--src/rpc/skabus-rpccctl.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/rpc/skabus-rpccctl.h b/src/rpc/skabus-rpccctl.h
new file mode 100644
index 0000000..fe5b620
--- /dev/null
+++ b/src/rpc/skabus-rpccctl.h
@@ -0,0 +1,36 @@
+/* ISC license. */
+
+#ifndef SKABUS_RPCCCTL_H
+#define SKABUS_RPCCCTL_H
+
+#include <stdint.h>
+#include <skalibs/tai.h>
+#include <skalibs/stralloc.h>
+#include <skalibs/textmessage.h>
+
+typedef struct skabus_rpcc_s skabus_rpcc_t, *skabus_rpcc_t_ref ;
+struct skabus_rpcc_s
+{
+ textmessage_sender_t out ;
+ textmessage_receiver_t in ;
+} ;
+#define SKABUS_RPCC_ZERO { .in = TEXTMESSAGE_RECEIVER_ZERO, .out = TEXTMESSAGE_SENDER_ZERO }
+
+extern int skabus_rpcc_start (skabus_rpcc_t *, char const *, tain_t const *, tain_t *) ;
+#define skabus_rpcc_start_g(a, name, deadline) skabus_rpcc_start(a, name, (deadline), &STAMP)
+
+extern void skabus_rpcc_end (skabus_rpcc_t *) ;
+
+extern int skabus_rpcc_interface_register (skabus_rpcc_t *, char const *, char const *, char const *, tain_t const *, tain_t *) ;
+#define skabus_rpcc_interface_register_g(a, ifname, ifprog, re, deadline) skabus_rpcc_interface_register(a, ifname, ifprog, re, (deadline), &STAMP)
+
+extern int skabus_rpcc_interface_unregister (skabus_rpcc_t *, char const *, tain_t const *, tain_t *) ;
+#define skabus_rpcc_interface_unregister_g(a, ifname, deadline) skabus_rpcc_interface_unregister(a, ifname, (deadline), &STAMP)
+
+extern int skabus_rpcc_query (skabus_rpcc_t *, stralloc *, char const *, char const *, uint32_t, tain_t const *, tain_t *) ;
+#define skabus_rpcc_query_g(a, reply, ifname, query, timeout, deadline) skabus_rpcc_query(a, reply, ifname, query, timeout, (deadline), &STAMP)
+
+extern int skabus_rpcc_quit (skabus_rpcc_t *, tain_t const *, tain_t *) ;
+#define skabus_rpcc_quit_g(a, deadline) skabus_rpcc_quit(a, (deadline), &STAMP)
+
+#endif