m2m_os_lock_api.h

/* M2M_T_OS_LOCK: Lock handle used by m2m_os_lock_init(...)*/

typedef void *M2M_T_OS_LOCK;

 

/* M2M_T_OS_MSLOCK: Lock handle used by m2m_os_mslock_init(...)*/

typedef void *M2M_T_OS_MSLOCK;

 

/* M2M_T_OS_MTX: Lock handle used by m2m_os_mtx_init(...) */

typedef void *M2M_T_OS_MTX;

 

/* LOCK_RESULT_T */

typedef enum

{

 LOCK_ERROR = -1,

 LOCK_GOT = 0,

 LOCK_NOT_GOT,

 LOCK_TIMEOUTED,

 LOCK_DESTROYED,

}LOCK_RESULT_T;

 

/* MS_SEM_STATE */

typedef struct

{

  INT16             count;

  INT16             count_suspended;

  INT16             count_sem_waiting;

  UINT16                       n_sem;

  UINT16                       all_waiting;

  UINT16                       all_locked;

  UINT16                       max_lockable;

}MS_SEM_STATE;