GRAYBYTE WORDPRESS FILE MANAGER1826

Server IP : 198.54.121.189 / Your IP : 216.73.216.34
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/include/bits/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/include/bits//thread-shared-types.h
/* Common threading primitives definitions for both POSIX and C11.
   Copyright (C) 2017-2018 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, see
   <http://www.gnu.org/licenses/>.  */

#ifndef _THREAD_SHARED_TYPES_H
#define _THREAD_SHARED_TYPES_H 1

/* Arch-specific definitions.  Each architecture must define the following
   macros to define the expected sizes of pthread data types:

   __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
   __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
   __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
   __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
   __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
   __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
   __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
   __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
   __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.

   Also, the following macros must be define for internal pthread_mutex_t
   struct definitions (struct __pthread_mutex_s):

   __PTHREAD_COMPAT_PADDING_MID   - any additional members after 'kind'
				    and before '__spin' (for 64 bits) or
				    '__nusers' (for 32 bits).
   __PTHREAD_COMPAT_PADDING_END   - any additional members at the end of
				    the internal structure.
   __PTHREAD_MUTEX_LOCK_ELISION   - 1 if the architecture supports lock
				    elision or 0 otherwise.
   __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers.  The
				       preferred value for new architectures
				       is 0.
   __PTHREAD_MUTEX_USE_UNION      - control whether internal __spins and
				    __list will be place inside a union for
				    linuxthreads compatibility.
				    The preferred value for new architectures
				    is 0.

   For a new port the preferred values for the required defines are:

   #define __PTHREAD_COMPAT_PADDING_MID
   #define __PTHREAD_COMPAT_PADDING_END
   #define __PTHREAD_MUTEX_LOCK_ELISION         0
   #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND    0
   #define __PTHREAD_MUTEX_USE_UNION            0

   __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
   eventually support lock elision using transactional memory.

   The additional macro defines any constraint for the lock alignment
   inside the thread structures:

   __LOCK_ALIGNMENT - for internal lock/futex usage.

   Same idea but for the once locking primitive:

   __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.

   And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
   must be defined.
 */
#include <bits/pthreadtypes-arch.h>

/* Common definition of pthread_mutex_t. */

#if !__PTHREAD_MUTEX_USE_UNION
typedef struct __pthread_internal_list
{
  struct __pthread_internal_list *__prev;
  struct __pthread_internal_list *__next;
} __pthread_list_t;
#else
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
#endif

/* Lock elision support.  */
#if __PTHREAD_MUTEX_LOCK_ELISION
# if !__PTHREAD_MUTEX_USE_UNION
#  define __PTHREAD_SPINS_DATA	\
  short __spins;		\
  short __elision
#  define __PTHREAD_SPINS             0, 0
# else
#  define __PTHREAD_SPINS_DATA	\
  struct			\
  {				\
    short __espins;		\
    short __eelision;		\
  } __elision_data
#  define __PTHREAD_SPINS         { 0, 0 }
#  define __spins __elision_data.__espins
#  define __elision __elision_data.__eelision
# endif
#else
# define __PTHREAD_SPINS_DATA int __spins
/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
# define __PTHREAD_SPINS 0
#endif

struct __pthread_mutex_s
{
  int __lock __LOCK_ALIGNMENT;
  unsigned int __count;
  int __owner;
#if !__PTHREAD_MUTEX_NUSERS_AFTER_KIND
  unsigned int __nusers;
#endif
  /* KIND must stay at this position in the structure to maintain
     binary compatibility with static initializers.

     Concurrency notes:
     The __kind of a mutex is initialized either by the static
     PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.

     After a mutex has been initialized, the __kind of a mutex is usually not
     changed.  BUT it can be set to -1 in pthread_mutex_destroy or elision can
     be enabled.  This is done concurrently in the pthread_mutex_*lock functions
     by using the macro FORCE_ELISION. This macro is only defined for
     architectures which supports lock elision.

     For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
     PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already set
     type of a mutex.
     Before a mutex is initialized, only PTHREAD_MUTEX_NO_ELISION_NP can be set
     with pthread_mutexattr_settype.
     After a mutex has been initialized, the functions pthread_mutex_*lock can
     enable elision - if the mutex-type and the machine supports it - by setting
     the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently. Afterwards
     the lock / unlock functions are using specific elision code-paths.  */
  int __kind;
  __PTHREAD_COMPAT_PADDING_MID
#if __PTHREAD_MUTEX_NUSERS_AFTER_KIND
  unsigned int __nusers;
#endif
#if !__PTHREAD_MUTEX_USE_UNION
  __PTHREAD_SPINS_DATA;
  __pthread_list_t __list;
# define __PTHREAD_MUTEX_HAVE_PREV      1
#else
  __extension__ union
  {
    __PTHREAD_SPINS_DATA;
    __pthread_slist_t __list;
  };
# define __PTHREAD_MUTEX_HAVE_PREV      0
#endif
  __PTHREAD_COMPAT_PADDING_END
};


