xref: /haiku/src/libs/posix_error_mapper/pthread_mutex.cpp (revision 39d58e2f49f4b073ded3dbf639fd55730fa520a0)
1*39d58e2fSIngo Weinhold /*
2*39d58e2fSIngo Weinhold  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3*39d58e2fSIngo Weinhold  * Distributed under the terms of the MIT License.
4*39d58e2fSIngo Weinhold  */
5*39d58e2fSIngo Weinhold 
6*39d58e2fSIngo Weinhold #include <pthread.h>
7*39d58e2fSIngo Weinhold 
8*39d58e2fSIngo Weinhold #include "posix_error_mapper.h"
9*39d58e2fSIngo Weinhold 
10*39d58e2fSIngo Weinhold 
11*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_destroy, (pthread_mutex_t *mutex),
12*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_destroy(mutex));
13*39d58e2fSIngo Weinhold )
14*39d58e2fSIngo Weinhold 
15*39d58e2fSIngo Weinhold 
16*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_getprioceiling,
17*39d58e2fSIngo Weinhold 		(pthread_mutex_t *mutex, int *_priorityCeiling),
18*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_getprioceiling(mutex,
19*39d58e2fSIngo Weinhold 		_priorityCeiling));
20*39d58e2fSIngo Weinhold )
21*39d58e2fSIngo Weinhold 
22*39d58e2fSIngo Weinhold 
23*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_init,
24*39d58e2fSIngo Weinhold 		(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr),
25*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_init(mutex, attr));
26*39d58e2fSIngo Weinhold )
27*39d58e2fSIngo Weinhold 
28*39d58e2fSIngo Weinhold 
29*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_lock, (pthread_mutex_t *mutex),
30*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_lock(mutex));
31*39d58e2fSIngo Weinhold )
32*39d58e2fSIngo Weinhold 
33*39d58e2fSIngo Weinhold 
34*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_setprioceiling,
35*39d58e2fSIngo Weinhold 		(pthread_mutex_t *mutex, int newPriorityCeiling,
36*39d58e2fSIngo Weinhold 		int *_oldPriorityCeiling),
37*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_setprioceiling(mutex,
38*39d58e2fSIngo Weinhold 		newPriorityCeiling, _oldPriorityCeiling));
39*39d58e2fSIngo Weinhold )
40*39d58e2fSIngo Weinhold 
41*39d58e2fSIngo Weinhold 
42*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_timedlock,
43*39d58e2fSIngo Weinhold 		(pthread_mutex_t *mutex, const struct timespec *spec),
44*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_timedlock(mutex, spec));
45*39d58e2fSIngo Weinhold )
46*39d58e2fSIngo Weinhold 
47*39d58e2fSIngo Weinhold 
48*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_trylock, (pthread_mutex_t *mutex),
49*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_trylock(mutex));
50*39d58e2fSIngo Weinhold )
51*39d58e2fSIngo Weinhold 
52*39d58e2fSIngo Weinhold 
53*39d58e2fSIngo Weinhold WRAPPER_FUNCTION(int, pthread_mutex_unlock, (pthread_mutex_t *mutex),
54*39d58e2fSIngo Weinhold 	return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_unlock(mutex));
55*39d58e2fSIngo Weinhold )
56