26#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H 
   27#define _GLIBCXX_GCC_GTHR_SINGLE_H 
   31typedef int __gthread_key_t;
 
   32typedef int __gthread_once_t;
 
   33typedef int __gthread_mutex_t;
 
   34typedef int __gthread_recursive_mutex_t;
 
   36#define __GTHREAD_ONCE_INIT 0 
   37#define __GTHREAD_MUTEX_INIT 0 
   38#define __GTHREAD_MUTEX_INIT_FUNCTION(mx) do {} while (0) 
   39#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 
   41#define _GLIBCXX_UNUSED __attribute__((__unused__)) 
   46static void *thread_local_storage = NULL;
 
   52__gthread_objc_init_thread_system (
void)
 
   60__gthread_objc_close_thread_system (
void)
 
   69static inline objc_thread_t
 
   70__gthread_objc_thread_detach (
void (* func)(
void *), 
void * arg _GLIBCXX_UNUSED)
 
   78__gthread_objc_thread_set_priority (
int priority _GLIBCXX_UNUSED)
 
   86__gthread_objc_thread_get_priority (
void)
 
   88  return OBJC_THREAD_INTERACTIVE_PRIORITY;
 
   93__gthread_objc_thread_yield (
void)
 
  100__gthread_objc_thread_exit (
void)
 
  109static inline objc_thread_t
 
  110__gthread_objc_thread_id (
void)
 
  113  return (objc_thread_t) 1;
 
  118__gthread_objc_thread_set_data (
void *value)
 
  120  thread_local_storage = value;
 
  126__gthread_objc_thread_get_data (
void)
 
  128  return thread_local_storage;
 
  135__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  142__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  149__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  157__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  165__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  174__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED)
 
  181__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED)
 
  188__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED,
 
  189                               objc_mutex_t mutex _GLIBCXX_UNUSED)
 
  196__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED)
 
  203__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED)
 
  211__gthread_active_p (
void)
 
  217__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, 
void (*__func) (
void) _GLIBCXX_UNUSED)
 
  222static inline int _GLIBCXX_UNUSED
 
  223__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, 
void (*__func) (
void *) _GLIBCXX_UNUSED)
 
  228static int _GLIBCXX_UNUSED
 
  229__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED)
 
  235__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED)
 
  241__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, 
const void *__v _GLIBCXX_UNUSED)
 
  247__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
 
  253__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
 
  259__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
 
  265__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
 
  271__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
 
  273  return __gthread_mutex_lock (__mutex);
 
  277__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
 
  279  return __gthread_mutex_trylock (__mutex);
 
  283__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
 
  285  return __gthread_mutex_unlock (__mutex);
 
  289__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
 
  291  return __gthread_mutex_destroy (__mutex);
 
  296#undef _GLIBCXX_UNUSED