Blame sysdeps/htl/pthread-functions.h

Packit Service 82fcde
/* Declaration of libc stubs for pthread functions.  Hurd version.
Packit Service 82fcde
   Copyright (C) 2003-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library;  if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
#ifndef _PTHREAD_FUNCTIONS_H
Packit Service 82fcde
#define _PTHREAD_FUNCTIONS_H	1
Packit Service 82fcde
Packit Service 82fcde
#include <pthread.h>
Packit Service 82fcde
Packit Service 82fcde
int __pthread_attr_destroy (pthread_attr_t *);
Packit Service 82fcde
int __pthread_attr_init (pthread_attr_t *);
Packit Service 82fcde
int __pthread_attr_getdetachstate (const pthread_attr_t *, int *);
Packit Service 82fcde
int __pthread_attr_setdetachstate (pthread_attr_t *, int);
Packit Service 82fcde
int __pthread_attr_getinheritsched (const pthread_attr_t *, int *);
Packit Service 82fcde
int __pthread_attr_setinheritsched (pthread_attr_t *, int);
Packit Service 82fcde
int __pthread_attr_getschedparam (const pthread_attr_t *,
Packit Service 82fcde
				 struct sched_param *);
Packit Service 82fcde
int __pthread_attr_setschedparam (pthread_attr_t *,
Packit Service 82fcde
				 const struct sched_param *);
Packit Service 82fcde
int __pthread_attr_getschedpolicy (const pthread_attr_t *, int *);
Packit Service 82fcde
int __pthread_attr_setschedpolicy (pthread_attr_t *, int);
Packit Service 82fcde
int __pthread_attr_getscope (const pthread_attr_t *, int *);
Packit Service 82fcde
int __pthread_attr_setscope (pthread_attr_t *, int);
Packit Service 82fcde
int __pthread_condattr_destroy (pthread_condattr_t *);
Packit Service 82fcde
int __pthread_condattr_init (pthread_condattr_t *);
Packit Service 82fcde
int __pthread_cond_broadcast (pthread_cond_t *);
Packit Service 82fcde
int __pthread_cond_destroy (pthread_cond_t *);
Packit Service 82fcde
int __pthread_cond_init (pthread_cond_t *,
Packit Service 82fcde
		       const pthread_condattr_t *);
Packit Service 82fcde
int __pthread_cond_signal (pthread_cond_t *);
Packit Service 82fcde
int __pthread_cond_wait (pthread_cond_t *, pthread_mutex_t *);
Packit Service 82fcde
int __pthread_cond_timedwait (pthread_cond_t *, pthread_mutex_t *,
Packit Service 82fcde
			     const struct timespec *);
Packit Service 82fcde
int __pthread_equal (pthread_t, pthread_t);
Packit Service 82fcde
void __pthread_exit (void *);
Packit Service 82fcde
int __pthread_getschedparam (pthread_t, int *, struct sched_param *);
Packit Service 82fcde
int __pthread_setschedparam (pthread_t, int,
Packit Service 82fcde
			    const struct sched_param *);
Packit Service 82fcde
int _pthread_mutex_destroy (pthread_mutex_t *);
Packit Service 82fcde
int _pthread_mutex_init (pthread_mutex_t *,
Packit Service 82fcde
			 const pthread_mutexattr_t *);
Packit Service 82fcde
int __pthread_mutex_lock (pthread_mutex_t *);
Packit Service 82fcde
int __pthread_mutex_trylock (pthread_mutex_t *);
Packit Service 82fcde
int __pthread_mutex_unlock (pthread_mutex_t *);
Packit Service 82fcde
pthread_t __pthread_self (void);
Packit Service 82fcde
int __pthread_setcancelstate (int, int *);
Packit Service 82fcde
int __pthread_setcanceltype (int, int *);
Packit Service 82fcde
struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void);
Packit Service 82fcde
int __pthread_once (pthread_once_t *, void (*) (void));
Packit Service 82fcde
int __pthread_rwlock_rdlock (pthread_rwlock_t *);
Packit Service 82fcde
int __pthread_rwlock_wrlock (pthread_rwlock_t *);
Packit Service 82fcde
int __pthread_rwlock_unlock (pthread_rwlock_t *);
Packit Service 82fcde
int __pthread_key_create (pthread_key_t *, void (*) (void *));
Packit Service 82fcde
void *__pthread_getspecific (pthread_key_t);
Packit Service 82fcde
int __pthread_setspecific (pthread_key_t, const void *);
Packit Service 82fcde
Packit Service 82fcde
void _cthreads_flockfile (FILE *);
Packit Service 82fcde
void _cthreads_funlockfile (FILE *);
Packit Service 82fcde
int _cthreads_ftrylockfile (FILE *);
Packit Service 82fcde
Packit Service 82fcde
/* Data type shared with libc.  The libc uses it to pass on calls to
Packit Service 82fcde
   the thread functions.  Wine pokes directly into this structure,
Packit Service 82fcde
   so if possible avoid breaking it and append new hooks to the end.  */
