WL865E4-P  36.07.001
m2mb_os_sem.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_SEM_H
28 #define M2MB_OS_SEM_H
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
43 /*-----------------------------------------------------------------------------------------------*/
44 
49 /*-----------------------------------------------------------------------------------------------*/
50 
51 /* Global declarations ==========================================================================*/
52 #define M2MB_OS_SEM_INVALID 0
53 #define M2MB_OS_SEM_INVALID_ATTR 0
54 /* Global typedefs --------------------------------------------------------------- */
55 typedef enum
56 {
64 
65 typedef enum
66 {
69 
81 
87  /* ---- */
91 
94 
95 
96 /* Global functions =============================================================================*/
97 
98 
99 /*-----------------------------------------------------------------------------------------------*/
162 /*-----------------------------------------------------------------------------------------------*/
164  M2MB_OS_SEM_HANDLE *pSemHandle,
165  M2MB_OS_SEM_ATTR_HANDLE *pSemAttr
166 );
167 
168 /*-----------------------------------------------------------------------------------------------*/
208 /*-----------------------------------------------------------------------------------------------*/
210 
211 /*-----------------------------------------------------------------------------------------------*/
262 /*-----------------------------------------------------------------------------------------------*/
263 M2MB_OS_RESULT_E m2mb_os_sem_get( M2MB_OS_SEM_HANDLE semHandle, UINT32 timeoutTicks );
264 
265 /*-----------------------------------------------------------------------------------------------*/
307 /*-----------------------------------------------------------------------------------------------*/
309 
310 /*-----------------------------------------------------------------------------------------------*/
357 /*-----------------------------------------------------------------------------------------------*/
359 
360 /*-----------------------------------------------------------------------------------------------*/
455 /*-----------------------------------------------------------------------------------------------*/
457  M2MB_OS_SEM_ATTR_HANDLE *pSemAttrHandle,
458  UINT8 nCmds,
459  ...
460 );
461 
462 /*-----------------------------------------------------------------------------------------------*/
532 /*-----------------------------------------------------------------------------------------------*/
534  M2MB_OS_SEM_SEL_CMD_E selCmd,
535  MEM_W *pOut,
536  void *pIn
537  );
538 
539 /*-----------------------------------------------------------------------------------------------*/
585 /*-----------------------------------------------------------------------------------------------*/
587  M2MB_OS_SEM_HANDLE semHandle,
588  M2MB_OS_SEM_SEL_CMD_E selCmd,
589  void *pIn
590 );
591 
595 /*-----------------------------------------------------------------------------------------------*/
596 
597 #ifdef __cplusplus
598 }
599 #endif
600 #endif /* M2MB_OS_SEM_H */
M2MB_OS_RESULT_E m2mb_os_sem_setItem(M2MB_OS_SEM_HANDLE semHandle, M2MB_OS_SEM_SEL_CMD_E selCmd, void *pIn)
Set specific semaphore properties.
unsigned char UINT8
Definition: m2mb_types.h:83
M2MB_OS_RESULT_E m2mb_os_sem_put(M2MB_OS_SEM_HANDLE semHandle)
Place (put) an instance in semaphore.
M2MB_OS_RESULT_E m2mb_os_sem_setAttrItem(M2MB_OS_SEM_ATTR_HANDLE *pSemAttrHandle, UINT8 nCmds,...)
Set semaphore attribute for creation.
M2MB_OS_RESULT_E m2mb_os_sem_hptf(M2MB_OS_SEM_HANDLE semHandle)
Prioritize semaphore suspension list HPTF: Highest Priority Task First.
M2MB_OS_SEM_TYPE_E
Definition: m2mb_os_sem.h:55
unsigned long int UINT32
Definition: m2mb_types.h:85
M2MB_OS_SEM_SEL_CMD_E
Definition: m2mb_os_sem.h:65
M2MB_OS_RESULT_E m2mb_os_sem_get(M2MB_OS_SEM_HANDLE semHandle, UINT32 timeoutTicks)
Get an instance of semaphore.
HANDLE M2MB_OS_SEM_ATTR_HANDLE
Definition: m2mb_os_sem.h:93
HANDLE M2MB_OS_SEM_HANDLE
Definition: m2mb_os_sem.h:92
M2MB_OS_RESULT_E m2mb_os_sem_init(M2MB_OS_SEM_HANDLE *pSemHandle, M2MB_OS_SEM_ATTR_HANDLE *pSemAttr)
Semaphore creation.
UINT32 MEM_W
Definition: m2mb_types.h:91
M2MB_OS_RESULT_E m2mb_os_sem_getItem(M2MB_OS_SEM_HANDLE semHandle, M2MB_OS_SEM_SEL_CMD_E selCmd, MEM_W *pOut, void *pIn)
Get specific semaphore properties.
enum M2MB_OS_RESULT M2MB_OS_RESULT_E
void * HANDLE
Definition: m2mb_types.h:95
M2MB_OS_RESULT_E m2mb_os_sem_deinit(M2MB_OS_SEM_HANDLE semHandle)
Semaphore deinit or deletion.
#define ENUM_TO_INT(Prefix)
Definition: m2mb_types.h:198