WL865E4-P  36.07.001
m2mb_os_mtx.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
27 #ifndef M2MB_OS_MTX_H
28 #define M2MB_OS_MTX_H
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
43 /*-----------------------------------------------------------------------------------------------*/
44 
49 /*-----------------------------------------------------------------------------------------------*/
50 
51 
52 /* GLOBAL DECLARATIONS ----------------------------------------------------------- */
53 #define M2MB_OS_MTX_INVALID 0
54 #define M2MB_OS_MTX_INVALID_ATTR 0
55 
56 /* Global declarations ==========================================================================*/
57 
58 /* Global typedefs --------------------------------------------------------------- */
59 
60 typedef enum
61 {
74  /* ---- */
78 
81 
82 
83 /* Global functions =============================================================================*/
84 
85 /*-----------------------------------------------------------------------------------------------*/
141 /*-----------------------------------------------------------------------------------------------*/
143  M2MB_OS_MTX_HANDLE *pMtxHandle,
144  M2MB_OS_MTX_ATTR_HANDLE *pMtxAttr
145 );
146 
147 /*-----------------------------------------------------------------------------------------------*/
186 /*-----------------------------------------------------------------------------------------------*/
188 
189 /*-----------------------------------------------------------------------------------------------*/
242 /*-----------------------------------------------------------------------------------------------*/
243 M2MB_OS_RESULT_E m2mb_os_mtx_get( M2MB_OS_MTX_HANDLE mtxHandle, UINT32 timeoutTicks );
244 
245 /*-----------------------------------------------------------------------------------------------*/
286 /*-----------------------------------------------------------------------------------------------*/
288 
289 /*-----------------------------------------------------------------------------------------------*/
333 /*-----------------------------------------------------------------------------------------------*/
335 
336 /*-----------------------------------------------------------------------------------------------*/
416 /*-----------------------------------------------------------------------------------------------*/
418  M2MB_OS_MTX_ATTR_HANDLE *pMtxAttrHandle,
419  UINT8 nCmds,
420  ...
421 );
422 
423 /*-----------------------------------------------------------------------------------------------*/
486 /*-----------------------------------------------------------------------------------------------*/
488  M2MB_OS_MTX_HANDLE mtxHandle,
489  M2MB_OS_MTX_SEL_CMD_E selCmd,
490  MEM_W *pOut,
491  void *pIn
492 );
493 
494 /*-----------------------------------------------------------------------------------------------*/
538 /*-----------------------------------------------------------------------------------------------*/
540  M2MB_OS_MTX_SEL_CMD_E selCmd,
541  void *pIn
542  );
543 
547 /*-----------------------------------------------------------------------------------------------*/
548 
549 #ifdef __cplusplus
550 }
551 #endif
552 
553 #endif /* M2MB_OS_MTX_H */
M2MB_OS_RESULT_E m2mb_os_mtx_getItem(M2MB_OS_MTX_HANDLE mtxHandle, M2MB_OS_MTX_SEL_CMD_E selCmd, MEM_W *pOut, void *pIn)
Get specific properties of the mutex.
unsigned char UINT8
Definition: m2mb_types.h:83
HANDLE M2MB_OS_MTX_ATTR_HANDLE
Definition: m2mb_os_mtx.h:80
M2MB_OS_RESULT_E m2mb_os_mtx_init(M2MB_OS_MTX_HANDLE *pMtxHandle, M2MB_OS_MTX_ATTR_HANDLE *pMtxAttr)
Mutex Creation.
M2MB_OS_RESULT_E m2mb_os_mtx_setItem(M2MB_OS_MTX_HANDLE mtxHandle, M2MB_OS_MTX_SEL_CMD_E selCmd, void *pIn)
Set specific properties of the mutex.
M2MB_OS_RESULT_E m2mb_os_mtx_hptf(M2MB_OS_MTX_HANDLE mtxHandle)
Prioritize mutex suspension list HPTF: Highest Priority Task First.
M2MB_OS_RESULT_E m2mb_os_mtx_get(M2MB_OS_MTX_HANDLE mtxHandle, UINT32 timeoutTicks)
Get the ownership of the mutex (critical session enter)
M2MB_OS_RESULT_E m2mb_os_mtx_deinit(M2MB_OS_MTX_HANDLE mtxHandle)
Mutex deinit or deletion.
M2MB_OS_RESULT_E m2mb_os_mtx_put(M2MB_OS_MTX_HANDLE mtxHandle)
Release ownership of the mutex (if counter = 0: exit critical section)
M2MB_OS_RESULT_E m2mb_os_mtx_setAttrItem(M2MB_OS_MTX_ATTR_HANDLE *pMtxAttrHandle, UINT8 nCmds,...)
Set specific attribute for mutex creation.
unsigned long int UINT32
Definition: m2mb_types.h:85
HANDLE M2MB_OS_MTX_HANDLE
Definition: m2mb_os_mtx.h:79
UINT32 MEM_W
Definition: m2mb_types.h:91
enum M2MB_OS_RESULT M2MB_OS_RESULT_E
void * HANDLE
Definition: m2mb_types.h:95
M2MB_OS_MTX_SEL_CMD_E
Definition: m2mb_os_mtx.h:60
#define ENUM_TO_INT(Prefix)
Definition: m2mb_types.h:198