1 def SigSetType : NamedType<"sigset_t">;
2 def SigSetPtrType : PtrType<SigSetType>;
3 def ConstSigSetPtrType : ConstType<SigSetPtrType>;
4 def RestrictedSigSetType : RestrictedPtrType<SigSetType>;
5 def ConstRestrictedSigSetType : ConstType<RestrictedSigSetType>;
7 def SigInfoType : NamedType<"siginfo_t">;
8 def UnionSigVal : NamedType<"union sigval">;
10 def StructSigaction : NamedType<"struct sigaction">;
11 def StructSigactionPtr : PtrType<StructSigaction>;
12 def ConstStructSigactionPtr : ConstType<StructSigactionPtr>;
13 def RestrictedStructSigactionPtr : RestrictedPtrType<StructSigaction>;
14 def ConstRestrictedStructSigactionPtr : ConstType<RestrictedStructSigactionPtr>;
16 def PThreadStartT : NamedType<"__pthread_start_t">;
17 def PThreadTSSDtorT : NamedType<"__pthread_tss_dtor_t">;
18 def PThreadKeyT : NamedType<"pthread_key_t">;
19 def PThreadKeyTPtr : PtrType<PThreadKeyT>;
20 def PThreadOnceT : NamedType<"pthread_once_t">;
21 def PThreadOnceTPtr : PtrType<PThreadOnceT>;
22 def PThreadOnceCallback : NamedType<"__pthread_once_func_t">;
24 def InoT : NamedType<"ino_t">;
25 def UidT : NamedType<"uid_t">;
26 def GidT : NamedType<"gid_t">;
27 def DevT : NamedType<"dev_t">;
28 def ClockIdT : NamedType<"clockid_t">;
29 def BlkSizeT : NamedType<"blksize_t">;
30 def BlkCntT : NamedType<"blkcnt_t">;
31 def NLinkT : NamedType<"nlink_t">;
33 def StatType : NamedType<"struct stat">;
34 def StatTypePtr : PtrType<StatType>;
35 def RestrictedStatTypePtr : RestrictedPtrType<StatType>;
37 def DIR : NamedType<"DIR">;
38 def DIRPtr : PtrType<DIR>;
39 def DIRRestrictedPtr : RestrictedPtrType<DIR>;
40 def StructDirent : NamedType<"struct dirent">;
41 def StructDirentPtr : PtrType<StructDirent>;
42 def StructDirentPtrPtr : PtrType<StructDirentPtr>;
43 def ConstStructDirentPtrPtr : ConstType<StructDirentPtrPtr>;
45 def StructTimeSpec : NamedType<"struct timespec">;
46 def StructTimeSpecPtr : PtrType<StructTimeSpec>;
48 def StructSchedParam : NamedType<"struct sched_param">;
49 def StructSchedParamPtr : PtrType<StructSchedParam>;
50 def ConstStructSchedParamPtr : ConstType<StructSchedParamPtr>;
52 def ExecArgvT : NamedType<"__exec_argv_t">;
53 def ExecEnvpT : NamedType<"__exec_envp_t">;
55 def AtForkCallbackT : NamedType<"__atfork_callback_t">;
57 def PosixSpawnFileActionsT : NamedType<"posix_spawn_file_actions_t">;
58 def PosixSpawnFileActionsTPtr : PtrType<PosixSpawnFileActionsT>;
59 def ConstPosixSpawnFileActionsTPtr : ConstType<PosixSpawnFileActionsTPtr>;
60 def PosixSpawnFileActionsTRestrictedPtr : RestrictedPtrType<PosixSpawnFileActionsT>;
62 def PosixSpawnAttrT : NamedType<"posix_spawnattr_t">;
63 def RestrictedPosixSpawnAttrTPtrType : RestrictedPtrType<PosixSpawnAttrT>;
65 def CcT : NamedType<"cc_t">;
66 def SpeedT : NamedType<"speed_t">;
67 def StructTermios : NamedType<"struct termios">;
68 def StructTermiosPtr : PtrType<StructTermios>;
69 def ConstStructTermiosPtr : ConstType<StructTermiosPtr>;
70 def TcFlagT : NamedType<"tcflag_t">;
72 def StackT : NamedType<"stack_t">;
73 def StackTPtr : PtrType<StackT>;
74 def RestrictedStackTPtr : RestrictedPtrType<StackT>;
75 def ConstRestrictedStackTPtr : ConstType<RestrictedStackTPtr>;
77 def FdSet : NamedType<"fd_set">;
78 def FdSetPtr : PtrType<FdSet>;
79 def RestrictedFdSetPtr : RestrictedPtrType<FdSet>;
81 def GetoptArgvT : NamedType<"__getoptargv_t">;
83 def StructSockAddr : NamedType<"struct sockaddr">;
84 def StructSockAddrPtr : PtrType<StructSockAddr>;
85 def SAFamilyType : NamedType<"sa_family_t">;
87 def POSIX : StandardSpec<"POSIX"> {
88 PtrType CharPtr = PtrType<CharType>;
89 RestrictedPtrType RestrictedCharPtr = RestrictedPtrType<CharType>;
90 RestrictedPtrType CharRestrictedDoublePtr = RestrictedPtrType<CharPtr>;
91 ConstType ConstCharPtr = ConstType<CharPtr>;
92 ConstType ConstRestrictedCharPtr = ConstType<RestrictedCharPtr>;
94 NamedType ModeTType = NamedType<"mode_t">;
96 NamedType PThreadAttrTType = NamedType<"pthread_attr_t">;
97 PtrType PThreadAttrTPtr = PtrType<PThreadAttrTType>;
98 RestrictedPtrType RestrictedPThreadAttrTPtr = RestrictedPtrType<PThreadAttrTType>;
99 ConstType ConstPThreadAttrTPtr = ConstType<PThreadAttrTPtr>;
100 ConstType ConstRestrictedPThreadAttrTPtr = ConstType<RestrictedPThreadAttrTPtr>;
102 NamedType PThreadMutexAttrTType = NamedType<"pthread_mutexattr_t">;
103 PtrType PThreadMutexAttrTPtr = PtrType<PThreadMutexAttrTType>;
104 RestrictedPtrType RestrictedPThreadMutexAttrTPtr = RestrictedPtrType<PThreadMutexAttrTType>;
105 ConstType ConstPThreadMutexAttrTPtr = ConstType<PThreadMutexAttrTPtr>;
106 ConstType ConstRestrictedPThreadMutexAttrTPtr = ConstType<RestrictedPThreadMutexAttrTPtr>;
108 NamedType PThreadMutexTType = NamedType<"pthread_mutex_t">;
109 PtrType PThreadMutexTPtr = PtrType<PThreadMutexTType>;
110 RestrictedPtrType RestrictedPThreadMutexTPtr = RestrictedPtrType<PThreadMutexTType>;
111 ConstType ConstPThreadMutexTPtr = ConstType<PThreadMutexTPtr>;
112 ConstType ConstRestrictedPThreadMutexTPtr = ConstType<RestrictedPThreadMutexTPtr>;
114 PtrType PThreadTPtr = PtrType<PThreadTType>;
115 RestrictedPtrType RestrictedPThreadTPtr = RestrictedPtrType<PThreadTType>;
117 HeaderSpec Errno = HeaderSpec<
123 Macro<"EADDRNOTAVAIL">,
124 Macro<"EAFNOSUPPORT">,
132 Macro<"ECONNABORTED">,
133 Macro<"ECONNREFUSED">,
136 Macro<"EDESTADDRREQ">,
141 Macro<"EHOSTUNREACH">,
143 Macro<"EINPROGRESS">,
154 Macro<"ENAMETOOLONG">,
157 Macro<"ENETUNREACH">,
168 Macro<"ENOPROTOOPT">,
176 Macro<"ENOTRECOVERABLE">,
187 Macro<"EPROTONOSUPPORT">,
196 Macro<"EWOULDBLOCK">,
204 HeaderSpec FCntl = HeaderSpec<
213 [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>]
218 [ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<VarArgType>]
223 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<VarArgType>]
228 HeaderSpec SysMMan = HeaderSpec<
231 // TODO: Add a facility to bunch macros into bitwise-or-able groups.
232 // POSIX requires it, so such thing should be captured in this spec.
239 Macro<"MAP_PRIVATE">,
277 [ArgSpec<VoidPtr>, ArgSpec<SizeTType>]
289 HeaderSpec Signal = HeaderSpec<
312 ArgSpec<ConstRestrictedStructSigactionPtr>,
313 ArgSpec<RestrictedStructSigactionPtr>]
318 [ArgSpec<ConstRestrictedStackTPtr>, ArgSpec<RestrictedStackTPtr>]
323 [ArgSpec<SigSetPtrType>,
329 [ArgSpec<IntType>, ArgSpec<ConstRestrictedSigSetType>, ArgSpec<RestrictedSigSetType>]
334 [ArgSpec<SigSetPtrType>]
339 [ArgSpec<SigSetPtrType>,
345 [ArgSpec<SigSetPtrType>]
350 HeaderSpec UniStd = HeaderSpec<
368 [ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
373 [ArgSpec<ConstCharPtr>]
383 [ArgSpec<IntType>, ArgSpec<IntType>]
388 [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>]
398 [ArgSpec<CharPtr>, ArgSpec<SizeTType>]
408 [ArgSpec<ConstCharPtr>, ArgSpec<ExecArgvT>]
413 [ArgSpec<ConstCharPtr>, ArgSpec<ExecArgvT>, ArgSpec<ExecEnvpT>]
428 [ArgSpec<IntType>, ArgSpec<OffTType>]
458 [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>]
463 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
467 RetValSpec<OffTType>,
468 [ArgSpec<IntType>, ArgSpec<OffTType>, ArgSpec<IntType>]
472 RetValSpec<SSizeTType>,
473 [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>]
477 RetValSpec<SSizeTType>,
478 [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>]
482 RetValSpec<SSizeTType>,
483 [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>]
487 RetValSpec<SSizeTType>,
488 [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>]
492 RetValSpec<SSizeTType>,
493 [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>]
498 [ArgSpec<ConstCharPtr>]
513 [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>]
518 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
522 RetValSpec<OffTType>,
523 [ArgSpec<IntType>, ArgSpec<OffTType>, ArgSpec<IntType>]
527 RetValSpec<SSizeTType>,
528 [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>]
532 RetValSpec<SSizeTType>,
533 [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>]
537 RetValSpec<SSizeTType>,
538 [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>]
542 RetValSpec<SSizeTType>,
543 [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>]
547 RetValSpec<SSizeTType>,
548 [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>]
553 [ArgSpec<ConstCharPtr>]
557 RetValSpec<VoidType>,
558 [ArgSpec<ConstVoidRestrictedPtr>, ArgSpec<VoidPtr>, ArgSpec<SSizeTType>]
563 [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>]
568 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>]
576 "__llvm_libc_syscall",
577 RetValSpec<LongType>,
578 [ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>]
583 [ArgSpec<ConstCharPtr>, ArgSpec<OffTType>]
588 [ArgSpec<ConstCharPtr>]
593 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
597 RetValSpec<SSizeTType>,
598 [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>]
603 [ArgSpec<IntType>, ArgSpec<GetoptArgvT>, ArgSpec<ConstCharPtr>]
607 ObjectSpec<"environ", "char **">,
627 HeaderSpec StdLib = HeaderSpec<
636 [ArgSpec<ConstCharPtr>]
641 HeaderSpec Sched = HeaderSpec<
644 [PidT, TimeTType, StructTimeSpec, StructSchedParam], // Types
655 [ArgSpec<PidT>, ArgSpec<ConstStructSchedParamPtr>]
661 [ArgSpec<PidT>, ArgSpec<StructSchedParamPtr>]
665 "sched_setscheduler",
671 "sched_getscheduler",
673 [ArgSpec<PidT>, ArgSpec<IntType>, ArgSpec<ConstStructSchedParamPtr>]
677 "sched_get_priority_min",
683 "sched_get_priority_max",
689 "sched_rr_get_interval",
691 [ArgSpec<PidT>, ArgSpec<StructTimeSpecPtr>]
696 HeaderSpec String = HeaderSpec<
709 [ArgSpec<VoidRestrictedPtr>,
710 ArgSpec<ConstVoidRestrictedPtr>,
717 [ArgSpec<VoidRestrictedPtr>,
718 ArgSpec<ConstVoidRestrictedPtr>,
724 [ArgSpec<RestrictedCharPtr>,
725 ArgSpec<ConstRestrictedCharPtr>]
730 [ArgSpec<RestrictedCharPtr>,
731 ArgSpec<ConstRestrictedCharPtr>,
736 RetValSpec<SizeTType>,
737 [ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>]
742 [ArgSpec<RestrictedCharPtr>,
743 ArgSpec<ConstRestrictedCharPtr>,
744 ArgSpec<CharRestrictedDoublePtr>]
754 HeaderSpec CType = HeaderSpec<
768 NamedType RLimTType = NamedType<"rlim_t">;
769 NamedType StructRLimitType = NamedType<"struct rlimit">;
770 PtrType StructRLimitPtr = PtrType<StructRLimitType>;
771 ConstType ConstStructRLimitPtr = ConstType<StructRLimitType>;
772 HeaderSpec SysResource = HeaderSpec<
775 [RLimTType, StructRLimitType], // Types
781 [ArgSpec<StructRLimitPtr>]
786 [ArgSpec<ConstStructRLimitPtr>]
791 HeaderSpec SysStat = HeaderSpec<
813 [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>]
818 [ArgSpec<IntType>, ArgSpec<ModeTType>]
823 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>, ArgSpec<IntType>]
828 [ArgSpec<IntType>, ArgSpec<StatTypePtr>]
833 [ArgSpec<ConstRestrictedCharPtr>, ArgSpec<RestrictedStatTypePtr>]
838 [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>]
843 [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>]
848 [ArgSpec<ConstRestrictedCharPtr>, ArgSpec<RestrictedStatTypePtr>]
853 NamedType StructUtsName = NamedType<"struct utsname">;
854 PtrType StructUtsNamePtr = PtrType<StructUtsName>;
855 HeaderSpec SysUtsName = HeaderSpec<
858 [StructUtsName], // Types
864 [ArgSpec<StructUtsNamePtr>]
869 HeaderSpec ArpaInet = HeaderSpec<
877 RetValSpec<UInt32Type>,
878 [ArgSpec<UInt32Type>]
882 RetValSpec<UInt16Type>,
883 [ArgSpec<UInt16Type>]
887 RetValSpec<UInt32Type>,
888 [ArgSpec<UInt32Type>]
892 RetValSpec<UInt16Type>,
893 [ArgSpec<UInt16Type>]
898 HeaderSpec PThread = HeaderSpec<
905 PThreadMutexAttrTType,
918 [ArgSpec<AtForkCallbackT>, ArgSpec<AtForkCallbackT>, ArgSpec<AtForkCallbackT>]
923 [ArgSpec<PThreadAttrTPtr>]
926 "pthread_attr_destroy",
928 [ArgSpec<PThreadAttrTPtr>]
931 "pthread_attr_getdetachstate",
933 [ArgSpec<ConstPThreadAttrTPtr>, ArgSpec<IntPtr>]
936 "pthread_attr_setdetachstate",
938 [ArgSpec<PThreadAttrTPtr>, ArgSpec<IntType>]
941 "pthread_attr_getguardsize",
943 [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedSizeTPtr>]
946 "pthread_attr_setguardsize",
948 [ArgSpec<PThreadAttrTPtr>, ArgSpec<SizeTType>]
951 "pthread_attr_getstacksize",
953 [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedSizeTPtr>]
956 "pthread_attr_setstacksize",
958 [ArgSpec<PThreadAttrTPtr>, ArgSpec<SizeTType>]
961 "pthread_attr_getstack",
963 [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedVoidPtrPtr>, ArgSpec<RestrictedSizeTPtr>]
966 "pthread_attr_setstack",
968 [ArgSpec<PThreadAttrTPtr>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>]
973 [ArgSpec<RestrictedPThreadTPtr>, ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<PThreadStartT>, ArgSpec<VoidPtr>]
978 [ArgSpec<PThreadTType>, ArgSpec<VoidPtrPtr>]
983 [ArgSpec<PThreadTType>]
987 RetValSpec<NoReturn>,
992 RetValSpec<PThreadTType>,
998 [ArgSpec<PThreadTType>, ArgSpec<PThreadTType>]
1001 "pthread_mutexattr_init",
1002 RetValSpec<IntType>,
1003 [ArgSpec<PThreadMutexAttrTPtr>]
1006 "pthread_mutexattr_destroy",
1007 RetValSpec<IntType>,
1008 [ArgSpec<PThreadMutexAttrTPtr>]
1011 "pthread_mutexattr_gettype",
1012 RetValSpec<IntType>,
1013 [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1016 "pthread_mutexattr_settype",
1017 RetValSpec<IntType>,
1018 [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>]
1021 "pthread_mutexattr_getrobust",
1022 RetValSpec<IntType>,
1023 [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1026 "pthread_mutexattr_setrobust",
1027 RetValSpec<IntType>,
1028 [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>]
1031 "pthread_mutexattr_getpshared",
1032 RetValSpec<IntType>,
1033 [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1036 "pthread_mutexattr_setpshared",
1037 RetValSpec<IntType>,
1038 [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>]
1041 "pthread_mutexattr_getprotocol",
1042 RetValSpec<IntType>,
1043 [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1046 "pthread_mutexattr_setprotocol",
1047 RetValSpec<IntType>,
1048 [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>]
1051 "pthread_mutexattr_getprioceiling",
1052 RetValSpec<IntType>,
1053 [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1056 "pthread_mutexattr_setprioceiling",
1057 RetValSpec<IntType>,
1058 [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>]
1061 "pthread_mutex_init",
1062 RetValSpec<IntType>,
1063 [ArgSpec<RestrictedPThreadMutexTPtr>, ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>]
1066 "pthread_mutex_destroy",
1067 RetValSpec<IntType>,
1068 [ArgSpec<PThreadMutexTPtr>]
1071 "pthread_mutex_lock",
1072 RetValSpec<IntType>,
1073 [ArgSpec<PThreadMutexTPtr>]
1076 "pthread_mutex_unlock",
1077 RetValSpec<IntType>,
1078 [ArgSpec<PThreadMutexTPtr>]
1081 "pthread_key_create",
1082 RetValSpec<IntType>,
1083 [ArgSpec<PThreadKeyTPtr>, ArgSpec<PThreadTSSDtorT>]
1086 "pthread_key_delete",
1087 RetValSpec<IntType>,
1088 [ArgSpec<PThreadKeyT>]
1091 "pthread_getspecific",
1092 RetValSpec<VoidPtr>,
1093 [ArgSpec<PThreadKeyT>]
1096 "pthread_setspecific",
1097 RetValSpec<VoidPtr>,
1098 [ArgSpec<PThreadKeyT>, ArgSpec<ConstVoidPtr>]
1102 RetValSpec<IntType>,
1103 [ArgSpec<PThreadOnceTPtr>, ArgSpec<PThreadOnceCallback>]
1108 HeaderSpec StdIO = HeaderSpec<
1116 RetValSpec<VoidType>,
1121 RetValSpec<VoidType>,
1126 RetValSpec<IntType>,
1131 RetValSpec<IntType>,
1137 HeaderSpec Dirent = HeaderSpec<
1140 [InoT, StructDirent, DIR], // Types
1145 RetValSpec<IntType>,
1146 [ArgSpec<ConstStructDirentPtrPtr>, ArgSpec<ConstStructDirentPtrPtr>]
1150 RetValSpec<IntType>,
1155 RetValSpec<IntType>,
1166 [ArgSpec<ConstCharPtr>]
1170 RetValSpec<StructDirentPtr>,
1176 HeaderSpec Time = HeaderSpec<
1179 [ClockIdT, StructTimeSpec, StructTimevalType], // Types
1184 RetValSpec<IntType>,
1185 [ArgSpec<ClockIdT>, ArgSpec<StructTimeSpecPtr>]
1189 RetValSpec<IntType>,
1190 [ArgSpec<StructTimevalPtr>, ArgSpec<VoidPtr>]
1194 RetValSpec<IntType>,
1195 [ArgSpec<StructTimeSpecPtr>, ArgSpec<StructTimeSpecPtr>]
1200 HeaderSpec SysWait = HeaderSpec<
1203 [PidT, StructRUsage],
1214 [ArgSpec<PidT>, ArgSpec<IntPtr>, ArgSpec<IntType>]
1219 HeaderSpec SysIOctl = HeaderSpec<
1229 HeaderSpec Spawn = HeaderSpec<
1232 [ModeTType, PosixSpawnAttrT, PidT, PosixSpawnFileActionsT],
1236 "posix_spawn_file_actions_addclose",
1237 RetValSpec<IntType>,
1238 [ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<IntType>]
1241 "posix_spawn_file_actions_adddup2",
1242 RetValSpec<IntType>,
1243 [ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<IntType>, ArgSpec<IntType>]
1246 "posix_spawn_file_actions_addopen",
1247 RetValSpec<IntType>,
1248 [ArgSpec<PosixSpawnFileActionsTRestrictedPtr>, ArgSpec<IntType>,
1249 ArgSpec<ConstCharRestrictedPtr>, ArgSpec<IntType>, ArgSpec<ModeTType>]
1252 "posix_spawn_file_actions_destroy",
1253 RetValSpec<IntType>,
1254 [ArgSpec<PosixSpawnFileActionsTPtr>]
1257 "posix_spawn_file_actions_init",
1258 RetValSpec<IntType>,
1259 [ArgSpec<PosixSpawnFileActionsTPtr>]
1263 RetValSpec<IntType>,
1264 [ArgSpec<RestrictedPidTPtr>, ArgSpec<ConstCharRestrictedPtr>,
1265 ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<RestrictedPosixSpawnAttrTPtrType>,
1266 ArgSpec<ConstCharRestrictedPtrPtr>, ArgSpec<ConstCharRestrictedPtrPtr>]
1271 HeaderSpec Termios = HeaderSpec<
1276 [CcT, PidT, SpeedT, StructTermios, TcFlagT], // Types
1282 [ArgSpec<ConstStructTermiosPtr>]
1287 [ArgSpec<ConstStructTermiosPtr>]
1292 [ArgSpec<StructTermiosPtr>, ArgSpec<SpeedT>]
1297 [ArgSpec<StructTermiosPtr>, ArgSpec<SpeedT>]
1301 RetValSpec<IntType>,
1306 RetValSpec<IntType>,
1307 [ArgSpec<IntType>, ArgSpec<IntType>]
1311 RetValSpec<IntType>,
1312 [ArgSpec<IntType>, ArgSpec<IntType>]
1316 RetValSpec<IntType>,
1317 [ArgSpec<IntType>, ArgSpec<StructTermiosPtr>]
1326 RetValSpec<IntType>,
1327 [ArgSpec<IntType>, ArgSpec<IntType>]
1331 RetValSpec<IntType>,
1332 [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<StructTermiosPtr>]
1337 HeaderSpec SysSelect = HeaderSpec<
1340 [FdSet, SigSetType, StructTimevalType, StructTimeSpec, SuSecondsT, TimeTType],
1345 RetValSpec<IntType>,
1347 ArgSpec<IntType>, ArgSpec<RestrictedFdSetPtr>, ArgSpec<RestrictedFdSetPtr>,
1348 ArgSpec<RestrictedFdSetPtr>, ArgSpec<RestrictedStructTimevalPtr>
1354 HeaderSpec SysSocket = HeaderSpec<
1362 Macro<"SOCK_STREAM">,
1363 Macro<"SOCK_DGRAM">,
1366 Macro<"SOCK_SEQPACKET">,
1367 Macro<"SOCK_PACKET">,
1370 StructSockAddr, SAFamilyType,
1376 RetValSpec<IntType>,
1377 [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>]
1382 HeaderSpec SysTypes = HeaderSpec<
1385 [BlkCntT, BlkSizeT, ClockIdT, DevT, GidT, InoT, ModeTType, NLinkT, OffTType, PidT,
1386 PThreadAttrTType, PThreadKeyT, PThreadMutexTType, PThreadMutexAttrTType, PThreadOnceT, PThreadTType,
1387 SizeTType, SSizeTType, SuSecondsT, TimeTType, UidT],