Packit Service 82fcde
struct pthread_functions
Packit Service 82fcde
{
Packit Service 82fcde
  int (*ptr_pthread_attr_destroy) (pthread_attr_t *);
Packit Service 82fcde
  int (*ptr_pthread_attr_init) (pthread_attr_t *);
Packit Service 82fcde
  int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *);
Packit Service 82fcde
  int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
Packit Service 82fcde
  int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
Packit Service 82fcde
  int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
Packit Service 82fcde
  int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,
Packit Service 82fcde
					 struct sched_param *);
Packit Service 82fcde
  int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *,
Packit Service 82fcde
					 const struct sched_param *);
Packit Service 82fcde
  int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *);
Packit Service 82fcde
  int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int);
Packit Service 82fcde
  int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *);
Packit Service 82fcde
  int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int);
Packit Service 82fcde
  int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *);
Packit Service 82fcde
  int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_broadcast) (pthread_cond_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_destroy) (pthread_cond_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_init) (pthread_cond_t *,
Packit Service 82fcde
			       const pthread_condattr_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_signal) (pthread_cond_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *);
Packit Service 82fcde
  int (*ptr_pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *,
Packit Service 82fcde
				     const struct timespec *);
Packit Service 82fcde
  int (*ptr_pthread_equal) (pthread_t, pthread_t);
Packit Service 82fcde
  void (*ptr___pthread_exit) (void *);
Packit Service 82fcde
  int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *);
Packit Service 82fcde
  int (*ptr_pthread_setschedparam) (pthread_t, int,
Packit Service 82fcde
				    const struct sched_param *);
Packit Service 82fcde
  int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
Packit Service 82fcde
  int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
Packit Service 82fcde
				 const pthread_mutexattr_t *);
Packit Service 82fcde
  int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
Packit Service 82fcde
  int (*ptr_pthread_mutex_trylock) (pthread_mutex_t *);
Packit Service 82fcde
  int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
Packit Service 82fcde
  pthread_t (*ptr_pthread_self) (void);
Packit Service 82fcde
  int (*ptr___pthread_setcancelstate) (int, int *);
Packit Service 82fcde
  int (*ptr_pthread_setcanceltype) (int, int *);
Packit Service 82fcde
  struct __pthread_cancelation_handler **(*ptr___pthread_get_cleanup_stack) (void);
Packit Service 82fcde
  int (*ptr_pthread_once) (pthread_once_t *, void (*) (void));
Packit Service 82fcde
  int (*ptr_pthread_rwlock_rdlock) (pthread_rwlock_t *);
Packit Service 82fcde
  int (*ptr_pthread_rwlock_wrlock) (pthread_rwlock_t *);
Packit Service 82fcde
  int (*ptr_pthread_rwlock_unlock) (pthread_rwlock_t *);
Packit Service 82fcde
  int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *));
Packit Service 82fcde
  void *(*ptr___pthread_getspecific) (pthread_key_t);
Packit Service 82fcde
  int (*ptr___pthread_setspecific) (pthread_key_t, const void *);
Packit Service 82fcde
  void (*ptr__IO_flockfile) (FILE *);
Packit Service 82fcde
  void (*ptr__IO_funlockfile) (FILE *);
Packit Service 82fcde
  int (*ptr__IO_ftrylockfile) (FILE *);
Packit Service 82fcde
};
Packit Service 82fcde
Packit Service 82fcde
/* Variable in libc.so.  */
Packit Service 82fcde
extern struct pthread_functions __libc_pthread_functions attribute_hidden;
Packit Service 82fcde
extern int __libc_pthread_functions_init attribute_hidden;
Packit Service 82fcde
Packit Service 82fcde
void __libc_pthread_init (const struct pthread_functions *functions);
Packit Service 82fcde
Packit Service 82fcde
#define PTHFCT_CALL(fct, params) \
Packit Service 82fcde
    __libc_pthread_functions.fct params
Packit Service 82fcde
Packit Service 82fcde
#endif	/* pthread-functions.h */