提交 397eebfd authored 作者: Michael Jerris's avatar Michael Jerris

dos2unix.

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@126 a93c3328-9c30-0410-af19-c9cd2b2d52af
上级 743414e0
...@@ -94,98 +94,98 @@ int Q921Tx23Proc(L2TRUNK trunk, L2UCHAR *Msg, L2INT size) ...@@ -94,98 +94,98 @@ int Q921Tx23Proc(L2TRUNK trunk, L2UCHAR *Msg, L2INT size)
return trunk->Q921Tx23Proc(trunk->PrivateData23, Msg, size); return trunk->Q921Tx23Proc(trunk->PrivateData23, Msg, size);
} }
/***************************************************************************** /*****************************************************************************
Function: Q921TimeTick Function: Q921TimeTick
Description: Called periodically from an external source to allow the Description: Called periodically from an external source to allow the
stack to process and maintain it's own timers. stack to process and maintain it's own timers.
Return Value: none Return Value: none
*****************************************************************************/ *****************************************************************************/
L2ULONG (*Q921GetTimeProc) ()=NULL; /* callback for func reading time in ms */ L2ULONG (*Q921GetTimeProc) ()=NULL; /* callback for func reading time in ms */
static L2ULONG tLast={0}; static L2ULONG tLast={0};
L2ULONG Q921GetTime() L2ULONG Q921GetTime()
{ {
L2ULONG tNow = 0; L2ULONG tNow = 0;
if(Q921GetTimeProc != NULL) if(Q921GetTimeProc != NULL)
{ {
tNow = Q921GetTimeProc(); tNow = Q921GetTimeProc();
if(tNow < tLast) /* wrapped */ if(tNow < tLast) /* wrapped */
{ {
/* TODO */ /* TODO */
} }
tLast = tNow; tLast = tNow;
} }
return tNow; return tNow;
} }
void Q921T200TimerStart(L2TRUNK trunk) void Q921T200TimerStart(L2TRUNK trunk)
{ {
if (!trunk->T200) { if (!trunk->T200) {
trunk->T200 = Q921GetTime() + trunk->T200Timeout; trunk->T200 = Q921GetTime() + trunk->T200Timeout;
} }
} }
void Q921T200TimerStop(L2TRUNK trunk) void Q921T200TimerStop(L2TRUNK trunk)
{ {
trunk->T200 = 0; trunk->T200 = 0;
} }
void Q921T200TimerReset(L2TRUNK trunk) void Q921T200TimerReset(L2TRUNK trunk)
{ {
Q921T200TimerStop(trunk); Q921T200TimerStop(trunk);
Q921T200TimerStart(trunk); Q921T200TimerStart(trunk);
} }
void Q921T203TimerStart(L2TRUNK trunk) void Q921T203TimerStart(L2TRUNK trunk)
{ {
if (!trunk->T203) { if (!trunk->T203) {
trunk->T203 = Q921GetTime() + trunk->T203Timeout; trunk->T203 = Q921GetTime() + trunk->T203Timeout;
} }
} }
void Q921T203TimerStop(L2TRUNK trunk) void Q921T203TimerStop(L2TRUNK trunk)
{ {
trunk->T203 = 0; trunk->T203 = 0;
} }
void Q921T203TimerReset(L2TRUNK trunk) void Q921T203TimerReset(L2TRUNK trunk)
{ {
Q921T203TimerStop(trunk); Q921T203TimerStop(trunk);
Q921T203TimerStart(trunk); Q921T203TimerStart(trunk);
} }
void Q921T200TimerExpire(L2TRUNK trunk) void Q921T200TimerExpire(L2TRUNK trunk)
{ {
(void)trunk; (void)trunk;
} }
void Q921T203TimerExpire(L2TRUNK trunk) void Q921T203TimerExpire(L2TRUNK trunk)
{ {
Q921T203TimerReset(trunk); Q921T203TimerReset(trunk);
Q921SendRR(trunk, trunk->sapi, trunk->NetUser == Q921_TE ? 0 : 1, trunk->tei, 1); Q921SendRR(trunk, trunk->sapi, trunk->NetUser == Q921_TE ? 0 : 1, trunk->tei, 1);
} }
void Q921TimerTick(L2TRUNK trunk) void Q921TimerTick(L2TRUNK trunk)
{ {
L2ULONG tNow = Q921GetTime(); L2ULONG tNow = Q921GetTime();
if (trunk->T200 && tNow > trunk->T200) { if (trunk->T200 && tNow > trunk->T200) {
Q921T200TimerExpire(trunk); Q921T200TimerExpire(trunk);
} }
if (trunk->T203 && tNow > trunk->T203) { if (trunk->T203 && tNow > trunk->T203) {
Q921T203TimerExpire(trunk); Q921T203TimerExpire(trunk);
} }
} }
void Q921SetGetTimeCB(L2ULONG (*callback)()) void Q921SetGetTimeCB(L2ULONG (*callback)())
{ {
Q921GetTimeProc = callback; Q921GetTimeProc = callback;
} }
/***************************************************************************** /*****************************************************************************
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论