Implement C23 <stdbit.h>
[glibc.git] / sysdeps / unix / sysv / linux / thrd_priv.h
blobdbf4472ba85d48bc274eba0fb3deb3b7c2be13b1
1 /* Internal C11 threads definitions - linux version
2 Copyright (C) 2020-2024 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
19 #include <sysdeps/pthread/thrd_priv.h>
21 #if __TIMESIZE == 64
22 # define __cnd_timedwait64 __cnd_timedwait
23 # define __mtx_timedlock64 __mtx_timedlock
24 # define __thrd_sleep64 __thrd_sleep
25 #else
26 extern int __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
27 const struct __timespec64 *restrict time_point);
28 libc_hidden_proto (__cnd_timedwait64)
29 extern int __mtx_timedlock64 (mtx_t *restrict mutex,
30 const struct __timespec64 *restrict time_point);
31 libc_hidden_proto (__mtx_timedlock64)
32 extern int __thrd_sleep64 (const struct __timespec64 *time_point,
33 struct __timespec64 *remaining);
34 libc_hidden_proto (__thrd_sleep64)
35 #endif