def StdC : StandardSpec<"stdc"> { NamedType StructTmType = NamedType<"struct tm">; PtrType StructTmPtr = PtrType; PtrType TimeTTypePtr = PtrType; NamedType ClockT = NamedType<"clock_t">; NamedType DivTType = NamedType<"div_t">; NamedType LDivTType = NamedType<"ldiv_t">; NamedType LLDivTType = NamedType<"lldiv_t">; NamedType JmpBuf = NamedType<"jmp_buf">; NamedType TssTType = NamedType<"tss_t">; PtrType TssTPtr = PtrType; NamedType TssDtorTType = NamedType<"tss_dtor_t">; HeaderSpec Assert = HeaderSpec< "assert.h", [ Macro<"static_assert">, Macro<"assert">, ], [], // Types [], // Enumerations [] >; HeaderSpec CType = HeaderSpec< "ctype.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "isalnum", RetValSpec, [ArgSpec] >, FunctionSpec< "isalpha", RetValSpec, [ArgSpec] >, FunctionSpec< "isblank", RetValSpec, [ArgSpec] >, FunctionSpec< "iscntrl", RetValSpec, [ArgSpec] >, FunctionSpec< "isdigit", RetValSpec, [ArgSpec] >, FunctionSpec< "isgraph", RetValSpec, [ArgSpec] >, FunctionSpec< "islower", RetValSpec, [ArgSpec] >, FunctionSpec< "isprint", RetValSpec, [ArgSpec] >, FunctionSpec< "ispunct", RetValSpec, [ArgSpec] >, FunctionSpec< "isspace", RetValSpec, [ArgSpec] >, FunctionSpec< "isupper", RetValSpec, [ArgSpec] >, FunctionSpec< "isxdigit", RetValSpec, [ArgSpec] >, FunctionSpec< "tolower", RetValSpec, [ArgSpec] >, FunctionSpec< "toupper", RetValSpec, [ArgSpec] >, ] >; NamedType FEnvT = NamedType<"fenv_t">; PtrType FEnvTPtr = PtrType; ConstType ConstFEnvTPtr = ConstType; NamedType FExceptT = NamedType<"fexcept_t">; PtrType FExceptTPtr = PtrType; ConstType ConstFExceptTPtr = ConstType; HeaderSpec Fenv = HeaderSpec< "fenv.h", [ Macro<"FE_DIVBYZERO">, Macro<"FE_INEXACT">, Macro<"FE_INVALID">, Macro<"FE_OVERFLOW">, Macro<"FE_UNDERFLOW">, Macro<"FE_ALL_EXCEPT">, Macro<"FE_DOWNWARD">, Macro<"FE_TONEAREST">, Macro<"FE_TOWARDZERO">, Macro<"FE_UPWARD">, Macro<"FE_DFL_ENV"> ], [ NamedType<"fenv_t">, NamedType<"fexcept_t">, ], // Types [], // Enumerations [ FunctionSpec< "feclearexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "fetestexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "feraiseexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "fesetround", RetValSpec, [ArgSpec] >, FunctionSpec< "fegetround", RetValSpec, [] >, FunctionSpec< "fegetenv", RetValSpec, [ArgSpec] >, FunctionSpec< "fesetenv", RetValSpec, [ArgSpec] >, FunctionSpec< "fegetexceptflag", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "fesetexceptflag", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "feholdexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "feupdateenv", RetValSpec, [ArgSpec] >, ] >; HeaderSpec String = HeaderSpec< "string.h", [ Macro<"NULL">, ], [ SizeTType, ], [], // Enumerations [ FunctionSpec< "memcpy", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "memmove", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "memcmp", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "memchr", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "memset", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strcpy", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strncpy", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strcat", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strncat", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strcmp", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strcoll", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strncmp", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strxfrm", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strchr", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strcspn", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strdup", RetValSpec, [ArgSpec] >, FunctionSpec< "strndup", RetValSpec, [ArgSpec,ArgSpec] >, FunctionSpec< "strpbrk", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strrchr", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strspn", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strstr", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strtok", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strerror", RetValSpec, [ArgSpec] >, FunctionSpec< "strlen", RetValSpec, [ArgSpec] >, ] >; HeaderSpec Math = HeaderSpec< "math.h", [ Macro<"MATH_ERRNO">, Macro<"MATH_ERREXCEPT">, Macro<"math_errhandling">, Macro<"HUGE_VAL">, Macro<"INFINITY">, Macro<"NAN">, Macro<"FP_ILOGB0">, Macro<"FP_ILOGBNAN">, Macro<"isfinite">, Macro<"isinf">, Macro<"isnan">, ], [ NamedType<"float_t">, NamedType<"double_t">, ], [], // Enumerations [ FunctionSpec<"copysign", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"copysignf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"copysignl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"copysignf128", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"ceil", RetValSpec, [ArgSpec]>, FunctionSpec<"ceilf", RetValSpec, [ArgSpec]>, FunctionSpec<"ceill", RetValSpec, [ArgSpec]>, FunctionSpec<"fabs", RetValSpec, [ArgSpec]>, FunctionSpec<"fabsf", RetValSpec, [ArgSpec]>, FunctionSpec<"fabsl", RetValSpec, [ArgSpec]>, FunctionSpec<"fabsf128", RetValSpec, [ArgSpec]>, FunctionSpec<"fdim", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fdimf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fdiml", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"floor", RetValSpec, [ArgSpec]>, FunctionSpec<"floorf", RetValSpec, [ArgSpec]>, FunctionSpec<"floorl", RetValSpec, [ArgSpec]>, FunctionSpec<"fmin", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fminf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fminl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fmax", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fmaxf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fmaxl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fma", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"fmaf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"fmod", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"fmodf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"frexp", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"frexpf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"frexpl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"hypot", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"hypotf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"ilogb", RetValSpec, [ArgSpec]>, FunctionSpec<"ilogbf", RetValSpec, [ArgSpec]>, FunctionSpec<"ilogbl", RetValSpec, [ArgSpec]>, FunctionSpec<"ldexp", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"ldexpf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"ldexpl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"log10", RetValSpec, [ArgSpec]>, FunctionSpec<"log10f", RetValSpec, [ArgSpec]>, FunctionSpec<"log1p", RetValSpec, [ArgSpec]>, FunctionSpec<"log1pf", RetValSpec, [ArgSpec]>, FunctionSpec<"log2", RetValSpec, [ArgSpec]>, FunctionSpec<"log2f", RetValSpec, [ArgSpec]>, FunctionSpec<"log", RetValSpec, [ArgSpec]>, FunctionSpec<"logf", RetValSpec, [ArgSpec]>, FunctionSpec<"logb", RetValSpec, [ArgSpec]>, FunctionSpec<"logbf", RetValSpec, [ArgSpec]>, FunctionSpec<"logbl", RetValSpec, [ArgSpec]>, FunctionSpec<"modf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"modff", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"modfl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"cos", RetValSpec, [ArgSpec]>, FunctionSpec<"cosf", RetValSpec, [ArgSpec]>, FunctionSpec<"sin", RetValSpec, [ArgSpec]>, FunctionSpec<"sinf", RetValSpec, [ArgSpec]>, FunctionSpec<"tan", RetValSpec, [ArgSpec]>, FunctionSpec<"tanf", RetValSpec, [ArgSpec]>, FunctionSpec<"erff", RetValSpec, [ArgSpec]>, FunctionSpec<"exp", RetValSpec, [ArgSpec]>, FunctionSpec<"expf", RetValSpec, [ArgSpec]>, FunctionSpec<"exp2", RetValSpec, [ArgSpec]>, FunctionSpec<"exp2f", RetValSpec, [ArgSpec]>, FunctionSpec<"expm1", RetValSpec, [ArgSpec]>, FunctionSpec<"expm1f", RetValSpec, [ArgSpec]>, FunctionSpec<"remainderf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"remainder", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"remainderl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"remquof", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"remquo", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"remquol", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"round", RetValSpec, [ArgSpec]>, FunctionSpec<"roundf", RetValSpec, [ArgSpec]>, FunctionSpec<"roundl", RetValSpec, [ArgSpec]>, FunctionSpec<"lround", RetValSpec, [ArgSpec]>, FunctionSpec<"lroundf", RetValSpec, [ArgSpec]>, FunctionSpec<"lroundl", RetValSpec, [ArgSpec]>, FunctionSpec<"llround", RetValSpec, [ArgSpec]>, FunctionSpec<"llroundf", RetValSpec, [ArgSpec]>, FunctionSpec<"llroundl", RetValSpec, [ArgSpec]>, FunctionSpec<"rint", RetValSpec, [ArgSpec]>, FunctionSpec<"rintf", RetValSpec, [ArgSpec]>, FunctionSpec<"rintl", RetValSpec, [ArgSpec]>, FunctionSpec<"lrint", RetValSpec, [ArgSpec]>, FunctionSpec<"lrintf", RetValSpec, [ArgSpec]>, FunctionSpec<"lrintl", RetValSpec, [ArgSpec]>, FunctionSpec<"llrint", RetValSpec, [ArgSpec]>, FunctionSpec<"llrintf", RetValSpec, [ArgSpec]>, FunctionSpec<"llrintl", RetValSpec, [ArgSpec]>, FunctionSpec<"sqrt", RetValSpec, [ArgSpec]>, FunctionSpec<"sqrtf", RetValSpec, [ArgSpec]>, FunctionSpec<"sqrtl", RetValSpec, [ArgSpec]>, FunctionSpec<"trunc", RetValSpec, [ArgSpec]>, FunctionSpec<"truncf", RetValSpec, [ArgSpec]>, FunctionSpec<"truncl", RetValSpec, [ArgSpec]>, FunctionSpec<"nearbyint", RetValSpec, [ArgSpec]>, FunctionSpec<"nearbyintf", RetValSpec, [ArgSpec]>, FunctionSpec<"nearbyintl", RetValSpec, [ArgSpec]>, FunctionSpec<"nextafterf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nextafter", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nextafterl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nexttowardf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nexttoward", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nexttowardl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"powf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"pow", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"coshf", RetValSpec, [ArgSpec]>, FunctionSpec<"sinhf", RetValSpec, [ArgSpec]>, FunctionSpec<"tanhf", RetValSpec, [ArgSpec]>, FunctionSpec<"acosf", RetValSpec, [ArgSpec]>, FunctionSpec<"asinf", RetValSpec, [ArgSpec]>, FunctionSpec<"asin", RetValSpec, [ArgSpec]>, FunctionSpec<"atanf", RetValSpec, [ArgSpec]>, FunctionSpec<"acoshf", RetValSpec, [ArgSpec]>, FunctionSpec<"asinhf", RetValSpec, [ArgSpec]>, FunctionSpec<"atanhf", RetValSpec, [ArgSpec]>, FunctionSpec<"scalbn", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"scalbnf", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"scalbnl", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"nanf", RetValSpec, [ArgSpec]>, FunctionSpec<"nan", RetValSpec, [ArgSpec]>, FunctionSpec<"nanl", RetValSpec, [ArgSpec]>, ] >; HeaderSpec StdIO = HeaderSpec< "stdio.h", [ Macro<"stdin">, Macro<"stderr">, Macro<"stdout">, Macro<"_IOFBF">, Macro<"_IOLBF">, Macro<"_IONBF">, Macro<"EOF">, ], // Macros [ // Types SizeTType, FILE, ], [], // Enumerations [ FunctionSpec< "clearerr", RetValSpec, [ArgSpec] >, FunctionSpec< "fclose", RetValSpec, [ArgSpec] >, FunctionSpec< "feof", RetValSpec, [ArgSpec] >, FunctionSpec< "ferror", RetValSpec, [ArgSpec] >, FunctionSpec< "fgetc", RetValSpec, [ArgSpec] >, FunctionSpec< "fgets", RetValSpec, [ ArgSpec, ArgSpec, ArgSpec, ] >, FunctionSpec< "fflush", RetValSpec, [ArgSpec] >, FunctionSpec< "fopen", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "fputc", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "ftell", RetValSpec, [ArgSpec] >, FunctionSpec< "getc", RetValSpec, [ArgSpec] >, FunctionSpec< "getchar", RetValSpec, [ArgSpec] >, FunctionSpec< "putc", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "putchar", RetValSpec, [ArgSpec] >, FunctionSpec< "fputs", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "puts", RetValSpec, [ArgSpec] >, FunctionSpec< "fread", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "fseek", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "fwrite", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "remove", RetValSpec, [ArgSpec] >, FunctionSpec< "setbuf", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "setvbuf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "sscanf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "scanf", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "fscanf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "sprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "snprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "printf", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "fprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "vsprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "vsnprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "vprintf", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "vfprintf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "ungetc", RetValSpec, [ArgSpec, ArgSpec] >, ], [ ObjectSpec< "stdin", "FILE *" >, ObjectSpec< "stdout", "FILE *" >, ObjectSpec< "stderr", "FILE *" >, ] >; HeaderSpec StdLib = HeaderSpec< "stdlib.h", [], // Macros [ DivTType, LDivTType, LLDivTType, SizeTType, BSearchCompareT, QSortCompareT, AtexitHandlerT, ], // Types [], // Enumerations [ FunctionSpec<"abort", RetValSpec, [ArgSpec]>, FunctionSpec<"bsearch", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"abs", RetValSpec, [ArgSpec]>, FunctionSpec<"labs", RetValSpec, [ArgSpec]>, FunctionSpec<"llabs", RetValSpec, [ArgSpec]>, FunctionSpec<"atof", RetValSpec, [ArgSpec]>, FunctionSpec<"atoi", RetValSpec, [ArgSpec]>, FunctionSpec<"atol", RetValSpec, [ArgSpec]>, FunctionSpec<"atoll", RetValSpec, [ArgSpec]>, FunctionSpec<"div", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"ldiv", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"lldiv", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"qsort", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"rand", RetValSpec, [ArgSpec]>, FunctionSpec<"srand", RetValSpec, [ArgSpec]>, FunctionSpec<"strtof", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"strtod", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"strtold", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"strtol", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"strtoll", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"strtoul", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"strtoull", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"malloc", RetValSpec, [ArgSpec]>, FunctionSpec<"calloc", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"realloc", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"aligned_alloc", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"free", RetValSpec, [ArgSpec]>, FunctionSpec<"_Exit", RetValSpec, [ArgSpec]>, FunctionSpec<"exit", RetValSpec, [ArgSpec]>, FunctionSpec<"atexit", RetValSpec, [ArgSpec]>, ] >; NamedType IMaxDivTType = NamedType<"imaxdiv_t">; HeaderSpec IntTypes = HeaderSpec< "inttypes.h", [], // Macros [ IMaxDivTType, ], // Types [], // Enumerations [ FunctionSpec<"imaxabs", RetValSpec, [ArgSpec]>, FunctionSpec<"imaxdiv", RetValSpec, [ArgSpec, ArgSpec]>, FunctionSpec<"strtoimax", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, FunctionSpec<"strtoumax", RetValSpec, [ArgSpec, ArgSpec, ArgSpec]>, ] >; HeaderSpec Errno = HeaderSpec< "errno.h", [ Macro<"errno">, Macro<"EDOM">, Macro<"EILSEQ">, Macro<"ERANGE">, ] >; HeaderSpec Float = HeaderSpec< "float.h", [ Macro<"FLT_MANT_DIG">, Macro<"DBL_MANT_DIG">, Macro<"LDBL_MANT_DIG">, ] >; NamedType SigAtomicT = NamedType<"sig_atomic_t">; HeaderSpec Signal = HeaderSpec< "signal.h", [ Macro<"SIG_BLOCK">, Macro<"SIG_UNBLOCK">, Macro<"SIG_SETMASK">, Macro<"SIGABRT">, Macro<"SIGFPE">, Macro<"SIGILL">, Macro<"SIGINT">, Macro<"SIGSEGV">, Macro<"SIGTERM"> ], [ SizeTType, SigAtomicT, SigHandlerT, ], [], // Enumerations [ FunctionSpec<"raise", RetValSpec, [ArgSpec]>, FunctionSpec< "signal", RetValSpec, [ArgSpec, ArgSpec] >, ] >; HeaderSpec Threads = HeaderSpec< "threads.h", [ Macro<"ONCE_FLAG_INIT">, ], [ OnceFlagType, CallOnceFuncType, CndTType, MtxTType, ThrdStartTType, ThrdTType, TssTType, TssDtorTType, ], [ EnumeratedNameValue<"mtx_plain">, EnumeratedNameValue<"mtx_recursive">, EnumeratedNameValue<"mtx_timed">, EnumeratedNameValue<"thrd_timedout">, EnumeratedNameValue<"thrd_success">, EnumeratedNameValue<"thrd_busy">, EnumeratedNameValue<"thrd_error">, EnumeratedNameValue<"thrd_nomem">, ], [ FunctionSpec< "call_once", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "cnd_broadcast", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "cnd_destroy", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "cnd_init", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "cnd_signal", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "cnd_wait", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "mtx_init", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "mtx_destroy", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "mtx_lock", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "mtx_unlock", RetValSpec, [ ArgSpec, ] >, FunctionSpec< "thrd_create", RetValSpec, [ ArgSpec, ArgSpec, ArgSpec, ] >, FunctionSpec< "thrd_join", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "thrd_detach", RetValSpec, [ArgSpec] >, FunctionSpec< "thrd_current", RetValSpec, [ArgSpec] >, FunctionSpec< "thrd_equal", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "thrd_exit", RetValSpec, [ArgSpec] >, FunctionSpec< "tss_create", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "tss_delete", RetValSpec, [ArgSpec] >, FunctionSpec< "tss_get", RetValSpec, [ArgSpec] >, FunctionSpec< "tss_set", RetValSpec, [ArgSpec, ArgSpec] >, ] >; HeaderSpec Time = HeaderSpec< "time.h", [], // Macros [ // Types ClockT, StructTmType, TimeTType, ], [], // Enumerations [ FunctionSpec< "asctime", RetValSpec, [ArgSpec] >, FunctionSpec< "asctime_r", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "clock", RetValSpec, [ArgSpec] >, FunctionSpec< "difftime", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "gmtime", RetValSpec, [ArgSpec] >, FunctionSpec< "gmtime_r", RetValSpec, [ ArgSpec, ArgSpec, ] >, FunctionSpec< "mktime", RetValSpec, [ArgSpec] >, FunctionSpec< "time", RetValSpec, [ArgSpec] >, ] >; HeaderSpec SetJmp = HeaderSpec< "setjmp.h", [], // Macros [JmpBuf], [], // Enumerations [ FunctionSpec< "longjmp", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "setjmp", RetValSpec, [ArgSpec] >, FunctionSpec< "longjmp", RetValSpec, [ArgSpec, ArgSpec] >, ] >; HeaderSpec WChar = HeaderSpec< "wchar.h", [ // Macros Macro<"WEOF">, ], [ //Types SizeTType, WIntType, WCharType, ], [], // Enumerations [ FunctionSpec< "wctob", RetValSpec, [ArgSpec] >, ] >; let Headers = [ Assert, CType, Errno, Fenv, Float, Math, String, StdIO, StdLib, IntTypes, SetJmp, Signal, Threads, Time, WChar, ]; }