1 /* Machine-specific pthread type layouts. Generic version. 2 Copyright (C) 2019-2022 Free Software Foundation, Inc. 3 4 This file is part of the GNU C Library. 5 6 The GNU C Library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 The GNU C Library is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with the GNU C Library; if not, see 18 <http://www.gnu.org/licenses/>. */ 19 20 #ifndef _BITS_PTHREADTYPES_ARCH_H 21 #define _BITS_PTHREADTYPES_ARCH_H 1 22 23 #include <bits/wordsize.h> 24 25 #if __WORDSIZE == 64 26 # define __SIZEOF_PTHREAD_ATTR_T 56 27 # define __SIZEOF_PTHREAD_MUTEX_T 40 28 # define __SIZEOF_PTHREAD_RWLOCK_T 56 29 # define __SIZEOF_PTHREAD_BARRIER_T 32 30 #else 31 # define __SIZEOF_PTHREAD_ATTR_T 36 32 # define __SIZEOF_PTHREAD_MUTEX_T 24 33 # define __SIZEOF_PTHREAD_RWLOCK_T 32 34 # define __SIZEOF_PTHREAD_BARRIER_T 20 35 #endif 36 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4 37 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 38 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4 39 #define __SIZEOF_PTHREAD_COND_T 48 40 #define __SIZEOF_PTHREAD_CONDATTR_T 4 41 42 #define __LOCK_ALIGNMENT 43 #define __ONCE_ALIGNMENT 44 45 #endif /* bits/pthreadtypes.h */ 46