Orocos Real-Time Toolkit  2.8.3
ecos_rec_mutex.h
Go to the documentation of this file.
1 /***************************************************************************
2  tag:
3 
4  ecos_rec_mutex.h - description
5  -------------------
6  begin : Jan 21 2006
7  copyright : (C) 2006 Klaas Gadeyne
8  email : firstname lastname at fmtc be
9 
10  ***************************************************************************
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, *
24  * Suite 330, Boston, MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 
29 #ifndef ORO_OS_ECOS_REC_MUTEX_HPP
30 #define ORO_OS_ECOS_REC_MUTEX_HPP
31 
32 #include <cyg/kernel/kapi.h>
33 
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #endif
38 
39 typedef struct
40 {
41  cyg_mutex_t mutex;
42  cyg_handle_t owner;
43  cyg_uint32 count;
44 }
46 
49 
52 
55 
58 
61 
62 #ifdef __cplusplus
63 }
64 #endif // __cplusplus
65 
66 #endif
void cyg_recursive_mutex_destroy(cyg_recursive_mutex_t *mx)
Destroy.
void cyg_recursive_mutex_unlock(cyg_recursive_mutex_t *mx)
Unlock.
void cyg_recursive_mutex_init(cyg_recursive_mutex_t *mx)
Initialize recursive mutex.
bool cyg_recursive_mutex_lock(cyg_recursive_mutex_t *mx)
Lock recursive mutex.
bool cyg_recursive_mutex_trylock(cyg_recursive_mutex_t *mx)
Trylock.