1 #ifndef _PTHREAD_IMPL_H
2 #define _PTHREAD_IMPL_H
20 #define pthread __pthread
24 unsigned long tlsdesc[4];
26 int tsd_used, errno_val, *errno_ptr;
27 volatile int canceldisable, cancelasync, cancelpoint, cancel;
28 unsigned char *map_base;
31 void *(*start)(void *);
36 struct __ptcb *cancelbuf;
41 static inline struct pthread *__pthread_self()
44 __asm__ ("movl %%gs:0,%0" : "=r" (self) );
50 #define SIGTIMER 32 /* ?? */
52 int __set_thread_area(unsigned long *);
53 int __set_pthread_self(void *);
54 int __libc_sigaction(int, const struct sigaction *, struct sigaction *);
55 int __libc_sigprocmask(int, const sigset_t *, sigset_t *);
56 void __lock(volatile int *);
57 void __unmapself(void *, size_t);
59 int __timedwait(volatile int *, int, clockid_t, const struct timespec *, int);
60 void __wait(volatile int *, volatile int *, int, int);
61 void __wake(volatile int *, int, int);
63 #define DEFAULT_STACK_SIZE (16384-PAGE_SIZE)
64 #define DEFAULT_GUARD_SIZE PAGE_SIZE