47 SM_DBG6((
"smTimerTick: start\n"));
79 timerRequest->
timeout = timeout;
122 timerlist_to_process = &smAllShared->timerlist;
124 timerlist_to_process = timerlist_to_process->
flink;
126 while ((timerlist_to_process !=
agNULL) && (timerlist_to_process != &smAllShared->timerlist))
128 nexttimerlist = timerlist_to_process->
flink;
134 if (timerRequest_to_process ==
agNULL)
136 SM_DBG1((
"smProcessTimers: timerRequest_to_process is NULL! Error!!!\n"));
140 timerRequest_to_process->
timeout--;
142 if (timerRequest_to_process->
timeout == 0)
156 timerlist_to_process = nexttimerlist;
The file defines the constants, data structure, and functions defined by LL API.
The file defines the declaration of tSDK APIs.
The file defines the declaration of OS APIs.
#define SMLIST_ENQUEUE_AT_TAIL(toAddHdr, listHdr)
#define SMLIST_OBJECT_BASE(baseType, fieldName, fieldPtr)
#define SMLIST_INIT_ELEMENT(hdr)
#define SMLIST_DEQUEUE_THIS(hdr)
osGLOBAL void smTimerTick(smRoot_t *smRoot)
osGLOBAL void smAddTimer(smRoot_t *smRoot, smList_t *timerListHdr, smTimerRequest_t *timerRequest)
osGLOBAL void smProcessTimers(smRoot_t *smRoot)
osGLOBAL void smSetTimerRequest(smRoot_t *smRoot, smTimerRequest_t *timerRequest, bit32 timeout, smTimerCBFunc_t CBFunc, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void smInitTimerRequest(smRoot_t *smRoot, smTimerRequest_t *timerRequest)
osGLOBAL void smKillTimer(smRoot_t *smRoot, smTimerRequest_t *timerRequest)
void(* smTimerCBFunc_t)(smRoot_t *smRoot, void *timerData1, void *timerData2, void *timerData3)
smIntContext_t smAllShared
data structure for timer request Timer requests are enqueued and dequeued using smList_t and have a c...
smTimerCBFunc_t timerCBFunc
osGLOBAL FORCEINLINE void tdsmSingleThreadedEnter(smRoot_t *smRoot, bit32 syncLockId)
osGLOBAL FORCEINLINE void tdsmSingleThreadedLeave(smRoot_t *smRoot, bit32 syncLockId)