summaryrefslogtreecommitdiff
path: root/src/libunixonacid/skaclient_start_cb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libunixonacid/skaclient_start_cb.c')
-rw-r--r--src/libunixonacid/skaclient_start_cb.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libunixonacid/skaclient_start_cb.c b/src/libunixonacid/skaclient_start_cb.c
new file mode 100644
index 0000000..6e641e2
--- /dev/null
+++ b/src/libunixonacid/skaclient_start_cb.c
@@ -0,0 +1,18 @@
+/* ISC license. */
+
+#include <errno.h>
+#include <skalibs/bytestr.h>
+#include <skalibs/error.h>
+#include <skalibs/skaclient.h>
+#include <skalibs/unixmessage.h>
+#include "skaclient-internal.h"
+
+int skaclient_start_cb (unixmessage_t const *m, skaclient_cbdata_t *blah)
+{
+ if (m->len != blah->afterlen
+ || byte_diff(m->s, m->len, blah->after)
+ || m->nfds != 1) return (errno = EPROTO, 0) ;
+ blah->asyncin->mainb.fd = m->fds[0] ;
+ blah->asyncout->fd = m->fds[0] ;
+ return 1 ;
+}