zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
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;
+};