@@ -110,6 +110,10 @@ def POSIX : StandardSpec<"POSIX"> {
110110 PtrType PThreadCondAttrTPtr = PtrType<PThreadCondAttrTType>;
111111 ConstType ConstRestrictedPThreadCondAttrTPtr = ConstType<RestrictedPtrType<PThreadCondAttrTType>>;
112112
113+ NamedType PThreadRWLockAttrTType = NamedType<"pthread_rwlockattr_t">;
114+ PtrType PThreadRWLockAttrTPtr = PtrType<PThreadRWLockAttrTType>;
115+ ConstType ConstPThreadRWLockAttrTPtr = ConstType<PThreadRWLockAttrTPtr>;
116+
113117 NamedType PThreadMutexAttrTType = NamedType<"pthread_mutexattr_t">;
114118 PtrType PThreadMutexAttrTPtr = PtrType<PThreadMutexAttrTType>;
115119 RestrictedPtrType RestrictedPThreadMutexAttrTPtr = RestrictedPtrType<PThreadMutexAttrTType>;
@@ -993,6 +997,7 @@ def POSIX : StandardSpec<"POSIX"> {
993997 PThreadMutexTType,
994998 PThreadOnceCallback,
995999 PThreadOnceT,
1000+ PThreadRWLockAttrTType,
9961001 PThreadStartT,
9971002 PThreadTSSDtorT,
9981003 PThreadTType,
@@ -1219,6 +1224,26 @@ def POSIX : StandardSpec<"POSIX"> {
12191224 RetValSpec<IntType>,
12201225 [ArgSpec<PThreadOnceTPtr>, ArgSpec<PThreadOnceCallback>]
12211226 >,
1227+ FunctionSpec<
1228+ "pthread_rwlockattr_destroy",
1229+ RetValSpec<IntType>,
1230+ [ArgSpec<PThreadRWLockAttrTPtr>]
1231+ >,
1232+ FunctionSpec<
1233+ "pthread_rwlockattr_getpshared",
1234+ RetValSpec<IntType>,
1235+ [ArgSpec<ConstPThreadRWLockAttrTPtr>, ArgSpec<IntPtr>]
1236+ >,
1237+ FunctionSpec<
1238+ "pthread_rwlockattr_init",
1239+ RetValSpec<IntType>,
1240+ [ArgSpec<PThreadRWLockAttrTPtr>]
1241+ >,
1242+ FunctionSpec<
1243+ "pthread_rwlockattr_setpshared",
1244+ RetValSpec<IntType>,
1245+ [ArgSpec<PThreadRWLockAttrTPtr>, ArgSpec<IntType>]
1246+ >,
12221247 ]
12231248 >;
12241249
@@ -1575,6 +1600,7 @@ def POSIX : StandardSpec<"POSIX"> {
15751600 PThreadMutexAttrTType,
15761601 PThreadMutexTType,
15771602 PThreadOnceT,
1603+ PThreadRWLockAttrTType,
15781604 PThreadTType,
15791605 PidT,
15801606 SSizeTType,
0 commit comments