diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/thread.h')
-rw-r--r-- | nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/thread.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/thread.h b/nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/thread.h new file mode 100644 index 0000000000..355967bb1a --- /dev/null +++ b/nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/thread.h @@ -0,0 +1,85 @@ +/* Copyright (C) 2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008. + + 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 _THREAD_H +#define _THREAD_H + +#include <signal.h> +#include <synch.h> + +typedef unsigned int thread_t; +typedef unsigned int thread_key_t; + +#define THR_BOUND 0x00000001 /* PTHREAD_SCOPE_SYSTEM; unused */ +#define THR_NEW_LWP 0x00000002 /* unused */ +#define THR_DETACHED 0x00000040 /* PTHREAD_CREATE_DETACHED */ +#define THR_SUSPENDED 0x00000080 +#define THR_DAEMON 0x00000100 + +#define THR_ONCE_KEY (thread_key_t)(-1) + +#define TRS_VALID 0 +#define TRS_NONVOLATILE 1 +#define TRS_LWPID 2 +#define TRS_INVALID 3 + +__BEGIN_DECLS + +extern int thr_create (void *, size_t, void * (*)(void *), void *, long, + thread_t *); + +extern int thr_join (thread_t, thread_t *, void **); + +extern int thr_setconcurrency (int); + +extern int thr_getconcurrency (void); + +extern void thr_exit (void *); + +extern thread_t thr_self (void); + +extern int thr_main (void); + +extern int thr_kill (thread_t, int); + +extern int thr_suspend (thread_t); + +extern int thr_continue (thread_t); + +extern void thr_yield (void); + +extern int thr_setprio (thread_t, int); + +extern int thr_getprio (thread_t, int *); + +extern int thr_keycreate (thread_key_t *, void(*)(void *)); + +extern int thr_keycreate_once (thread_key_t *, void(*)(void *)); + +extern int thr_setspecific (thread_key_t, void *); + +extern int thr_getspecific (thread_key_t, void **); + +extern int thr_sigsetmask (int how, const sigset_t *set, sigset_t *oset); + +extern int thr_stksegment (stack_t *stk); + +__END_DECLS + +#endif /* _THREAD_H */ |