/* Common definition of pthread_cond_t. */

struct __pthread_cond_s
{
  __extension__ union
  {
    __extension__ unsigned long long int __wseq;
    struct
    {
      unsigned int __low;
      unsigned int __high;
    } __wseq32;
  };
  __extension__ union
  {
    __extension__ unsigned long long int __g1_start;
    struct
    {
      unsigned int __low;
      unsigned int __high;
    } __g1_start32;
  };
  unsigned int __glibc_unused___g_refs[2] __LOCK_ALIGNMENT;
  unsigned int __g_size[2];
  unsigned int __g1_orig_size;
  unsigned int __wrefs;
  unsigned int __g_signals[2];
};

#endif /* _THREAD_SHARED_TYPES_H  */

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 24 2025 08:30:34
root / root
0755
types
--
June 11 2025 16:48:29
root / root
0755
a.out.h
0.262 KB
June 09 2025 20:25:26
root / root
0644
byteswap.h
2.392 KB
June 09 2025 20:25:25
root / root
0644
cmathcalls.h
4.041 KB
June 09 2025 20:25:23
root / root
0644
confname.h
23.152 KB
June 09 2025 20:25:25
root / root
0644
cpu-set.h
4.409 KB
June 09 2025 20:25:25
root / root
0644
dirent.h
1.729 KB
June 09 2025 20:25:25
root / root
0644
dlfcn.h
2.461 KB
June 09 2025 20:25:24
root / root
0644
elfclass.h
0.416 KB
June 09 2025 20:25:40
root / root
0644
endian.h
0.172 KB
June 09 2025 20:25:25
root / root
0644
environments.h
3.701 KB
June 09 2025 20:25:25
root / root
0644
epoll.h
1.045 KB
June 09 2025 20:25:26
root / root
0644
errno.h
1.392 KB
June 09 2025 20:25:24
root / root
0644
error.h
2.62 KB
June 09 2025 20:25:26
root / root
0644
eventfd.h
1.102 KB
June 09 2025 20:25:26
root / root
0644
fcntl-linux.h
13.391 KB
June 09 2025 20:25:26
root / root
0644
fcntl.h
2.192 KB
June 09 2025 20:25:26
root / root
0644
fcntl2.h
5.443 KB
June 09 2025 20:25:26
root / root
0644
fenv.h
4.497 KB
June 09 2025 20:25:23
root / root
0644
fenvinline.h
0.186 KB
June 09 2025 20:25:23
root / root
0644
floatn-common.h
9.535 KB
June 09 2025 20:25:23
root / root
0644
floatn.h
4.27 KB
June 09 2025 20:25:23
root / root
0644
flt-eval-method.h
1.186 KB
June 09 2025 20:25:23
root / root
0644
fp-fast.h
1.187 KB
June 09 2025 20:25:23
root / root
0644
fp-logb.h
0.987 KB
June 09 2025 20:25:23
root / root
0644
getopt_core.h
3.58 KB
June 09 2025 20:25:25
root / root
0644
getopt_ext.h
2.966 KB
June 09 2025 20:25:25
root / root
0644
getopt_posix.h
1.767 KB
June 09 2025 20:25:25
root / root
0644
hwcap.h
0.948 KB
June 09 2025 20:25:26
root / root
0644
in.h
9.244 KB
June 09 2025 20:25:38
root / root
0644
indirect-return.h
1.548 KB
June 09 2025 20:25:24
root / root
0644
initspin.h
0.024 KB
June 09 2025 20:25:25
root / root
0644
inotify.h
1.054 KB
June 09 2025 20:25:26
root / root
0644
ioctl-types.h
2.397 KB
June 09 2025 20:25:26
root / root
0644
ioctls.h
4.372 KB
June 09 2025 20:25:26
root / root
0644
ipc.h
2.021 KB
June 09 2025 20:25:26
root / root
0644
ipctypes.h
1.147 KB
June 09 2025 20:25:26
root / root
0644
iscanonical.h
2.42 KB
June 09 2025 20:25:23
root / root
0644
libc-header-start.h
2.546 KB
June 09 2025 20:25:19
root / root
0644
libm-simd-decl-stubs.h
2.933 KB
June 09 2025 20:25:23
root / root
0644
link.h
4.185 KB
June 09 2025 20:25:40
root / root
0644
link_lavcurrent.h
1.073 KB
June 09 2025 20:25:40
root / root
0644
local_lim.h
3.109 KB
June 09 2025 20:25:25
root / root
0644
locale.h
1.335 KB
June 09 2025 20:25:19
root / root
0644
long-double.h
0.901 KB
June 09 2025 20:25:23
root / root
0644
math-finite.h
5.248 KB
June 09 2025 20:25:23
root / root
0644
math-vector.h
2.253 KB
June 09 2025 20:25:23
root / root
0644
mathcalls-helper-functions.h
1.723 KB
June 09 2025 20:25:23
root / root
0644
mathcalls-narrow.h
1.275 KB
June 09 2025 20:25:23
root / root
0644
mathcalls.h
12.793 KB
June 09 2025 20:25:23
root / root
0644
mathdef.h
0.869 KB
June 09 2025 20:25:23
root / root
0644
mathinline.h
12.71 KB
June 09 2025 20:25:23
root / root
0644
mman-linux.h
4.78 KB
June 09 2025 20:25:26
root / root
0644
mman-shared.h
2.672 KB
June 09 2025 20:25:26
root / root
0644
mman.h
2.015 KB
June 09 2025 20:25:26
root / root
0644
monetary-ldbl.h
1.021 KB
June 09 2025 20:25:24
root / root
0644
mqueue.h
1.216 KB
June 09 2025 20:25:38
root / root
0644
mqueue2.h
2.1 KB
June 09 2025 20:25:38
root / root
0644
msq.h
2.575 KB
June 09 2025 20:25:26
root / root
0644
netdb.h
1.233 KB
June 09 2025 20:25:39
root / root
0644
param.h
1.398 KB
June 09 2025 20:25:26
root / root
0644
poll.h
2.026 KB
June 09 2025 20:25:26
root / root
0644
poll2.h
2.427 KB
June 09 2025 20:25:26
root / root
0644
posix1_lim.h
5.066 KB
June 09 2025 20:25:25
root / root
0644
posix2_lim.h
2.799 KB
June 09 2025 20:25:25
root / root
0644
posix_opt.h
5.631 KB
June 09 2025 20:25:25
root / root
0644
printf-ldbl.h
0.968 KB
June 09 2025 20:25:24
root / root
0644
pthreadtypes-arch.h
3.213 KB
June 09 2025 20:25:25
root / root
0644
pthreadtypes.h
2.999 KB
June 09 2025 20:25:25
root / root
0644
ptrace-shared.h
2.832 KB
June 09 2025 20:25:26
root / root
0644
resource.h
6.15 KB
June 09 2025 20:25:26
root / root
0644
sched.h
3.659 KB
June 09 2025 20:25:25
root / root
0644
select.h
2.056 KB
June 09 2025 20:25:26
root / root
0644
select2.h
1.403 KB
June 09 2025 20:25:26
root / root
0644
sem.h
2.558 KB
June 09 2025 20:25:26
root / root
0644
semaphore.h
1.208 KB
June 09 2025 20:25:25
root / root
0644
setjmp.h
1.256 KB
June 09 2025 20:25:24
root / root
0644
setjmp2.h
1.664 KB
June 09 2025 20:25:24
root / root
0644
shm.h
3.507 KB
June 09 2025 20:25:26
root / root
0644
sigaction.h
2.865 KB
June 09 2025 20:25:24
root / root
0644
sigcontext.h
4.164 KB
June 09 2025 20:25:24
root / root
0644
sigevent-consts.h
1.436 KB
June 09 2025 20:25:24
root / root
0644
siginfo-arch.h
0.712 KB
June 09 2025 20:25:26
root / root
0644
siginfo-consts-arch.h
0.199 KB
June 09 2025 20:25:26
root / root
0644
siginfo-consts.h
5.833 KB
June 09 2025 20:25:24
root / root
0644
signalfd.h
1.041 KB
June 09 2025 20:25:26
root / root
0644
signum-generic.h
4.238 KB
June 09 2025 20:25:24
root / root
0644
signum.h
1.595 KB
June 09 2025 20:25:24
root / root
0644
sigstack.h
1.14 KB
June 09 2025 20:25:24
root / root
0644
sigthread.h
1.651 KB
June 09 2025 20:25:24
root / root
0644
sockaddr.h
1.478 KB
June 09 2025 20:25:26
root / root
0644
socket.h
15.197 KB
June 09 2025 20:25:26
root / root
0644
socket2.h
2.965 KB
June 09 2025 20:25:26
root / root
0644
socket_type.h
2.163 KB
June 09 2025 20:25:26
root / root
0644
ss_flags.h
1.159 KB
June 09 2025 20:25:24
root / root
0644
stab.def
8.827 KB
June 09 2025 20:25:26
root / root
0644
stat.h
7.44 KB
June 09 2025 20:25:26
root / root
0644
statfs.h
1.871 KB
June 09 2025 20:25:26
root / root
0644
statvfs.h
3.342 KB
June 09 2025 20:25:26
root / root
0644
statx-generic.h
2.001 KB
June 09 2025 20:25:26
root / root
0644
statx.h
1.366 KB
June 09 2025 20:25:26
root / root
0644
stdint-intn.h
1.012 KB
June 09 2025 20:25:24
root / root
0644
stdint-uintn.h
1.023 KB
June 09 2025 20:25:24
root / root
0644
stdio-ldbl.h
2.942 KB
June 09 2025 20:25:24
root / root
0644
stdio.h
5.455 KB
June 09 2025 20:25:24
root / root
0644
stdio2.h
12.252 KB
June 09 2025 20:25:24
root / root
0644
stdio_lim.h
1.184 KB
June 09 2025 20:25:24
root / root
0644
stdlib-bsearch.h
1.345 KB
June 09 2025 20:25:24
root / root
0644
stdlib-float.h
1.088 KB
June 09 2025 20:25:24
root / root
0644
stdlib-ldbl.h
1.34 KB
June 09 2025 20:25:24
root / root
0644
stdlib.h
4.95 KB
June 09 2025 20:25:24
root / root
0644
string_fortified.h
4.573 KB
June 09 2025 20:25:25
root / root
0644
strings_fortified.h
1.21 KB
June 09 2025 20:25:25
root / root
0644
sys_errlist.h
1.187 KB
June 09 2025 20:25:24
root / root
0644
syscall.h
44.593 KB
June 09 2025 20:25:26
root / root
0644
sysctl.h
0.877 KB
June 09 2025 20:25:26
root / root
0644
syslog-ldbl.h
1.177 KB
June 09 2025 20:25:26
root / root
0644
syslog-path.h
1.035 KB
June 09 2025 20:25:26
root / root
0644
syslog.h
1.645 KB
June 09 2025 20:25:26
root / root
0644
sysmacros.h
2.883 KB
June 09 2025 20:25:26
root / root
0644
termios.h
5.237 KB
June 09 2025 20:25:26
root / root
0644
thread-shared-types.h
6.577 KB
June 09 2025 20:25:25
root / root
0644
time.h
2.928 KB
June 09 2025 20:25:25
root / root
0644
timerfd.h
1.076 KB
June 09 2025 20:25:26
root / root
0644
timex.h
4.487 KB
June 09 2025 20:25:25
root / root
0644
types.h
8.14 KB
June 09 2025 20:25:25
root / root
0644
typesizes.h
3.317 KB
June 09 2025 20:25:25
root / root
0644
uintn-identity.h
1.505 KB
June 09 2025 20:25:25
root / root
0644
uio-ext.h
1.877 KB
June 09 2025 20:25:26
root / root
0644
uio_lim.h
1.352 KB
June 09 2025 20:25:26
root / root
0644
unistd.h
10.559 KB
June 09 2025 20:25:25
root / root
0644
utmp.h
3.971 KB
June 09 2025 20:25:40
root / root
0644
utmpx.h
3.493 KB
June 09 2025 20:25:40
root / root
0644
utsname.h
1.184 KB
June 09 2025 20:25:25
root / root
0644
waitflags.h
1.656 KB
June 09 2025 20:25:25
root / root
0644
waitstatus.h
2.232 KB
June 09 2025 20:25:25
root / root
0644
wchar-ldbl.h
2.366 KB
June 09 2025 20:25:25
root / root
0644
wchar.h
1.86 KB
June 09 2025 20:25:25
root / root
0644
wchar2.h
17.794 KB
June 09 2025 20:25:25
root / root
0644
wctype-wchar.h
6.153 KB
June 09 2025 20:25:26
root / root
0644
wordsize.h
0.432 KB
June 09 2025 20:25:24
root / root
0644
xopen_lim.h
3.767 KB
June 09 2025 20:25:19
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF