change the namespace of mutex from std to cdsc
[c11tester.git] / include / pthread.h
index 32f4e1b1d824e7b5f8476977ec9975224b36251f..8e0a6908063c35c4025002a6fe63f503fbe5d132 100644 (file)
 #include <bits/pthreadtypes.h>
 #include <pthread.h>
 
+/* Mutex types.  */
+enum
+{
+  PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ADAPTIVE_NP
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+  ,
+  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
+#endif
+#ifdef __USE_GNU
+  /* For compatibility.  */ 
+  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
+#endif
+};
+
 typedef void *(*pthread_start_t)(void *);
 
 struct pthread_params {
@@ -38,6 +58,8 @@ int pthread_cond_timedwait(pthread_cond_t *p_cond,
     pthread_mutex_t *p_mutex, const struct timespec *abstime);
 int pthread_cond_signal(pthread_cond_t *);
 
+void pthread_cleanup_push(void (*routine)(void*), void *arg );
+
 int user_main(int, char**);
 
 // --- not implemented yet ---