@@ -26,6 +26,7 @@ def UidT : NamedType<"uid_t">;
2626def GidT : NamedType<"gid_t">;
2727def DevT : NamedType<"dev_t">;
2828def ClockIdT : NamedType<"clockid_t">;
29+ def RestrictedClockIdTPtr : RestrictedPtrType<ClockIdT>;
2930def BlkSizeT : NamedType<"blksize_t">;
3031def BlkCntT : NamedType<"blkcnt_t">;
3132def NLinkT : NamedType<"nlink_t">;
@@ -105,6 +106,10 @@ def POSIX : StandardSpec<"POSIX"> {
105106 ConstType ConstPThreadAttrTPtr = ConstType<PThreadAttrTPtr>;
106107 ConstType ConstRestrictedPThreadAttrTPtr = ConstType<RestrictedPThreadAttrTPtr>;
107108
109+ NamedType PThreadCondAttrTType = NamedType<"pthread_condattr_t">;
110+ PtrType PThreadCondAttrTPtr = PtrType<PThreadCondAttrTType>;
111+ ConstType ConstRestrictedPThreadCondAttrTPtr = ConstType<RestrictedPtrType<PThreadCondAttrTType>>;
112+
108113 NamedType PThreadMutexAttrTType = NamedType<"pthread_mutexattr_t">;
109114 PtrType PThreadMutexAttrTPtr = PtrType<PThreadMutexAttrTType>;
110115 RestrictedPtrType RestrictedPThreadMutexAttrTPtr = RestrictedPtrType<PThreadMutexAttrTType>;
@@ -980,7 +985,9 @@ def POSIX : StandardSpec<"POSIX"> {
980985 [], // Macros
981986 [
982987 AtForkCallbackT,
988+ ClockIdT,
983989 PThreadAttrTType,
990+ PThreadCondAttrTType,
984991 PThreadKeyT,
985992 PThreadMutexAttrTType,
986993 PThreadMutexTType,
@@ -1047,6 +1054,36 @@ def POSIX : StandardSpec<"POSIX"> {
10471054 RetValSpec<IntType>,
10481055 [ArgSpec<PThreadAttrTPtr>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>]
10491056 >,
1057+ FunctionSpec<
1058+ "pthread_condattr_destroy",
1059+ RetValSpec<IntType>,
1060+ [ArgSpec<PThreadCondAttrTPtr>]
1061+ >,
1062+ FunctionSpec<
1063+ "pthread_condattr_getclock",
1064+ RetValSpec<IntType>,
1065+ [ArgSpec<ConstRestrictedPThreadCondAttrTPtr>, ArgSpec<RestrictedClockIdTPtr>]
1066+ >,
1067+ FunctionSpec<
1068+ "pthread_condattr_getpshared",
1069+ RetValSpec<IntType>,
1070+ [ArgSpec<ConstRestrictedPThreadCondAttrTPtr>, ArgSpec<RestrictedIntPtr>]
1071+ >,
1072+ FunctionSpec<
1073+ "pthread_condattr_init",
1074+ RetValSpec<IntType>,
1075+ [ArgSpec<PThreadCondAttrTPtr>]
1076+ >,
1077+ FunctionSpec<
1078+ "pthread_condattr_setclock",
1079+ RetValSpec<IntType>,
1080+ [ArgSpec<PThreadCondAttrTPtr>, ArgSpec<ClockIdT>]
1081+ >,
1082+ FunctionSpec<
1083+ "pthread_condattr_setpshared",
1084+ RetValSpec<IntType>,
1085+ [ArgSpec<PThreadCondAttrTPtr>, ArgSpec<IntType>]
1086+ >,
10501087 FunctionSpec<
10511088 "pthread_create",
10521089 RetValSpec<IntType>,
@@ -1522,9 +1559,30 @@ def POSIX : StandardSpec<"POSIX"> {
15221559 HeaderSpec SysTypes = HeaderSpec<
15231560 "sys/types.h",
15241561 [], // Macros
1525- [BlkCntT, BlkSizeT, ClockIdT, DevT, GidT, InoT, ModeTType, NLinkT, OffTType, PidT,
1526- PThreadAttrTType, PThreadKeyT, PThreadMutexTType, PThreadMutexAttrTType, PThreadOnceT, PThreadTType,
1527- SizeTType, SSizeTType, SuSecondsT, TimeTType, UidT],
1562+ [
1563+ BlkCntT,
1564+ BlkSizeT,
1565+ ClockIdT,
1566+ DevT,
1567+ GidT,
1568+ InoT,
1569+ ModeTType,
1570+ NLinkT,
1571+ OffTType,
1572+ PThreadAttrTType,
1573+ PThreadCondAttrTType,
1574+ PThreadKeyT,
1575+ PThreadMutexAttrTType,
1576+ PThreadMutexTType,
1577+ PThreadOnceT,
1578+ PThreadTType,
1579+ PidT,
1580+ SSizeTType,
1581+ SizeTType,
1582+ SuSecondsT,
1583+ TimeTType,
1584+ UidT
1585+ ], // Types
15281586 [], // Enumerations
15291587 [] // Functions
15301588 >;
0 commit comments