diff options
| author | Samuel Thibault <samy@hurd.youpi.perso.aquilenet.fr> | 2012-05-20 13:37:08 +0000 |
|---|---|---|
| committer | Samuel Thibault <samy@hurd.youpi.perso.aquilenet.fr> | 2012-05-20 13:37:08 +0000 |
| commit | 756a64304b61a94b9b57ae88c4af5654152f5b8e (patch) | |
| tree | c65bf4981fbf56c3d63d58dcd7ad4893d47890db /libpthread/include | |
| parent | d0109384c8d7ae06f50dcf0804aa7d30356dbde0 (diff) | |
Remove libpthread, now in eglibc
Diffstat (limited to 'libpthread/include')
| -rw-r--r-- | libpthread/include/libc-symbols.h | 395 | ||||
| -rw-r--r-- | libpthread/include/pthread.h | 7 | ||||
| -rw-r--r-- | libpthread/include/pthread/pthread.h | 755 | ||||
| -rw-r--r-- | libpthread/include/pthread/pthreadtypes.h | 125 | ||||
| -rw-r--r-- | libpthread/include/semaphore.h | 69 | ||||
| -rw-r--r-- | libpthread/include/set-hooks.h | 72 |
6 files changed, 0 insertions, 1423 deletions
diff --git a/libpthread/include/libc-symbols.h b/libpthread/include/libc-symbols.h deleted file mode 100644 index 54dd6e26..00000000 --- a/libpthread/include/libc-symbols.h +++ /dev/null @@ -1,395 +0,0 @@ -/* Support macros for making weak and strong aliases for symbols, - and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2008 - 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _LIBC_SYMBOLS_H -#define _LIBC_SYMBOLS_H 1 - -/* This file's macros are included implicitly in the compilation of every - file in the C library by -imacros. - - We include config.h which is generated by configure. - It should define for us the following symbols: - - * HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'. - * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'. - * HAVE_GNU_LD if using GNU ld, with support for weak symbols in a.out, - and for symbol set and warning messages extensions in a.out and ELF. - * HAVE_ELF if using ELF, which supports weak symbols using `.weak'. - * HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'. - * HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'. - - */ - -/* This is defined for the compilation of all C library code. features.h - tests this to avoid inclusion of stubs.h while compiling the library, - before stubs.h has been generated. Some library code that is shared - with other packages also tests this symbol to see if it is being - compiled as part of the C library. We must define this before including - config.h, because it makes some definitions conditional on whether libc - itself is being compiled, or just some generator program. */ -// #define _LIBC 1 - -/* Enable declarations of GNU extensions, since we are compiling them. */ -#define _GNU_SOURCE 1 -/* And we also need the data for the reentrant functions. */ -#define _REENTRANT 1 - -// #include <config.h> -#define HAVE_ASM_WEAK_DIRECTIVE -#define HAVE_WEAK_SYMBOLS -#define HAVE_ASM_SET_DIRECTIVE -#define HAVE_BUILTIN_EXPECT -#define HAVE_GNU_LD -#define HAVE_ELF -#define HAVE_SECTION_QUOTES -#define HAVE_VISIBILITY_ATTRIBUTE -#define HAVE_ASM_PREVIOUS_DIRECTIVE -// #define SHARED - -/* The symbols in all the user (non-_) macros are C symbols. - HAVE_GNU_LD without HAVE_ELF implies a.out. */ - -#if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE -# define HAVE_WEAK_SYMBOLS -#endif - -#ifndef __SYMBOL_PREFIX -# ifdef NO_UNDERSCORES -# define __SYMBOL_PREFIX -# else -# define __SYMBOL_PREFIX "_" -# endif -#endif - -#ifndef C_SYMBOL_NAME -# ifdef NO_UNDERSCORES -# define C_SYMBOL_NAME(name) name -# else -# define C_SYMBOL_NAME(name) _##name -# endif -#endif - -#ifndef ASM_LINE_SEP -# define ASM_LINE_SEP ; -#endif - -#ifndef C_SYMBOL_DOT_NAME -# define C_SYMBOL_DOT_NAME(name) .##name -#endif - -#ifndef __ASSEMBLER__ -/* GCC understands weak symbols and aliases; use its interface where - possible, instead of embedded assembly language. */ - -/* Define ALIASNAME as a strong alias for NAME. */ -# define strong_alias(name, aliasname) _strong_alias(name, aliasname) -# define _strong_alias(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((alias (#name))); - -/* This comes between the return type and function name in - a function definition to make that definition weak. */ -# define weak_function __attribute__ ((weak)) -# define weak_const_function __attribute__ ((weak, __const__)) - -# ifdef HAVE_WEAK_SYMBOLS - -/* Define ALIASNAME as a weak alias for NAME. - If weak aliases are not available, this defines a strong alias. */ -# define weak_alias(name, aliasname) _weak_alias (name, aliasname) -# define _weak_alias(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((weak, alias (#name))); - -/* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */ -# define weak_extern(symbol) _weak_extern (symbol) -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE -# define _weak_extern(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol); -# else -# define _weak_extern(symbol) asm (".weak " __SYMBOL_PREFIX #symbol); -# endif - -# else - -# define weak_alias(name, aliasname) strong_alias(name, aliasname) -# define weak_extern(symbol) /* Nothing. */ - -# endif - -#else /* __ASSEMBLER__ */ - -# ifdef HAVE_ASM_SET_DIRECTIVE -# define strong_alias(original, alias) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original) -# else -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define strong_alias(original, alias) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original) -# else -# define strong_alias(original, alias) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) -# endif -# endif - -# ifdef HAVE_WEAK_SYMBOLS -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE -# define weak_alias(original, alias) \ - .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) -# define weak_extern(symbol) \ - .weakext C_SYMBOL_NAME (symbol) - -# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ - -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define weak_alias(original, alias) \ - .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original) -# else -# define weak_alias(original, alias) \ - .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) -# endif - -# define weak_extern(symbol) \ - .weak C_SYMBOL_NAME (symbol) - -# endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ - -# else /* ! HAVE_WEAK_SYMBOLS */ - -# define weak_alias(original, alias) strong_alias(original, alias) -# define weak_extern(symbol) /* Nothing */ -# endif /* ! HAVE_WEAK_SYMBOLS */ - -#endif /* __ASSEMBLER__ */ - -/* On some platforms we can make internal function calls (i.e., calls of - functions not exported) a bit faster by using a different calling - convention. */ -#ifndef internal_function -# define internal_function /* empty */ -#endif - -/* Prepare for the case that `__builtin_expect' is not available. */ -#ifndef HAVE_BUILTIN_EXPECT -# define __builtin_expect(expr, val) (expr) -#endif - -/* Determine the return address. */ -#define RETURN_ADDRESS(nr) \ - __builtin_extract_return_addr (__builtin_return_address (nr)) - -/* When a reference to SYMBOL is encountered, the linker will emit a - warning message MSG. */ -#ifdef HAVE_GNU_LD -# ifdef HAVE_ELF - -/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -# define __make_section_unallocated(section_string) \ - asm (".section " section_string "\n\t.previous"); -# elif defined HAVE_ASM_POPSECTION_DIRECTIVE -# define __make_section_unallocated(section_string) \ - asm (".pushsection " section_string "\n\t.popsection"); -# else -# define __make_section_unallocated(section_string) -# endif - -/* Tacking on "\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ -# ifdef HAVE_SECTION_QUOTES -# define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ - static const char __evoke_link_warning_##symbol[] \ - __attribute__ ((unused, section (".gnu.warning." #symbol "\"\n\t#\""))) \ - = msg; -# else -# define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ - static const char __evoke_link_warning_##symbol[] \ - __attribute__ ((unused, section (".gnu.warning." #symbol "\n\t#"))) = msg; -# endif -# else /* Not ELF: a.out */ -# ifdef HAVE_XCOFF -/* XCOFF does not support .stabs. - The native aix linker will remove the .stab and .stabstr sections - The gnu linker will have a fatal error if there is a relocation for - symbol in the .stab section. Silently disable this macro. */ -# define link_warning(symbol, msg) -# else -# define link_warning(symbol, msg) \ - asm (".stabs \"" msg "\",30,0,0,0\n\t" \ - ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -# endif /* XCOFF */ -# endif -#else -/* We will never be heard; they will all die horribly. */ -# define link_warning(symbol, msg) -#endif - -/* A canned warning for sysdeps/stub functions. */ -#define stub_warning(name) \ - link_warning (name, \ - "warning: " #name " is not implemented and will always fail") - -/* - -*/ - -#ifdef HAVE_GNU_LD - -/* Symbol set support macros. */ - -# ifdef HAVE_ELF - -/* Make SYMBOL, which is in the text segment, an element of SET. */ -# define text_set_element(set, symbol) _elf_set_element(set, symbol) -/* Make SYMBOL, which is in the data segment, an element of SET. */ -# define data_set_element(set, symbol) _elf_set_element(set, symbol) -/* Make SYMBOL, which is in the bss segment, an element of SET. */ -# define bss_set_element(set, symbol) _elf_set_element(set, symbol) - -/* These are all done the same way in ELF. - There is a new section created for each set. */ -# ifdef SHARED -/* When building a shared library, make the set section writable, - because it will need to be relocated at run time anyway. */ -# define _elf_set_element(set, symbol) \ - static const void *__elf_set_##set##_element_##symbol##__ \ - __attribute__ ((unused, section (#set))) = &(symbol) -# else -# define _elf_set_element(set, symbol) \ - static const void *const __elf_set_##set##_element_##symbol##__ \ - __attribute__ ((unused, section (#set))) = &(symbol) -# endif - -/* Define SET as a symbol set. This may be required (it is in a.out) to - be able to use the set's contents. */ -# define symbol_set_define(set) symbol_set_declare(set) - -/* Declare SET for use in this module, if defined in another module. */ -# define symbol_set_declare(set) \ - extern void *const __start_##set __attribute__ ((__weak__)); \ - extern void *const __stop_##set __attribute__ ((__weak__)); \ - weak_extern (__start_##set) weak_extern (__stop_##set) - -/* Return a pointer (void *const *) to the first element of SET. */ -# define symbol_set_first_element(set) (&__start_##set) - -/* Return true iff PTR (a void *const *) has been incremented - past the last element in SET. */ -# define symbol_set_end_p(set, ptr) ((ptr) >= &__stop_##set) - -# else /* Not ELF: a.out. */ - -# ifdef HAVE_XCOFF -/* XCOFF does not support .stabs. - The native aix linker will remove the .stab and .stabstr sections - The gnu linker will have a fatal error if there is a relocation for - symbol in the .stab section. Silently disable these macros. */ -# define text_set_element(set, symbol) -# define data_set_element(set, symbol) -# define bss_set_element(set, symbol) -# else -# define text_set_element(set, symbol) \ - asm (".stabs \"" __SYMBOL_PREFIX #set "\",23,0,0," __SYMBOL_PREFIX #symbol) -# define data_set_element(set, symbol) \ - asm (".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol) -# define bss_set_element(set, symbol) ?error Must use initialized data. -# endif /* XCOFF */ -# define symbol_set_define(set) void *const (set)[1]; -# define symbol_set_declare(set) extern void *const (set)[1]; - -# define symbol_set_first_element(set) &(set)[1] -# define symbol_set_end_p(set, ptr) (*(ptr) == 0) - -# endif /* ELF. */ -#else -/* We cannot do anything in generial. */ -# define text_set_element(set, symbol) asm ("") -# define data_set_element(set, symbol) asm ("") -# define bss_set_element(set, symbol) asm ("") -# define symbol_set_define(set) void *const (set)[1]; -# define symbol_set_declare(set) extern void *const (set)[1]; - -# define symbol_set_first_element(set) &(set)[1] -# define symbol_set_end_p(set, ptr) (*(ptr) == 0) -#endif /* Have GNU ld. */ - -#if DO_VERSIONING -# define symbol_version(real, name, version) \ - _symbol_version(real, name, version) -# define default_symbol_version(real, name, version) \ - _default_symbol_version(real, name, version) -# ifdef __ASSEMBLER__ -# define _symbol_version(real, name, version) \ - .symver real, name##@##version -# define _default_symbol_version(real, name, version) \ - .symver real, name##@##@##version -# else -# define _symbol_version(real, name, version) \ - __asm__ (".symver " #real "," #name "@" #version) -# define _default_symbol_version(real, name, version) \ - __asm__ (".symver " #real "," #name "@@" #version) -# endif -#else -# define symbol_version(real, name, version) -# define default_symbol_version(real, name, version) \ - strong_alias(real, name) -#endif - -#if defined HAVE_VISIBILITY_ATTRIBUTE && defined SHARED -# define attribute_hidden __attribute__ ((visibility ("hidden"))) -#else -# define attribute_hidden -#endif - -/* Handling on non-exported internal names. We have to do this only - for shared code. */ -#ifdef SHARED -# define INTUSE(name) name##_internal -# define INTDEF(name) strong_alias (name, name##_internal) -# define INTVARDEF(name) \ - _INTVARDEF (name, name##_internal) -# if defined HAVE_VISIBILITY_ATTRIBUTE -# define _INTVARDEF(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((alias (#name), \ - visibility ("hidden"))); -# else -# define _INTVARDEF(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((alias (#name))); -# endif -# define INTDEF2(name, newname) strong_alias (name, newname##_internal) -# define INTVARDEF2(name, newname) _INTVARDEF (name, newname##_internal) -#else -# define INTUSE(name) name -# define INTDEF(name) -# define INTVARDEF(name) -# define INTDEF2(name, newname) -# define INTVARDEF2(name, newname) -#endif - -#endif /* libc-symbols.h */ diff --git a/libpthread/include/pthread.h b/libpthread/include/pthread.h deleted file mode 100644 index 1d4d3c7b..00000000 --- a/libpthread/include/pthread.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _PTHREAD_H -#include <pthread/pthread.h> - -extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); -extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex); - -#endif diff --git a/libpthread/include/pthread/pthread.h b/libpthread/include/pthread/pthread.h deleted file mode 100644 index cd32fb22..00000000 --- a/libpthread/include/pthread/pthread.h +++ /dev/null @@ -1,755 +0,0 @@ -/* Copyright (C) 2000, 2002, 2005, 2006, 2007, 2008, 2009, 2010 - 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* - * POSIX Threads Extension: ??? <pthread.h> - */ - -#ifndef _PTHREAD_H -#define _PTHREAD_H 1 - -#include <features.h> - -#include <sys/cdefs.h> -#ifndef __extern_inline -/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 - inline semantics, unless -fgnu89-inline is used. */ -# if !defined __cplusplus || __GNUC_PREREQ (4,3) -# if defined __GNUC_STDC_INLINE__ || defined __cplusplus -# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) -# if __GNUC_PREREQ (4,3) -# define __extern_always_inline \ - extern __always_inline __attribute__ ((__gnu_inline__, __artificial__)) -# else -# define __extern_always_inline \ - extern __always_inline __attribute__ ((__gnu_inline__)) -# endif -# else -# define __extern_inline extern __inline -# define __extern_always_inline extern __always_inline -# endif -# endif -#endif - -#include <sched.h> -#include <time.h> - -__BEGIN_DECLS - -#include <pthread/pthreadtypes.h> - -#include <bits/pthread.h> - -/* Possible values for the process shared attribute. */ -#define PTHREAD_PROCESS_PRIVATE __PTHREAD_PROCESS_PRIVATE -#define PTHREAD_PROCESS_SHARED __PTHREAD_PROCESS_SHARED - - -/* Thread attributes. */ - -/* Possible values for the inheritsched attribute. */ -#define PTHREAD_EXPLICIT_SCHED __PTHREAD_EXPLICIT_SCHED -#define PTHREAD_INHERIT_SCHED __PTHREAD_INHERIT_SCHED - -/* Possible values for the `contentionscope' attribute. */ -#define PTHREAD_SCOPE_SYSTEM __PTHREAD_SCOPE_SYSTEM -#define PTHREAD_SCOPE_PROCESS __PTHREAD_SCOPE_PROCESS - -/* Possible values for the `detachstate' attribute. */ -#define PTHREAD_CREATE_JOINABLE __PTHREAD_CREATE_JOINABLE -#define PTHREAD_CREATE_DETACHED __PTHREAD_CREATE_DETACHED - -#include <bits/thread-attr.h> - -/* Initialize the thread attribute object in *ATTR to the default - values. */ -extern int pthread_attr_init (pthread_attr_t *attr); - -/* Destroy the thread attribute object in *ATTR. */ -extern int pthread_attr_destroy (pthread_attr_t *attr); - - -/* Return the value of the inheritsched attribute in *ATTR in - *INHERITSCHED. */ -extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict attr, - int *__restrict inheritsched); - -/* Set the value of the inheritsched attribute in *ATTR to - INHERITSCHED. */ -extern int pthread_attr_setinheritsched (pthread_attr_t *attr, - int inheritsched); - - -/* Return the value of the schedparam attribute in *ATTR in *PARAM. */ -extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict attr, - struct sched_param *__restrict param); - -/* Set the value of the schedparam attribute in *ATTR to PARAM. */ -extern int pthread_attr_setschedparam (pthread_attr_t *__restrict attr, - const struct sched_param *__restrict param); - - -/* Return the value of the schedpolicy attribute in *ATTR to *POLICY. */ -extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict attr, - int *__restrict policy); - -/* Set the value of the schedpolicy attribute in *ATTR to POLICY. */ -extern int pthread_attr_setschedpolicy (pthread_attr_t *attr, - int policy); - - -/* Return the value of the contentionscope attribute in *ATTR in - *CONTENTIONSCOPE. */ -extern int pthread_attr_getscope (const pthread_attr_t *__restrict attr, - int *__restrict contentionscope); - -/* Set the value of the contentionscope attribute in *ATTR to - CONTENTIONSCOPE. */ -extern int pthread_attr_setscope (pthread_attr_t *attr, - int contentionscope); - - -/* Return the value of the stackaddr attribute in *ATTR in - *STACKADDR. */ -extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict attr, - void **__restrict stackaddr); - -/* Set the value of the stackaddr attribute in *ATTR to STACKADDR. */ -extern int pthread_attr_setstackaddr (pthread_attr_t *attr, - void *stackaddr); - - -#ifdef __USE_XOPEN2K -/* Return the value of the stackaddr and stacksize attributes in *ATTR - in *STACKADDR and *STACKSIZE respectively. */ -extern int pthread_attr_getstack (const pthread_attr_t *__restrict attr, - void **__restrict stackaddr, - size_t *__restrict stacksize); - -/* Set the value of the stackaddr and stacksize attributes in *ATTR to - STACKADDR and STACKSIZE respectively. */ -extern int pthread_attr_setstack (pthread_attr_t *attr, - void *stackaddr, - size_t stacksize); -#endif - - -/* Return the value of the detachstate attribute in *ATTR in - *DETACHSTATE. */ -extern int pthread_attr_getdetachstate (const pthread_attr_t *attr, - int *detachstate); - -/* Set the value of the detachstate attribute in *ATTR to - DETACHSTATE. */ -extern int pthread_attr_setdetachstate (pthread_attr_t *attr, - int detachstate); - - -/* Return the value of the guardsize attribute in *ATTR in - *GUARDSIZE. */ -extern int pthread_attr_getguardsize (const pthread_attr_t *__restrict attr, - size_t *__restrict guardsize); - -/* Set the value of the guardsize attribute in *ATTR to GUARDSIZE. */ -extern int pthread_attr_setguardsize (pthread_attr_t *attr, - size_t guardsize); - - -/* Return the value of the stacksize attribute in *ATTR in - *STACKSIZE. */ -extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict attr, - size_t *__restrict stacksize); - -/* Set the value of the stacksize attribute in *ATTR to STACKSIZE. */ -extern int pthread_attr_setstacksize (pthread_attr_t *attr, - size_t stacksize); - -#ifdef __USE_GNU -/* Initialize thread attribute *ATTR with attributes corresponding to the - already running thread THREAD. It shall be called on an uninitialized ATTR - and destroyed with pthread_attr_destroy when no longer needed. */ -extern int pthread_getattr_np (pthread_t thread, pthread_attr_t *attr); -#endif - - -/* Create a thread with attributes given by ATTR, executing - START_ROUTINE with argument ARG. */ -extern int pthread_create (pthread_t *__restrict __threadp, - __const pthread_attr_t *__restrict __attr, - void *(*__start_routine)(void *), - void *__restrict __arg); - -/* Terminate the current thread and make STATUS available to any - thread that might join us. */ -extern void pthread_exit (void *__status) __attribute__ ((noreturn)); - -/* Make calling thread wait for termination of thread THREAD. Return - the exit status of the thread in *STATUS. */ -extern int pthread_join (pthread_t __threadp, void **__status); - -/* Indicate that the storage for THREAD can be reclaimed when it - terminates. */ -extern int pthread_detach (pthread_t __threadp); - -/* Compare thread IDs T1 and T2. Return nonzero if they are equal, 0 - if they are not. */ -extern int pthread_equal (pthread_t __t1, pthread_t __t2); - -# ifdef __USE_EXTERN_INLINES - -__extern_inline int -pthread_equal (pthread_t __t1, pthread_t __t2) -{ - return __pthread_equal (__t1, __t2); -} - -# endif /* Use extern inlines. */ - - -/* Return the thread ID of the calling thread. */ -extern pthread_t pthread_self (void); - - -/* Mutex attributes. */ - -#define PTHREAD_PRIO_NONE_NP __PTHREAD_PRIO_NONE -#define PTHREAD_PRIO_INHERIT_NP __PTHREAD_PRIO_INHERIT -#define PTHREAD_PRIO_PROTECT_NP __PTHREAD_PRIO_PROTECT -#ifdef __USE_UNIX98 -#define PTHREAD_PRIO_NONE PTHREAD_PRIO_NONE_NP -#define PTHREAD_PRIO_INHERIT PTHREAD_PRIO_INHERIT_NP -#define PTHREAD_PRIO_PROTECT PTHREAD_PRIO_PROTECT_NP -#endif - -#define PTHREAD_MUTEX_TIMED_NP __PTHREAD_MUTEX_TIMED -#define PTHREAD_MUTEX_ERRORCHECK_NP __PTHREAD_MUTEX_ERRORCHECK -#define PTHREAD_MUTEX_RECURSIVE_NP __PTHREAD_MUTEX_RECURSIVE -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 -#define PTHREAD_MUTEX_NORMAL PTHREAD_MUTEX_TIMED_NP -#define PTHREAD_MUTEX_ERRORCHECK PTHREAD_MUTEX_ERRORCHECK_NP -#define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP -#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL -#endif -#ifdef __USE_GNU -/* For compatibility. */ -#define PTHREAD_MUTEX_FAST_NP PTHREAD_MUTEX_TIMED_NP -#endif - -#include <bits/mutex-attr.h> - -/* Initialize the mutex attribute object in *ATTR to the default - values. */ -extern int pthread_mutexattr_init(pthread_mutexattr_t *attr); - -/* Destroy the mutex attribute structure in *ATTR. */ -extern int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); - - -#ifdef __USE_UNIX98 -/* Return the value of the prioceiling attribute in *ATTR in - *PRIOCEILING. */ -extern int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *__restrict attr, - int *__restrict prioceiling); - -/* Set the value of the prioceiling attribute in *ATTR to - PRIOCEILING. */ -extern int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, - int prioceiling); - - -/* Return the value of the protocol attribute in *ATTR in - *PROTOCOL. */ -extern int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *__restrict attr, - int *__restrict protocol); - -/* Set the value of the protocol attribute in *ATTR to PROTOCOL. */ -extern int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, - int protocol); -#endif - - -/* Return the value of the process shared attribute in *ATTR in - *PSHARED. */ -extern int pthread_mutexattr_getpshared(const pthread_mutexattr_t *__restrict attr, - int *__restrict pshared); - -/* Set the value of the process shared attribute in *ATTR to - PSHARED. */ -extern int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, - int pshared); - - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 -/* Return the value of the type attribute in *ATTR in *TYPE. */ -extern int pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict attr, - int *__restrict type); - -/* Set the value of the type attribute in *ATTR to TYPE. */ -extern int pthread_mutexattr_settype(pthread_mutexattr_t *attr, - int type); -#endif - - -/* Mutexes. */ - -#include <bits/mutex.h> - -#define PTHREAD_MUTEX_INITIALIZER __PTHREAD_MUTEX_INITIALIZER -/* Static initializer for recursive mutexes. */ - -#ifdef __USE_GNU -# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ - __PTHREAD_ERRORCHECK_MUTEX_INITIALIZER -# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ - __PTHREAD_RECURSIVE_MUTEX_INITIALIZER -#endif - -/* Create a mutex with attributes given by ATTR and store it in - *__MUTEX. */ -extern int pthread_mutex_init (struct __pthread_mutex *__restrict __mutex, - const pthread_mutexattr_t *__restrict attr); - -/* Destroy the mutex __MUTEX. */ -extern int pthread_mutex_destroy (struct __pthread_mutex *__mutex); - -/* Wait until lock for MUTEX becomes available and lock it. */ -extern int pthread_mutex_lock (pthread_mutex_t *__mutex); - -/* Try to lock MUTEX. */ -extern int pthread_mutex_trylock (pthread_mutex_t *__mutex); - -#ifdef __USE_XOPEN2K -/* Try to lock MUTEX, block until *ABSTIME if it is already held. */ -extern int pthread_mutex_timedlock (struct __pthread_mutex *__restrict mutex, - const struct timespec *__restrict abstime); -#endif - -/* Unlock MUTEX. */ -extern int pthread_mutex_unlock (pthread_mutex_t *__mutex); - -/* Transfer ownership of the mutex MUTEX to the thread TID. The - caller must own the lock. */ -extern int __pthread_mutex_transfer_np (struct __pthread_mutex *mutex, - pthread_t tid); - - -#ifdef __USE_UNIX98 -/* Return the priority ceiling of mutex *MUTEX in *PRIOCEILING. */ -extern int pthread_mutex_getprioceiling (const pthread_mutex_t *__restrict mutex, - int *__restrict prioceiling); - -/* After acquiring the mutex *MUTEX, set its priority ceiling to PRIO - and return the old priority ceiling in *OLDPRIO. Before returning, - release the mutex. */ -extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict mutex, - int prio, int *__restrict oldprio); -#endif - - - -/* Condition attributes. */ - -#include <bits/condition-attr.h> - -/* Initialize the condition attribute in *ATTR to the default - values. */ -extern int pthread_condattr_init (pthread_condattr_t *attr); - -/* Destroy the condition attribute structure in *ATTR. */ -extern int pthread_condattr_destroy (pthread_condattr_t *attr); - - -#ifdef __USE_XOPEN2K -/* Return the value of the clock attribute in *ATTR in *CLOCK_ID. */ -extern int pthread_condattr_getclock (const pthread_condattr_t *__restrict attr, - __clockid_t *__restrict clock_id); - -/* Set the value of the clock attribute in *ATTR to CLOCK_ID. */ -extern int pthread_condattr_setclock (pthread_condattr_t *attr, - __clockid_t clock_id); -#endif - - -/* Return the value of the process shared attribute in *ATTR in - *PSHARED. */ -extern int pthread_condattr_getpshared (const pthread_condattr_t *__restrict attr, - int *__restrict pshared); - -/* Set the value of the process shared attribute in *ATTR to - PSHARED. */ -extern int pthread_condattr_setpshared (pthread_condattr_t *attr, - int pshared); - - -/* Condition variables. */ - -#include <bits/condition.h> - -#define PTHREAD_COND_INITIALIZER __PTHREAD_COND_INITIALIZER - -extern int pthread_cond_init (pthread_cond_t *__restrict cond, - const pthread_condattr_t *__restrict attr); - -extern int pthread_cond_destroy (pthread_cond_t *cond); - -/* Unblock at least one of the threads that are blocked on condition - variable COND. */ -extern int pthread_cond_signal (pthread_cond_t *__cond); - -/* Unblock all threads that are blocked on condition variable COND. */ -extern int pthread_cond_broadcast (pthread_cond_t *__cond); - -/* Block on condition variable COND. MUTEX should be held by the - calling thread. On success, MUTEX will be held by the calling - thread. */ -extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex); - -/* Block on condition variable COND. MUTEX should be held by the - calling thread. On success, MUTEX will be held by the calling - thread. If the time specified by ABSTIME passes, ETIMEDOUT is - returned, and MUTEX will nevertheless be held. */ -extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - __const struct timespec *__restrict __abstime); - - -/* Spin locks. */ - -#ifdef __USE_XOPEN2K - -# include <bits/spin-lock.h> - -#define PTHREAD_SPINLOCK_INITIALIZER __PTHREAD_SPIN_LOCK_INITIALIZER - -/* Destroy the spin lock object LOCK. */ -extern int pthread_spin_destroy (pthread_spinlock_t *__lock); - -/* Initialize the spin lock object LOCK. PSHARED determines whether - the spin lock can be operated upon by multiple processes. */ -extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared); - -/* Lock the spin lock object LOCK. If the lock is held by another - thread spin until it becomes available. */ -extern int pthread_spin_lock (pthread_spinlock_t *__lock); - -/* Lock the spin lock object LOCK. Fail if the lock is held by - another thread. */ -extern int pthread_spin_trylock (pthread_spinlock_t *__lock); - -/* Unlock the spin lock object LOCK. */ -extern int pthread_spin_unlock (pthread_spinlock_t *__lock); - -# ifdef __USE_EXTERN_INLINES - -# include <bits/spin-lock-inline.h> - -__extern_inline int -pthread_spin_destroy (pthread_spinlock_t *__lock) -{ - return __pthread_spin_destroy (__lock); -} - -__extern_inline int -pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) -{ - return __pthread_spin_init (__lock, __pshared); -} - -__extern_inline int -pthread_spin_lock (pthread_spinlock_t *__lock) -{ - return __pthread_spin_lock (__lock); -} - -__extern_inline int -pthread_spin_trylock (pthread_spinlock_t *__lock) -{ - return __pthread_spin_trylock (__lock); -} - -__extern_inline int -pthread_spin_unlock (pthread_spinlock_t *__lock) -{ - return __pthread_spin_unlock (__lock); -} - -# endif /* Use extern inlines. */ - -#endif /* XPG6. */ - - -/* rwlock attributes. */ - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K - -#include <bits/rwlock-attr.h> - -/* Initialize rwlock attribute object in *ATTR to the default - values. */ -extern int pthread_rwlockattr_init (pthread_rwlockattr_t *attr); - -/* Destroy the rwlock attribute object in *ATTR. */ -extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr); - - -/* Return the value of the process shared attribute in *ATTR in - *PSHARED. */ -extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__restrict attr, - int *__restrict pshared); - -/* Set the value of the process shared atrribute in *ATTR to - PSHARED. */ -extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, - int pshared); - - -/* rwlocks. */ - -#include <bits/rwlock.h> - -#define PTHREAD_RWLOCK_INITIALIZER __PTHREAD_RWLOCK_INITIALIZER -/* Create a rwlock object with attributes given by ATTR and strore the - result in *RWLOCK. */ -extern int pthread_rwlock_init (pthread_rwlock_t *__restrict rwlock, - const pthread_rwlockattr_t *__restrict attr); - -/* Destroy the rwlock *RWLOCK. */ -extern int pthread_rwlock_destroy (pthread_rwlock_t *rwlock); - -/* Acquire the rwlock *RWLOCK for reading. */ -extern int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock); - -/* Acquire the rwlock *RWLOCK for reading. */ -extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock); - -# ifdef __USE_XOPEN2K -/* Acquire the rwlock *RWLOCK for reading blocking until *ABSTIME if - it is already held. */ -extern int pthread_rwlock_timedrdlock (struct __pthread_rwlock *__restrict rwlock, - const struct timespec *__restrict abstime); -# endif - -/* Acquire the rwlock *RWLOCK for writing. */ -extern int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock); - -/* Try to acquire the rwlock *RWLOCK for writing. */ -extern int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock); - -# ifdef __USE_XOPEN2K -/* Acquire the rwlock *RWLOCK for writing blocking until *ABSTIME if - it is already held. */ -extern int pthread_rwlock_timedwrlock (struct __pthread_rwlock *__restrict rwlock, - const struct timespec *__restrict abstime); -# endif - -/* Release the lock held by the current thread on *RWLOCK. */ -extern int pthread_rwlock_unlock (pthread_rwlock_t *rwlock); - -#endif /* __USE_UNIX98 || __USE_XOPEN2K */ - - - -/* Cancelation. */ - -/* Register a cleanup handler. */ -extern void pthread_cleanup_push (void (*routine) (void *), void *arg); - -/* Unregister a cleanup handler. */ -extern void pthread_cleanup_pop (int execute); - -#include <bits/cancelation.h> - -#define pthread_cleanup_push(rt, rtarg) __pthread_cleanup_push(rt, rtarg) -#define pthread_cleanup_pop(execute) __pthread_cleanup_pop(execute) - -#define PTHREAD_CANCEL_DISABLE 0 -#define PTHREAD_CANCEL_ENABLE 1 - -/* Return the calling thread's cancelation state in *OLDSTATE and set - its state to STATE. */ -extern int pthread_setcancelstate (int state, int *oldstate); - -#define PTHREAD_CANCEL_DEFERRED 0 -#define PTHREAD_CANCEL_ASYNCHRONOUS 1 - -/* Return the calling thread's cancelation type in *OLDTYPE and set - its type to TYPE. */ -extern int pthread_setcanceltype (int type, int *oldtype); - -/* Value returned by pthread_join if the target thread was - canceled. */ -#define PTHREAD_CANCELED ((void *) -1) - -/* Cancel THEAD. */ -extern int pthread_cancel (pthread_t thread); - -/* Add an explicit cancelation point. */ -extern void pthread_testcancel (void); - - -/* Barriers attributes. */ - -#ifdef __USE_XOPEN2K - -#include <bits/barrier-attr.h> - -/* Initialize barrier attribute object in *ATTR to the default - values. */ -extern int pthread_barrierattr_init (pthread_barrierattr_t *attr); - -/* Destroy the barrier attribute object in *ATTR. */ -extern int pthread_barrierattr_destroy (pthread_barrierattr_t *attr); - - -/* Return the value of the process shared attribute in *ATTR in - *PSHARED. */ -extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *__restrict attr, - int *__restrict pshared); - -/* Set the value of the process shared atrribute in *ATTR to - PSHARED. */ -extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *attr, - int pshared); - - -/* Barriers. */ - -#include <bits/barrier.h> - -/* Returned by pthread_barrier_wait to exactly one thread each time a - barrier is passed. */ -#define PTHREAD_BARRIER_SERIAL_THREAD -1 - -/* Initialize barrier BARRIER. */ -extern int pthread_barrier_init (pthread_barrier_t *__restrict barrier, - const pthread_barrierattr_t *__restrict attr, - unsigned count); - -/* Destroy barrier BARRIER. */ -extern int pthread_barrier_destroy (pthread_barrier_t *barrier); - -/* Wait on barrier BARRIER. */ -extern int pthread_barrier_wait (pthread_barrier_t *barrier); - -#endif /* __USE_XOPEN2K */ - - - -/* Thread specific data. */ - -#include <bits/thread-specific.h> - -/* Create a thread specific data key in KEY visible to all threads. - On thread destruction, DESTRUCTOR shall be called with the thread - specific data associate with KEY if it is not NULL. */ -extern int pthread_key_create (pthread_key_t *key, - void (*destructor) (void *)); - -/* Delete the thread specific data key KEY. The associated destructor - function is not called. */ -extern int pthread_key_delete (pthread_key_t key); - -/* Return the caller thread's thread specific value of KEY. */ -extern void *pthread_getspecific (pthread_key_t key); - -/* Set the caller thread's thread specific value of KEY to VALUE. */ -extern int pthread_setspecific (pthread_key_t key, const void *value); - - -/* Dynamic package initialization. */ - -#include <bits/once.h> - -#define PTHREAD_ONCE_INIT __PTHREAD_ONCE_INIT - -/* Call INIT_ROUTINE if this function has never been called with - *ONCE_CONTROL, otherwise do nothing. */ -extern int pthread_once (pthread_once_t *once_control, - void (*init_routine) (void)); - - -/* Concurrency. */ - -#ifdef __USE_UNIX98 -/* Set the desired concurrency level to NEW_LEVEL. */ -extern int pthread_setconcurrency (int new_level); - -/* Get the current concurrency level. */ -extern int pthread_getconcurrency (void); -#endif - - -/* Forking. */ - -/* Register the function PREPARE to be run before the process forks, - the function PARENT to be run after a fork in the parent and the - function CHILD to be run in the child after the fork. If no - handling is desired then any of PREPARE, PARENT and CHILD may be - NULL. The prepare handles will be called in the reverse order - which they were registered and the parent and child handlers in the - order in which they were registered. */ -extern int pthread_atfork (void (*prepare) (void), void (*parent) (void), - void (*child) (void)); - - -/* Signals (should be in <signal.h>). */ - -/* Send signal SIGNO to thread THREAD. */ -extern int pthread_kill (pthread_t thread, int signo); - - -/* Time. */ - -#ifdef __USE_XOPEN2K -/* Return the thread cpu clock. */ -extern int pthread_getcpuclockid (pthread_t thread, __clockid_t *clock); -#endif - - -/* Scheduling. */ - -/* Return thread THREAD's scheduling paramters. */ -extern int pthread_getschedparam (pthread_t thread, int *__restrict policy, - struct sched_param *__restrict param); - -/* Set thread THREAD's scheduling paramters. */ -extern int pthread_setschedparam (pthread_t thread, int policy, - const struct sched_param *param); - -/* Set thread THREAD's scheduling priority. */ -extern int pthread_setschedprio (pthread_t thread, int prio); - -#ifdef __USE_GNU -/* Yield the processor to another thread or process. - This function is similar to the POSIX `sched_yield' function but - might be differently implemented in the case of a m-on-n thread - implementation. */ -extern int pthread_yield (void); -#endif - - -/* Kernel-specific interfaces. */ - -#include <bits/pthread-np.h> - - -__END_DECLS - -#endif /* pthread.h */ diff --git a/libpthread/include/pthread/pthreadtypes.h b/libpthread/include/pthread/pthreadtypes.h deleted file mode 100644 index 33bd0099..00000000 --- a/libpthread/include/pthread/pthreadtypes.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 2000, 2002, 2005, 2008 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* - * POSIX Threads Extension: ??? <pthreadtypes.h> - */ - -#ifndef _PTHREADTYPES_H -#define _PTHREADTYPES_H 1 - -#include <features.h> - -#include <bits/types.h> - -__BEGIN_DECLS - -#include <bits/pthread.h> -typedef __pthread_t pthread_t; - -/* Possible values for the process shared attribute. */ -enum __pthread_process_shared - { - __PTHREAD_PROCESS_PRIVATE = 0, - __PTHREAD_PROCESS_SHARED - }; - -/* Possible values for the inheritsched attribute. */ -enum __pthread_inheritsched - { - __PTHREAD_EXPLICIT_SCHED = 0, - __PTHREAD_INHERIT_SCHED - }; - -/* Possible values for the `contentionscope' attribute. */ -enum __pthread_contentionscope - { - __PTHREAD_SCOPE_SYSTEM = 0, - __PTHREAD_SCOPE_PROCESS - }; - -/* Possible values for the `detachstate' attribute. */ -enum __pthread_detachstate - { - __PTHREAD_CREATE_JOINABLE = 0, - __PTHREAD_CREATE_DETACHED - }; - -#include <bits/thread-attr.h> -typedef struct __pthread_attr pthread_attr_t; - -enum __pthread_mutex_protocol - { - __PTHREAD_PRIO_NONE= 0, - __PTHREAD_PRIO_INHERIT, - __PTHREAD_PRIO_PROTECT - }; - -enum __pthread_mutex_type - { - __PTHREAD_MUTEX_TIMED, - __PTHREAD_MUTEX_ERRORCHECK, - __PTHREAD_MUTEX_RECURSIVE - }; - -#include <bits/mutex-attr.h> -typedef struct __pthread_mutexattr pthread_mutexattr_t; - -#include <bits/mutex.h> -typedef struct __pthread_mutex pthread_mutex_t; - -#include <bits/condition-attr.h> -typedef struct __pthread_condattr pthread_condattr_t; - -#include <bits/condition.h> -typedef struct __pthread_cond pthread_cond_t; - -#ifdef __USE_XOPEN2K -# include <bits/spin-lock.h> -typedef __pthread_spinlock_t pthread_spinlock_t; -#endif /* XPG6. */ - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K - -#include <bits/rwlock-attr.h> -typedef struct __pthread_rwlockattr pthread_rwlockattr_t; - -#include <bits/rwlock.h> -typedef struct __pthread_rwlock pthread_rwlock_t; - -#endif /* __USE_UNIX98 || __USE_XOPEN2K */ - -#ifdef __USE_XOPEN2K - -#include <bits/barrier-attr.h> -typedef struct __pthread_barrierattr pthread_barrierattr_t; - -#include <bits/barrier.h> -typedef struct __pthread_barrier pthread_barrier_t; - -#endif /* __USE_XOPEN2K */ - -#include <bits/thread-specific.h> -typedef __pthread_key pthread_key_t; - -#include <bits/once.h> -typedef struct __pthread_once pthread_once_t; - -__END_DECLS - -#endif /* pthreadtypes.h */ diff --git a/libpthread/include/semaphore.h b/libpthread/include/semaphore.h deleted file mode 100644 index 657e796e..00000000 --- a/libpthread/include/semaphore.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Copyright (C) 2005, 2007 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _SEMAPHORE_H -#define _SEMAPHORE_H 1 - -#include <features.h> - -__BEGIN_DECLS - -#include <bits/semaphore.h> - -#define SEM_FAILED ((void *) 0) - -typedef struct __semaphore sem_t; - -/* Initialize semaphore *SEM with value VALUE. */ -extern int sem_init (sem_t *sem, int pshared, unsigned value); - -/* Destroy semaphore *SEM created with sem_init. */ -extern int sem_destroy (sem_t *sem); - -/* Store the value of semaphore *SEM in *VALUE. */ -extern int sem_getvalue (sem_t *__restrict sem, int *__restrict value); - -/* Perform a down operation on semaphore *SEM. */ -extern int sem_wait (sem_t *sem); - -/* Perform a down operation on semaphore *SEM if it can be done so - without blocking. */ -extern int sem_trywait (sem_t *sem); - -#ifdef __USE_XOPEN2K -/* Perform a down operation on semaphore *SEM but don't wait longer - than TIMEOUT. */ -extern int sem_timedwait (sem_t *__restrict sem, - const struct timespec *__restrict timeout); -#endif - -/* Perform an up operation on semaphore *SEM. */ -extern int sem_post (sem_t *sem); - -/* Open a named semaphore. */ -extern sem_t *sem_open (const char *name, int open_flags, ...); - -/* Close a semaphore returned by sem_open. */ -extern int sem_close (sem_t *sem); - -/* Unlink a named semaphore. */ -extern int sem_unlink (const char *name); - -__END_DECLS - -#endif /* semaphore.h */ diff --git a/libpthread/include/set-hooks.h b/libpthread/include/set-hooks.h deleted file mode 100644 index 9ed71b32..00000000 --- a/libpthread/include/set-hooks.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Macros for using symbol sets for running lists of functions. - Copyright (C) 1994, 1995, 1997, 2000 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SET_HOOKS_H -#define _SET_HOOKS_H 1 - -#define __need_size_t -#include <stddef.h> -// #include <sys/cdefs.h> -#define __unbounded - -#ifdef symbol_set_define -/* Define a hook variable called NAME. Functions put on this hook take - arguments described by PROTO. Use `text_set_element (NAME, FUNCTION)' - from gnu-stabs.h to add a function to the hook. */ - -# define DEFINE_HOOK(NAME, PROTO) \ - typedef void __##NAME##_hook_function_t PROTO; \ - symbol_set_define (NAME) - -# define DECLARE_HOOK(NAME, PROTO) \ - typedef void __##NAME##_hook_function_t PROTO;\ - symbol_set_declare (NAME) - -/* Run all the functions hooked on the set called NAME. - Each function is called like this: `function ARGS'. */ - -# define RUN_HOOK(NAME, ARGS) \ -do { \ - void *const *__unbounded ptr; \ - for (ptr = symbol_set_first_element (NAME); \ - ! symbol_set_end_p (NAME, ptr); ++ptr) \ - (*(__##NAME##_hook_function_t *) *ptr) ARGS; \ -} while (0) - -/* Define a hook variable with NAME and PROTO, and a function called RUNNER - which calls each function on the hook in turn, with ARGS. */ - -# define DEFINE_HOOK_RUNNER(name, runner, proto, args) \ -DEFINE_HOOK (name, proto); \ -extern void runner proto; void runner proto { RUN_HOOK (name, args); } - -#else - -/* The system does not provide necessary support for this. */ -# define DEFINE_HOOK(NAME, PROTO) - -# define DECLARE_HOOK(NAME, PROTO) - -# define RUN_HOOK(NAME, ARGS) - -# define DEFINE_HOOK_RUNNER(name, runner, proto, args) - -#endif - -#endif /* set-hooks.h */ |
