le_mutex.h
Go to the documentation of this file.
1 
145 //--------------------------------------------------------------------------------------------------
153 //--------------------------------------------------------------------------------------------------
154 
155 #ifndef LEGATO_MUTEX_INCLUDE_GUARD
156 #define LEGATO_MUTEX_INCLUDE_GUARD
157 
158 //--------------------------------------------------------------------------------------------------
162 //--------------------------------------------------------------------------------------------------
163 typedef struct le_mutex* le_mutex_Ref_t;
164 
165 //--------------------------------------------------------------------------------------------------
173 //--------------------------------------------------------------------------------------------------
175 (
176  const char* nameStr
177 );
178 
179 //--------------------------------------------------------------------------------------------------
187 //--------------------------------------------------------------------------------------------------
189 (
190  const char* nameStr
191 );
192 
193 //--------------------------------------------------------------------------------------------------
201 //--------------------------------------------------------------------------------------------------
203 (
204  const char* nameStr
205 );
206 
207 //--------------------------------------------------------------------------------------------------
215 //--------------------------------------------------------------------------------------------------
217 (
218  const char* nameStr
219 );
220 
221 //--------------------------------------------------------------------------------------------------
227 //--------------------------------------------------------------------------------------------------
228 void le_mutex_Delete
229 (
230  le_mutex_Ref_t mutexRef
231 );
232 
233 //--------------------------------------------------------------------------------------------------
239 //--------------------------------------------------------------------------------------------------
240 void le_mutex_Lock
241 (
242  le_mutex_Ref_t mutexRef
243 );
244 
245 //--------------------------------------------------------------------------------------------------
255 //--------------------------------------------------------------------------------------------------
257 (
258  le_mutex_Ref_t mutexRef
259 );
260 
261 //--------------------------------------------------------------------------------------------------
267 //--------------------------------------------------------------------------------------------------
268 void le_mutex_Unlock
269 (
270  le_mutex_Ref_t mutexRef
271 );
272 
273 //--------------------------------------------------------------------------------------------------
293 //--------------------------------------------------------------------------------------------------
294 #define LE_MUTEX_DECLARE_REF(refName) \
295  static le_mutex_Ref_t refName; \
296  static inline void Lock(void) { le_mutex_Lock(refName); } \
297  static inline void Unlock(void) { le_mutex_Unlock(refName); }
298 
299 #endif /* LEGATO_MUTEX_INCLUDE_GUARD */
le_result_t
Definition: le_basics.h:35
struct le_mutex * le_mutex_Ref_t
Definition: le_mutex.h:163
le_mutex_Ref_t le_mutex_CreateRecursive(const char *nameStr)
void le_mutex_Lock(le_mutex_Ref_t mutexRef)
le_result_t le_mutex_TryLock(le_mutex_Ref_t mutexRef)
le_mutex_Ref_t le_mutex_CreateTraceableNonRecursive(const char *nameStr)
le_mutex_Ref_t le_mutex_CreateNonRecursive(const char *nameStr)
le_mutex_Ref_t le_mutex_CreateTraceableRecursive(const char *nameStr)
void le_mutex_Delete(le_mutex_Ref_t mutexRef)
void le_mutex_Unlock(le_mutex_Ref_t mutexRef)