pthread_forward.h 973 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Copyright (c) 2021, Gunnar Beutner <gunnar@beutner.name>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibPthread/pthread.h>
  8. struct PthreadFunctions {
  9. int (*pthread_mutex_trylock)(pthread_mutex_t* mutex);
  10. int (*pthread_mutex_destroy)(pthread_mutex_t*);
  11. int (*pthread_mutexattr_init)(pthread_mutexattr_t*);
  12. int (*pthread_mutexattr_settype)(pthread_mutexattr_t*, int);
  13. int (*pthread_mutexattr_destroy)(pthread_mutexattr_t*);
  14. int (*pthread_once)(pthread_once_t*, void (*)(void));
  15. int (*pthread_cond_broadcast)(pthread_cond_t*);
  16. int (*pthread_cond_init)(pthread_cond_t*, const pthread_condattr_t*);
  17. int (*pthread_cond_signal)(pthread_cond_t*);
  18. int (*pthread_cond_wait)(pthread_cond_t*, pthread_mutex_t*);
  19. int (*pthread_cond_destroy)(pthread_cond_t*);
  20. int (*pthread_cond_timedwait)(pthread_cond_t*, pthread_mutex_t*, const struct timespec*);
  21. };
  22. void __init_pthread_forward(PthreadFunctions);