blob: 95da44ca991d886e57006527a5ce99f0fd6323cf [file] [log] [blame]
#if defined(__cplusplus) && !defined(__clang__)
#define __C11_ATOMIC(t) t
#else
#define __C11_ATOMIC(t) _Atomic(t)
#endif
#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
typedef __UINT8_TYPE__ uint8_t;
#define __DEFINED_uint8_t
#endif
#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
typedef __UINT16_TYPE__ uint16_t;
#define __DEFINED_uint16_t
#endif
#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
typedef __UINT32_TYPE__ uint32_t;
#define __DEFINED_uint32_t
#endif
#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
typedef __UINT64_TYPE__ uint64_t;
#define __DEFINED_uint64_t
#endif
#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
typedef __INT8_TYPE__ int8_t;
#define __DEFINED_int8_t
#endif
#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
typedef __INT16_TYPE__ int16_t;
#define __DEFINED_int16_t
#endif
#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
typedef __INT32_TYPE__ int32_t;
#define __DEFINED_int32_t
#endif
#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
typedef __INT64_TYPE__ int64_t;
#define __DEFINED_int64_t
#endif
#if defined(__NEED_uint_least8_t) && !defined(__DEFINED_uint_least8_t)
typedef __UINT_LEAST8_TYPE__ uint_least8_t;
#define __DEFINED_uint_least8_t
#endif
#if defined(__NEED_uint_least16_t) && !defined(__DEFINED_uint_least16_t)
typedef __UINT_LEAST16_TYPE__ uint_least16_t;
#define __DEFINED_uint_least16_t
#endif
#if defined(__NEED_uint_least32_t) && !defined(__DEFINED_uint_least32_t)
typedef __UINT_LEAST32_TYPE__ uint_least32_t;
#define __DEFINED_uint_least32_t
#endif
#if defined(__NEED_uint_least64_t) && !defined(__DEFINED_uint_least64_t)
typedef __UINT_LEAST64_TYPE__ uint_least64_t;
#define __DEFINED_uint_least64_t
#endif
#if defined(__NEED_int_least8_t) && !defined(__DEFINED_int_least8_t)
typedef __INT_LEAST8_TYPE__ int_least8_t;
#define __DEFINED_int_least8_t
#endif
#if defined(__NEED_int_least16_t) && !defined(__DEFINED_int_least16_t)
typedef __INT_LEAST16_TYPE__ int_least16_t;
#define __DEFINED_int_least16_t
#endif
#if defined(__NEED_int_least32_t) && !defined(__DEFINED_int_least32_t)
typedef __INT_LEAST32_TYPE__ int_least32_t;
#define __DEFINED_int_least32_t
#endif
#if defined(__NEED_int_least64_t) && !defined(__DEFINED_int_least64_t)
typedef __INT_LEAST64_TYPE__ int_least64_t;
#define __DEFINED_int_least64_t
#endif
#if defined(__NEED_uint_fast8_t) && !defined(__DEFINED_uint_fast8_t)
typedef __UINT_FAST8_TYPE__ uint_fast8_t;
#define __DEFINED_uint_fast8_t
#endif
#if defined(__NEED_uint_fast16_t) && !defined(__DEFINED_uint_fast16_t)
typedef __UINT_FAST16_TYPE__ uint_fast16_t;
#define __DEFINED_uint_fast16_t
#endif
#if defined(__NEED_uint_fast32_t) && !defined(__DEFINED_uint_fast32_t)
typedef __UINT_FAST32_TYPE__ uint_fast32_t;
#define __DEFINED_uint_fast32_t
#endif
#if defined(__NEED_uint_fast64_t) && !defined(__DEFINED_uint_fast64_t)
typedef __UINT_FAST64_TYPE__ uint_fast64_t;
#define __DEFINED_uint_fast64_t
#endif
#if defined(__NEED_int_fast8_t) && !defined(__DEFINED_int_fast8_t)
typedef __INT_FAST8_TYPE__ int_fast8_t;
#define __DEFINED_int_fast8_t
#endif
#if defined(__NEED_int_fast16_t) && !defined(__DEFINED_int_fast16_t)
typedef __INT_FAST16_TYPE__ int_fast16_t;
#define __DEFINED_int_fast16_t
#endif
#if defined(__NEED_int_fast32_t) && !defined(__DEFINED_int_fast32_t)
typedef __INT_FAST32_TYPE__ int_fast32_t;
#define __DEFINED_int_fast32_t
#endif
#if defined(__NEED_int_fast64_t) && !defined(__DEFINED_int_fast64_t)
typedef __INT_FAST64_TYPE__ int_fast64_t;
#define __DEFINED_int_fast64_t
#endif
#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
typedef __INTPTR_TYPE__ intptr_t;
#define __DEFINED_intptr_t
#endif
#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
typedef __UINTPTR_TYPE__ uintptr_t;
#define __DEFINED_uintptr_t
#endif
#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
typedef __INTMAX_TYPE__ intmax_t;
#define __DEFINED_intmax_t
#endif
#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
typedef __UINTMAX_TYPE__ uintmax_t;
#define __DEFINED_uintmax_t
#endif
#ifndef __cplusplus
#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
typedef __WCHAR_TYPE__ wchar_t;
#define __DEFINED_wchar_t
#endif
#endif
#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
typedef unsigned wint_t;
#define __DEFINED_wint_t
#endif
#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
typedef unsigned long wctype_t;
#define __DEFINED_wctype_t
#endif
#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
typedef __SIZE_TYPE__ size_t;
#define __DEFINED_size_t
#endif
#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define __DEFINED_ptrdiff_t
#endif
#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
typedef __builtin_va_list va_list;
#define __DEFINED_va_list
#endif
#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
typedef __builtin_va_list __isoc_va_list;
#define __DEFINED___isoc_va_list
#endif
#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
typedef long ssize_t;
#define __DEFINED_ssize_t
#endif
#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
typedef long time_t;
#define __DEFINED_time_t
#endif
#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
typedef struct {
long long __ll;
long double __ld;
} max_align_t;
#define __DEFINED_max_align_t
#endif
#if defined(__x86_64__) && defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 2
#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
typedef long double float_t;
#define __DEFINED_float_t
#endif
#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
typedef long double double_t;
#define __DEFINED_double_t
#endif
#else
#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
typedef float float_t;
#define __DEFINED_float_t
#endif
#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
typedef double double_t;
#define __DEFINED_double_t
#endif
#endif
#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
typedef long suseconds_t;
#define __DEFINED_suseconds_t
#endif
#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
typedef unsigned useconds_t;
#define __DEFINED_useconds_t
#endif
#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
typedef int clockid_t;
#define __DEFINED_clockid_t
#endif
#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
typedef long clock_t;
#define __DEFINED_clock_t
#endif
#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
typedef int pid_t;
#define __DEFINED_pid_t
#endif
#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
typedef unsigned id_t;
#define __DEFINED_id_t
#endif
#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
typedef unsigned uid_t;
#define __DEFINED_uid_t
#endif
#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
typedef unsigned gid_t;
#define __DEFINED_gid_t
#endif
#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
typedef long register_t;
#define __DEFINED_register_t
#endif
#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
typedef unsigned long nlink_t;
#define __DEFINED_nlink_t
#endif
#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
typedef long long off_t;
#define __DEFINED_off_t
#endif
#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
typedef unsigned long long ino_t;
#define __DEFINED_ino_t
#endif
#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
typedef unsigned long long dev_t;
#define __DEFINED_dev_t
#endif
#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
typedef long blksize_t;
#define __DEFINED_blksize_t
#endif
#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
typedef long long blkcnt_t;
#define __DEFINED_blkcnt_t
#endif
#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
typedef unsigned long long fsblkcnt_t;
#define __DEFINED_fsblkcnt_t
#endif
#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
typedef unsigned long long fsfilcnt_t;
#define __DEFINED_fsfilcnt_t
#endif
#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
struct iovec {
void* iov_base;
size_t iov_len;
};
#define __DEFINED_struct_iovec
#endif
#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
#define __DEFINED_struct_timeval
#endif
#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
struct timespec {
time_t tv_sec;
long tv_nsec;
};
#define __DEFINED_struct_timespec
#endif
#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
typedef int key_t;
#define __DEFINED_key_t
#endif
#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
typedef void* timer_t;
#define __DEFINED_timer_t
#endif
#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
typedef long regoff_t;
#define __DEFINED_regoff_t
#endif
#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
typedef unsigned socklen_t;
#define __DEFINED_socklen_t
#endif
#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
typedef unsigned short sa_family_t;
#define __DEFINED_sa_family_t
#endif
#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
typedef struct _IO_FILE FILE;
#define __DEFINED_FILE
#endif
#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
typedef struct __locale_struct* locale_t;
#define __DEFINED_locale_t
#endif
#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
typedef unsigned mode_t;
#define __DEFINED_mode_t
#endif
#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
typedef struct __sigset_t {
unsigned long __bits[128 / sizeof(long)];
} sigset_t;
#define __DEFINED_sigset_t
#endif
#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
typedef __C11_ATOMIC(int) pthread_once_t;
#define __DEFINED_pthread_once_t
#endif
#if defined(__NEED_once_flag) && !defined(__DEFINED_once_flag)
typedef __C11_ATOMIC(int) once_flag;
#define __DEFINED_once_flag
#endif
#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
typedef unsigned pthread_key_t;
#define __DEFINED_pthread_key_t
#endif
#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
typedef __C11_ATOMIC(int) pthread_spinlock_t;
#define __DEFINED_pthread_spinlock_t
#endif
#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
typedef struct {
unsigned __attr;
} pthread_mutexattr_t;
#define __DEFINED_pthread_mutexattr_t
#endif
#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
typedef struct {
unsigned __attr;
} pthread_condattr_t;
#define __DEFINED_pthread_condattr_t
#endif
#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
typedef struct {
unsigned __attr;
} pthread_barrierattr_t;
#define __DEFINED_pthread_barrierattr_t
#endif
#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
typedef struct {
unsigned __attr[2];
} pthread_rwlockattr_t;
#define __DEFINED_pthread_rwlockattr_t
#endif
#ifdef __cplusplus
#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
typedef unsigned long pthread_t;
#define __DEFINED_pthread_t
#endif
#else
#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
typedef struct __pthread* pthread_t;
#define __DEFINED_pthread_t
#endif
#endif
#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
typedef struct __mbstate_t {
unsigned __opaque1, __opaque2;
} mbstate_t;
#define __DEFINED_mbstate_t
#endif
#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
typedef struct {
const char* __name;
int __c11;
size_t _a_stacksize;
size_t _a_guardsize;
void* _a_stackaddr;
int _a_detach;
int _a_sched;
int _a_policy;
int _a_prio;
} pthread_attr_t;
#define __DEFINED_pthread_attr_t
#endif
#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
typedef struct {
unsigned _m_attr;
__C11_ATOMIC(int)
_m_lock;
__C11_ATOMIC(int)
_m_waiters;
int _m_count;
} pthread_mutex_t;
#define __DEFINED_pthread_mutex_t
#endif
#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
typedef struct
#if defined(__clang__)
__attribute__((__capability__("mutex")))
#endif
{
int __i[1];
} mtx_t;
#define __DEFINED_mtx_t
#endif
#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
typedef struct {
void* _c_head;
int _c_clock;
void* _c_tail;
__C11_ATOMIC(int)
_c_lock;
} pthread_cond_t;
#define __DEFINED_pthread_cond_t
#endif
#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
typedef struct {
void* _c_head;
int _c_clock;
void* _c_tail;
__C11_ATOMIC(int) _c_lock;
} cnd_t;
#define __DEFINED_cnd_t
#endif
#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
typedef struct {
__C11_ATOMIC(int)
_rw_lock;
__C11_ATOMIC(int)
_rw_waiters;
} pthread_rwlock_t;
#define __DEFINED_pthread_rwlock_t
#endif
#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
typedef struct {
__C11_ATOMIC(int)
_b_lock;
__C11_ATOMIC(int)
_b_waiters;
unsigned int _b_limit;
__C11_ATOMIC(int)
_b_count;
__C11_ATOMIC(int)
_b_waiters2;
void* _b_inst;
} pthread_barrier_t;
#define __DEFINED_pthread_barrier_t
#endif
#if defined(__NEED_sem_t) && !defined(__DEFINED_sem_t)
typedef struct {
__C11_ATOMIC(int)
_s_value;
__C11_ATOMIC(int)
_s_waiters;
} sem_t;
#define __DEFINED_sem_t
#endif