summaryrefslogtreecommitdiff
path: root/librt/kernel-posix-timers.h
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2005-01-11 09:41:40 +0000
committerEric Andersen <andersen@codepoet.org>2005-01-11 09:41:40 +0000
commit50a6ac7fb90ad4008b354ff8e72c6ce511dbeb3a (patch)
treebbfa2262a83889c6aeed9e9017df8517536e3b4a /librt/kernel-posix-timers.h
parent45a95a466117aee2cd60f97be8310b6a04197244 (diff)
Patch from Paul Mundt (lethal) adding an initial librt implementation.
I then reworked the syscall handling and made minor cleanups. With luck I've not completely broken his patch...
Diffstat (limited to 'librt/kernel-posix-timers.h')
-rw-r--r--librt/kernel-posix-timers.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/librt/kernel-posix-timers.h b/librt/kernel-posix-timers.h
new file mode 100644
index 000000000..9a538c715
--- /dev/null
+++ b/librt/kernel-posix-timers.h
@@ -0,0 +1,30 @@
+/*
+ * kernel-posix-timers.h - kernel-dependent definitions for POSIX timers.
+ */
+
+#include <setjmp.h>
+#include <signal.h>
+#include <sys/types.h>
+
+/* Type of timers in the kernel */
+typedef int kernel_timer_t;
+
+/* Internal representation of timer */
+struct timer {
+ /* Notification mechanism */
+ int sigev_notify;
+
+ /* Timer ID returned by the kernel */
+ kernel_timer_t ktimerid;
+
+ /*
+ * All new elements must be added after ktimerid. And if the thrfunc
+ * element is not the third element anymore the memory allocation in
+ * timer_create needs to be changed.
+ */
+
+ /* Parameters for the thread to be started for SIGEV_THREAD */
+ void (*thrfunc) (sigval_t);
+ sigval_t sival;
+ pthread_attr_t attr;
+};