aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-10-22 18:48:33 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-10-22 18:48:33 +0000
commit0ee1464bd20df97b45e20d7da031a206853dabaf (patch)
tree3f988ba598a70e450c3a3215b0c6de336b4ea5c7 /src/include
parentb41f7406424e0b3f2d069e2c9c9f3e925c42c67e (diff)
downloadskalibs-0ee1464bd20df97b45e20d7da031a206853dabaf.tar.gz
Add libplaynice with keventbridge.h
Diffstat (limited to 'src/include')
-rw-r--r--src/include/skalibs/keventbridge.h30
-rw-r--r--src/include/skalibs/playnice.h8
-rw-r--r--src/include/skalibs/skalibs.h1
-rw-r--r--src/include/skalibs/stddjb.h4
4 files changed, 41 insertions, 2 deletions
diff --git a/src/include/skalibs/keventbridge.h b/src/include/skalibs/keventbridge.h
new file mode 100644
index 0000000..8389db0
--- /dev/null
+++ b/src/include/skalibs/keventbridge.h
@@ -0,0 +1,30 @@
+/* ISC license. */
+
+#ifndef SKALIBS_KEVENTBRIDGE_H
+#define SKALIBS_KEVENTBRIDGE_H
+
+#include <skalibs/sysdeps.h>
+
+#ifdef SKALIBS_HASKEVENT
+
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/time.h>
+#include <pthread.h>
+
+typedef struct keventbridge_s keventbridge, *keventbridge_ref ;
+struct keventbridge_s
+{
+ pthread_t th ;
+ int kq ;
+ int p[2] ;
+} ;
+#define KEVENTBRIDGE_ZERO { .th = PTHREAD_NULL, .kq = -1, .p = { -1, -1 } }
+
+extern int keventbridge_start (keventbridge *) ;
+#define keventbridge_write (kb, ke, n) kevent((kb)->kq, ke, (n), 0, 0, 0)
+extern int keventbridge_read (keventbridge const *, struct kevent *) ;
+extern void keventbridge_end (keventbridge *) ;
+
+#endif
+#endif
diff --git a/src/include/skalibs/playnice.h b/src/include/skalibs/playnice.h
new file mode 100644
index 0000000..e820d65
--- /dev/null
+++ b/src/include/skalibs/playnice.h
@@ -0,0 +1,8 @@
+/* ISC license. */
+
+#ifndef SKALIBS_PLAYNICE_H
+#define SKALIBS_PLAYNICE_H
+
+#include <skalibs/keventbridge.h>
+
+#endif
diff --git a/src/include/skalibs/skalibs.h b/src/include/skalibs/skalibs.h
index 2c55ef2..71ce9a2 100644
--- a/src/include/skalibs/skalibs.h
+++ b/src/include/skalibs/skalibs.h
@@ -21,5 +21,6 @@
#include <skalibs/random.h>
#include <skalibs/datastruct.h>
#include <skalibs/unixonacid.h>
+#include <skalibs/playnice.h>
#endif
diff --git a/src/include/skalibs/stddjb.h b/src/include/skalibs/stddjb.h
index d57a3df..edb5d58 100644
--- a/src/include/skalibs/stddjb.h
+++ b/src/include/skalibs/stddjb.h
@@ -1,7 +1,7 @@
/* ISC license. */
-#ifndef STDDJB_H
-#define STDDJB_H
+#ifndef SKALIBS_STDDJB_H
+#define SKALIBS_STDDJB_H
#include <skalibs/uint16.h>
#include <skalibs/uint32.h>