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