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