1def GnuExtensions : StandardSpec<"GNUExtensions"> { 2 NamedType CookieIOFunctionsT = NamedType<"cookie_io_functions_t">; 3 HeaderSpec CType = HeaderSpec< 4 "ctype.h", 5 [], // Macros 6 [], // Types 7 [], // Enumerations 8 [ 9 FunctionSpec< 10 "toascii", 11 RetValSpec<IntType>, 12 [ArgSpec<IntType>] 13 >, 14 ] 15 >; 16 17 HeaderSpec Math = HeaderSpec< 18 "math.h", 19 [], // Macros 20 [], // Types 21 [], // Enumerations 22 [ 23 FunctionSpec< 24 "sincosf", 25 RetValSpec<VoidType>, 26 [ArgSpec<FloatType>, ArgSpec<FloatPtr>, ArgSpec<FloatPtr>] 27 >, 28 ] 29 >; 30 31 HeaderSpec String = HeaderSpec< 32 "string.h", 33 [], // Macros 34 [], // Types 35 [], // Enumerations 36 [ 37 FunctionSpec< 38 "memrchr", 39 RetValSpec<VoidPtr>, 40 [ArgSpec<VoidPtr>, ArgSpec<IntType>, ArgSpec<SizeTType>] 41 >, 42 ] 43 >; 44 45 HeaderSpec FEnv = HeaderSpec< 46 "fenv.h", 47 [], // Macros 48 [], // Types 49 [], // Enumerations 50 [ 51 FunctionSpec< 52 "fedisableexcept", 53 RetValSpec<IntType>, 54 [ArgSpec<IntType>] 55 >, 56 FunctionSpec< 57 "feenableexcept", 58 RetValSpec<IntType>, 59 [ArgSpec<IntType>] 60 >, 61 FunctionSpec< 62 "fegetexcept", 63 RetValSpec<IntType>, 64 [] 65 > 66 ] 67 >; 68 69 HeaderSpec StdIO = HeaderSpec< 70 "stdio.h", 71 [], // Macros 72 [CookieIOFunctionsT], // Types 73 [], // Enumerations 74 [ 75 FunctionSpec< 76 "clearerr_unlocked", 77 RetValSpec<VoidType>, 78 [ArgSpec<FILEPtr>] 79 >, 80 FunctionSpec< 81 "feof_unlocked", 82 RetValSpec<IntType>, 83 [ArgSpec<FILEPtr>] 84 >, 85 FunctionSpec< 86 "ferror_unlocked", 87 RetValSpec<IntType>, 88 [ArgSpec<FILEPtr>] 89 >, 90 FunctionSpec< 91 "fopencookie", 92 RetValSpec<FILEPtr>, 93 [ArgSpec<VoidPtr>, ArgSpec<ConstCharPtr>, ArgSpec<CookieIOFunctionsT>] 94 >, 95 FunctionSpec< 96 "fread_unlocked", 97 RetValSpec<SizeTType>, 98 [ArgSpec<VoidRestrictedPtr>, 99 ArgSpec<SizeTType>, 100 ArgSpec<SizeTType>, 101 ArgSpec<FILERestrictedPtr>] 102 >, 103 FunctionSpec< 104 "fwrite_unlocked", 105 RetValSpec<SizeTType>, 106 [ArgSpec<ConstVoidRestrictedPtr>, 107 ArgSpec<SizeTType>, 108 ArgSpec<SizeTType>, 109 ArgSpec<FILERestrictedPtr>] 110 >, 111 ] 112 >; 113 114 let Headers = [ 115 CType, 116 FEnv, 117 Math, 118 StdIO, 119 String, 120 ]; 121} 122