#ifndef _LIBC_SYS_CDEFS_H_
#define _LIBC_SYS_CDEFS_H_
#include_next <sys/cdefs.h>
#ifndef _LIBC_NO_FEATURE_VERIFICATION
#if defined(__arm__)
# include <arm/libc-features.h>
#elif defined(__i386__)
# include <i386/libc-features.h>
#elif defined(__ppc__)
# include <ppc/libc-features.h>
#elif defined(__ppc64__)
# include <ppc64/libc-features.h>
#elif defined(__x86_64__)
# include <x86_64/libc-features.h>
#else
# error "Unknown architecture."
#endif
#endif
#if defined(VARIANT_LEGACY)
# define LIBC_SUF_UNIX03
# define LIBC_SUF_64_BIT_INO_T
# define LIBC_SUF_NON_CANCELABLE
# define LIBC_SUF_1050
#else
# if __DARWIN_ONLY_UNIX_CONFORMANCE
# define LIBC_SUF_UNIX03
# else
# define LIBC_SUF_UNIX03 "$UNIX2003"
# endif
# if defined(VARIANT_INODE32)
# define LIBC_SUF_64_BIT_INO_T
# else
# if __DARWIN_ONLY_64_BIT_INO_T
# define LIBC_SUF_64_BIT_INO_T
# else
# define LIBC_SUF_64_BIT_INO_T "$INODE64"
# endif
# endif
# if defined(VARIANT_CANCELABLE)
# define LIBC_SUF_NON_CANCELABLE
# else
# define LIBC_SUF_NON_CANCELABLE "$NOCANCEL"
# endif
# if defined(VARIANT_PRE1050)
# define LIBC_SUF_1050
# else
# if __DARWIN_ONLY_VERS_1050
# define LIBC_SUF_1050
# else
# define LIBC_SUF_1050 "$1050"
# endif
# endif
#endif
#define LIBC_SUF_EXTSN "$DARWIN_EXTSN"
#define LIBC_ALIAS(sym) __asm("_" __STRING(sym) LIBC_SUF_UNIX03)
#define LIBC_ALIAS_C(sym) __asm("_" __STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
#define LIBC_ALIAS_I(sym) __asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
#define LIBC_INODE64(sym) __asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T)
#define LIBC_1050(sym) __asm("_" __STRING(sym) LIBC_SUF_1050)
#define LIBC_1050ALIAS(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_UNIX03)
#define LIBC_1050ALIAS_C(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
#define LIBC_1050ALIAS_I(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
#define LIBC_1050INODE64(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T)
#define LIBC_EXTSN(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN)
#define LIBC_EXTSN_C(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE)
extern int __pthread_tsd_first;
extern int pthread_key_init_np(int, void (*)(void *));
#define __LIBC_PTHREAD_KEY(x) (__pthread_tsd_first + (x))
#define __LIBC_PTHREAD_KEY_XLOCALE __LIBC_PTHREAD_KEY(0)
#define __LIBC_PTHREAD_KEY_TTYNAME __LIBC_PTHREAD_KEY(1)
#define __LIBC_PTHREAD_KEY_LOCALTIME __LIBC_PTHREAD_KEY(2)
#define __LIBC_PTHREAD_KEY_GMTIME __LIBC_PTHREAD_KEY(3)
#define __LIBC_PTHREAD_KEY_GDTOA_BIGINT __LIBC_PTHREAD_KEY(4)
#define __LIBC_PTHREAD_KEY_PARSEFLOAT __LIBC_PTHREAD_KEY(5)
#endif