diff --git a/ap/build/uClibc/librt/kernel-posix-timers.h b/ap/build/uClibc/librt/kernel-posix-timers.h
new file mode 100644
index 0000000..f8bfdc2
--- /dev/null
+++ b/ap/build/uClibc/librt/kernel-posix-timers.h
@@ -0,0 +1,58 @@
+/*
+ * kernel-posix-timers.h - kernel-dependent definitions for POSIX timers.
+ */
+
+#include <features.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <sys/types.h>
+#ifdef __UCLIBC_HAS_THREADS__
+#include <pthread.h>
+#endif
+
+#ifdef __UCLIBC_HAS_THREADS_NATIVE__
+/* Nonzero if the system calls are not available.  */
+extern int __no_posix_timers attribute_hidden;
+
+/* Callback to start helper thread.  */
+extern void __start_helper_thread (void) attribute_hidden;
+
+/* Control variable for helper thread creation.  */
+extern pthread_once_t __helper_once attribute_hidden;
+
+/* TID of the helper thread.  */
+extern pid_t __helper_tid attribute_hidden;
+
+/* List of active SIGEV_THREAD timers.  */
+extern struct timer *__active_timer_sigev_thread attribute_hidden;
+/* Lock for the __active_timer_sigev_thread.  */
+extern pthread_mutex_t __active_timer_sigev_thread_lock attribute_hidden;
+#endif
+
+/* 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;
+#ifdef __UCLIBC_HAS_THREADS__
+    pthread_attr_t attr;
+#endif
+
+    /* Next element in list of active SIGEV_THREAD timers. */
+    struct timer *next;
+};
