+#ifndef _PTHREAD_ATTR_T
+#define _PTHREAD_ATTR_T
+typedef __darwin_pthread_attr_t pthread_attr_t;
+#endif
+
+#ifndef _PTHREAD_COND_T
+#define _PTHREAD_COND_T
+typedef __darwin_pthread_cond_t pthread_cond_t;
+#endif
+
+#ifndef _PTHREAD_CONDATTR_T
+#define _PTHREAD_CONDATTR_T
+typedef __darwin_pthread_condattr_t pthread_condattr_t;
+#endif
+
+#ifndef _PTHREAD_KEY_T
+#define _PTHREAD_KEY_T
+typedef __darwin_pthread_key_t pthread_key_t;
+#endif
+
+#ifndef _PTHREAD_MUTEX_T
+#define _PTHREAD_MUTEX_T
+typedef __darwin_pthread_mutex_t pthread_mutex_t;
+#endif
+
+#ifndef _PTHREAD_MUTEXATTR_T
+#define _PTHREAD_MUTEXATTR_T
+typedef __darwin_pthread_mutexattr_t pthread_mutexattr_t;
+#endif
+
+#ifndef _PTHREAD_ONCE_T
+#define _PTHREAD_ONCE_T
+typedef __darwin_pthread_once_t pthread_once_t;
+#endif
+
+#ifndef _PTHREAD_RWLOCK_T
+#define _PTHREAD_RWLOCK_T
+typedef __darwin_pthread_rwlock_t pthread_rwlock_t;
+#endif
+
+#ifndef _PTHREAD_RWLOCKATTR_T
+#define _PTHREAD_RWLOCKATTR_T
+typedef __darwin_pthread_rwlockattr_t pthread_rwlockattr_t;
+#endif
+
+#ifndef _PTHREAD_T
+#define _PTHREAD_T
+typedef __darwin_pthread_t pthread_t;
+#endif
+
+#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
+
+#ifndef _MACH_PORT_T
+#define _MACH_PORT_T
+typedef __darwin_mach_port_t mach_port_t;
+#endif
+
+#ifndef _SIGSET_T
+#define _SIGSET_T
+typedef __darwin_sigset_t sigset_t;
+#endif
+
+#endif /* ! _POSIX_C_SOURCE && ! _XOPEN_SOURCE */