···99#define __DARWIN_PTHREAD_PROCESS_SHARED 1
1010#define __DARWIN_PTHREAD_PROCESS_PRIVATE 2
11111212-struct __darwin_pthread_rwlock_t
1212+struct __darwin_pthread_rwlock_t // 200 bytes on Darwin
1313{
1414 enum { SIGNATURE_MACRO_INITIALIZED = 0x2da8b3b4, SIGNATURE_NATIVE_INITIALIZED = 0x12345678 };
1515 uint32_t signature;
···2121 uint32_t signature;
2222 pthread_mutex_t native; // this will fit on Linux (40 vs 64)
2323};
2424+2525+static_assert(sizeof(pthread_mutex_t) <= 60, "pthread_mutex_t is too big on this platform!");
2626+static_assert(sizeof(pthread_rwlock_t) <= 196, "pthread_rwlock_t is too big on this platform!");
24272528extern "C"
2629{