def CpuSetT : NamedType<"cpu_set_t">; def CpuSetPtr : PtrType; def ConstCpuSetPtr : ConstType; def QSortRCompareT : NamedType<"__qsortrcompare_t">; def StructHsearchData : NamedType<"struct hsearch_data">; def StructHsearchDataPtr : PtrType; def GnuExtensions : StandardSpec<"GNUExtensions"> { NamedType CookieIOFunctionsT = NamedType<"cookie_io_functions_t">; HeaderSpec CType = HeaderSpec< "ctype.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "toascii", RetValSpec, [ArgSpec] >, ] >; HeaderSpec Math = HeaderSpec< "math.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "sincosf", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, ] >; HeaderSpec Sched = HeaderSpec< "sched.h", [], // Macros [PidT, SizeTType, CpuSetT], // Types [], // Enumerations [ FunctionSpec< "sched_getaffinity", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "sched_setaffinity", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, ] >; HeaderSpec String = HeaderSpec< "string.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "memmem", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "memrchr", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strerror_r", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "strcasestr", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "strchrnul", RetValSpec, [ArgSpec, ArgSpec] >, ] >; HeaderSpec Search = HeaderSpec< "search.h", [], // Macros [ StructHsearchData ], [], // Enumerations [ FunctionSpec< "hcreate_r", RetValSpec, [ ArgSpec, ArgSpec ] >, FunctionSpec< "hdestroy_r", RetValSpec, [ ArgSpec ] >, FunctionSpec< "hsearch_r", RetValSpec, [ ArgSpec, ArgSpec, ArgSpec, ArgSpec ] >, ] >; HeaderSpec FEnv = HeaderSpec< "fenv.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "fedisableexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "feenableexcept", RetValSpec, [ArgSpec] >, FunctionSpec< "fegetexcept", RetValSpec, [] > ] >; HeaderSpec StdIO = HeaderSpec< "stdio.h", [], // Macros [CookieIOFunctionsT], // Types [], // Enumerations [ FunctionSpec< "clearerr_unlocked", RetValSpec, [ArgSpec] >, FunctionSpec< "feof_unlocked", RetValSpec, [ArgSpec] >, FunctionSpec< "ferror_unlocked", RetValSpec, [ArgSpec] >, FunctionSpec< "fopencookie", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "fread_unlocked", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "fwrite_unlocked", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, FunctionSpec< "fgetc_unlocked", RetValSpec, [ArgSpec] >, ] >; HeaderSpec StdLib = HeaderSpec< "stdlib.h", [], // Macros [QSortRCompareT], // Types [], // Enumerations [ FunctionSpec< "qsort_r", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, ] >; HeaderSpec PThread = HeaderSpec< "pthread.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "pthread_setname_np", RetValSpec, [ArgSpec, ArgSpec] >, FunctionSpec< "pthread_getname_np", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, ] >; HeaderSpec SysAuxv = HeaderSpec< "sys/auxv.h", [], // Macros [], // Types [], // Enumerations [ //TODO: Add getauxval here ] // Functions >; HeaderSpec SendFile = HeaderSpec< "sys/sendfile.h", [], // Macros [OffTType, SizeTType, SSizeTType,], // Types [], // Enumerations [ FunctionSpec< "sendfile", RetValSpec, [ArgSpec, ArgSpec, ArgSpec, ArgSpec] >, ] >; HeaderSpec UniStd = HeaderSpec< "unistd.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "dup2", RetValSpec, [ArgSpec, ArgSpec, ArgSpec] >, ] >; let Headers = [ CType, FEnv, Math, PThread, Sched, SendFile, SysAuxv, StdIO, StdLib, String, Search, UniStd, ]; }