Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
b2623fb8
提交
b2623fb8
authored
9月 06, 2008
作者:
Stefan Knoblich
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Codingstyle cleanup
git-svn-id:
http://svn.openzap.org/svn/openzap/trunk@535
a93c3328-9c30-0410-af19-c9cd2b2d52af
上级
cb92fcdf
全部展开
显示空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
5301 行增加
和
5592 行删除
+5301
-5592
5ESSStateNT.c
libs/openzap/src/isdn/5ESSStateNT.c
+79
-79
5ESSStateTE.c
libs/openzap/src/isdn/5ESSStateTE.c
+177
-184
5ESSmes.c
libs/openzap/src/isdn/5ESSmes.c
+249
-236
DMSStateNT.c
libs/openzap/src/isdn/DMSStateNT.c
+61
-61
DMSStateTE.c
libs/openzap/src/isdn/DMSStateTE.c
+138
-145
DMSmes.c
libs/openzap/src/isdn/DMSmes.c
+82
-71
EuroISDNStateNT.c
libs/openzap/src/isdn/EuroISDNStateNT.c
+8
-10
EuroISDNStateTE.c
libs/openzap/src/isdn/EuroISDNStateTE.c
+8
-8
Q931.c
libs/openzap/src/isdn/Q931.c
+302
-332
Q931StateNT.c
libs/openzap/src/isdn/Q931StateNT.c
+430
-505
Q931StateTE.c
libs/openzap/src/isdn/Q931StateTE.c
+526
-599
Q931ie.c
libs/openzap/src/isdn/Q931ie.c
+1910
-2072
Q931mes.c
libs/openzap/src/isdn/Q931mes.c
+619
-592
Q932mes.c
libs/openzap/src/isdn/Q932mes.c
+75
-75
DMS.h
libs/openzap/src/isdn/include/DMS.h
+6
-10
Q931.h
libs/openzap/src/isdn/include/Q931.h
+70
-72
Q931ie.h
libs/openzap/src/isdn/include/Q931ie.h
+138
-110
Q932.h
libs/openzap/src/isdn/include/Q932.h
+1
-1
mfifo.h
libs/openzap/src/isdn/include/mfifo.h
+3
-5
national.h
libs/openzap/src/isdn/include/national.h
+8
-12
mfifo.c
libs/openzap/src/isdn/mfifo.c
+139
-150
nationalStateNT.c
libs/openzap/src/isdn/nationalStateNT.c
+66
-66
nationalStateTE.c
libs/openzap/src/isdn/nationalStateTE.c
+128
-128
nationalmes.c
libs/openzap/src/isdn/nationalmes.c
+78
-69
没有找到文件。
libs/openzap/src/isdn/5ESSStateNT.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/5ESSStateTE.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/5ESSmes.c
浏览文件 @
b2623fb8
...
...
@@ -56,13 +56,13 @@
*****************************************************************************/
L3INT
ATT5ESSUmes_Setup
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
ir
=
0
;
L3INT
OOff
=
0
;
L3INT
rc
=
Q931E_NO_ERROR
;
L3INT
ir
=
0
;
L3INT
OOff
=
0
;
L3INT
rc
=
Q931E_NO_ERROR
;
L3UCHAR
last_codeset
=
0
,
codeset
=
0
;
L3UCHAR
shift_lock
=
1
;
while
(
IOff
<
Size
)
while
(
IOff
<
Size
)
{
if
(
!
shift_lock
)
{
codeset
=
last_codeset
;
...
...
@@ -78,7 +78,7 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic
}
if
(
codeset
==
0
)
{
switch
(
IBuf
[
IOff
])
switch
(
IBuf
[
IOff
])
{
case
Q931ie_SENDING_COMPLETE
:
case
Q931ie_BEARER_CAPABILITY
:
...
...
@@ -98,11 +98,11 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic
case
Q931ie_HIGH_LAYER_COMPATIBILITY
:
case
Q931ie_FACILITY
:
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
if
(
rc
!=
Q931E_NO_ERROR
)
if
(
rc
!=
Q931E_NO_ERROR
)
return
rc
;
break
;
case
Q931ie_REPEAT_INDICATOR
:
if
(
ir
<
2
)
{
if
(
ir
<
2
)
{
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
ir
++
;
}
else
{
...
...
@@ -114,11 +114,11 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic
break
;
}
}
else
if
(
codeset
==
6
)
{
switch
(
IBuf
[
IOff
])
switch
(
IBuf
[
IOff
])
{
case
Q931ie_GENERIC_DIGITS
:
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
if
(
rc
!=
Q931E_NO_ERROR
)
if
(
rc
!=
Q931E_NO_ERROR
)
return
rc
;
break
;
default:
...
...
@@ -162,100 +162,113 @@ L3INT ATT5ESSPmes_Setup(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
Q931MesgHeader
(
pTrunk
,
pMes
,
OBuf
,
*
OSize
,
&
Octet
);
/* Sending Complete */
if
(
Q931IsIEPresent
(
pMes
->
SendComplete
))
if
(
Q931IsIEPresent
(
pMes
->
SendComplete
))
{
OBuf
[
Octet
++
]
=
(
L3UCHAR
)(
pMes
->
SendComplete
&
0x00ff
);
}
/* Repeat Indicator */
if
(
Q931IsIEPresent
(
pMes
->
RepeatInd
))
if
(
Q931IsIEPresent
(
pMes
->
RepeatInd
))
{
OBuf
[
Octet
++
]
=
(
L3UCHAR
)(
pMes
->
RepeatInd
&
0x00ff
);
}
/* Bearer capability */
if
(
Q931IsIEPresent
(
pMes
->
BearerCap
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_BEARER_CAPABILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
BearerCap
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
BearerCap
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_BEARER_CAPABILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
BearerCap
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
else
{
rc
=
Q931E_BEARERCAP
;
}
else
{
rc
=
Q931E_BEARERCAP
;
}
/* Channel Identification */
if
(
Q931IsIEPresent
(
pMes
->
ChanID
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CHANNEL_IDENTIFICATION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ChanID
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
ChanID
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CHANNEL_IDENTIFICATION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ChanID
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Progress indicator */
if
(
Q931IsIEPresent
(
pMes
->
ProgInd
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_PROGRESS_INDICATOR
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ProgInd
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
ProgInd
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_PROGRESS_INDICATOR
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ProgInd
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Network specific facilities */
if
(
Q931IsIEPresent
(
pMes
->
NetFac
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_NETWORK_SPECIFIC_FACILITIES
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
NetFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
NetFac
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_NETWORK_SPECIFIC_FACILITIES
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
NetFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Display */
if
(
Q931IsIEPresent
(
pMes
->
Display
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DISPLAY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Display
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
Display
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DISPLAY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Display
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Date/Time */
if
(
Q931IsIEPresent
(
pMes
->
DateTime
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DATETIME
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
DateTime
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
DateTime
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DATETIME
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
DateTime
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Keypad Facility */
if
(
Q931IsIEPresent
(
pMes
->
KeypadFac
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_KEYPAD_FACILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
KeypadFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
KeypadFac
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_KEYPAD_FACILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
KeypadFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Signal */
if
(
Q931IsIEPresent
(
pMes
->
Signal
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_SIGNAL
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Signal
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
Signal
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_SIGNAL
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Signal
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Calling Party Number */
if
(
Q931IsIEPresent
(
pMes
->
CallingNum
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CallingNum
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Calling Party Subaddress */
if
(
Q931IsIEPresent
(
pMes
->
CallingSub
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CallingSub
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Called Party number */
if
(
Q931IsIEPresent
(
pMes
->
CalledNum
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CalledNum
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Called party subaddress */
if
(
Q931IsIEPresent
(
pMes
->
CalledSub
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CalledSub
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Transit network selection */
if
(
Q931IsIEPresent
(
pMes
->
TransNetSel
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_TRANSIT_NETWORK_SELECTION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
TransNetSel
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
TransNetSel
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_TRANSIT_NETWORK_SELECTION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
TransNetSel
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Repeat Indicator */
if
(
Q931IsIEPresent
(
pMes
->
LLRepeatInd
))
if
(
Q931IsIEPresent
(
pMes
->
LLRepeatInd
))
{
rc
=
Q931E_UNKNOWN_IE
;
/* TODO */
}
/* Low Layer Compatibility */
if
(
Q931IsIEPresent
(
pMes
->
LLComp
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_LOW_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
LLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
LLComp
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_LOW_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
LLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* High Layer Compatibility */
if
(
Q931IsIEPresent
(
pMes
->
HLComp
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_HIGH_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
HLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
HLComp
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_HIGH_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
HLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
*
OSize
=
Octet
;
return
rc
;
}
...
...
libs/openzap/src/isdn/DMSStateNT.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/DMSStateTE.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/DMSmes.c
浏览文件 @
b2623fb8
...
...
@@ -53,14 +53,13 @@
*****************************************************************************/
L3INT
DMSUmes_Setup
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
ir
=
0
;
L3INT
OOff
=
0
;
L3INT
rc
=
Q931E_NO_ERROR
;
L3INT
ir
=
0
;
L3INT
OOff
=
0
;
L3INT
rc
=
Q931E_NO_ERROR
;
L3UCHAR
last_codeset
=
0
,
codeset
=
0
;
L3UCHAR
shift_lock
=
1
;
while
(
IOff
<
Size
)
{
while
(
IOff
<
Size
)
{
if
(
!
shift_lock
)
{
codeset
=
last_codeset
;
}
...
...
@@ -75,8 +74,7 @@ L3INT DMSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *me
}
if
(
codeset
==
0
)
{
switch
(
IBuf
[
IOff
])
{
switch
(
IBuf
[
IOff
])
{
case
Q931ie_SENDING_COMPLETE
:
case
Q931ie_BEARER_CAPABILITY
:
case
Q931ie_CHANNEL_IDENTIFICATION
:
...
...
@@ -94,11 +92,11 @@ L3INT DMSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *me
case
Q931ie_LOW_LAYER_COMPATIBILITY
:
case
Q931ie_HIGH_LAYER_COMPATIBILITY
:
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
if
(
rc
!=
Q931E_NO_ERROR
)
if
(
rc
!=
Q931E_NO_ERROR
)
return
rc
;
break
;
case
Q931ie_REPEAT_INDICATOR
:
if
(
ir
<
2
)
{
if
(
ir
<
2
)
{
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
ir
++
;
}
else
{
...
...
@@ -110,11 +108,10 @@ L3INT DMSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *me
break
;
}
}
else
if
(
codeset
==
6
)
{
switch
(
IBuf
[
IOff
])
{
switch
(
IBuf
[
IOff
])
{
case
Q931ie_GENERIC_DIGITS
:
rc
=
Q931Uie
[
pTrunk
->
Dialect
][
IBuf
[
IOff
]](
pTrunk
,
mes
,
&
IBuf
[
IOff
],
&
mes
->
buf
[
OOff
],
&
IOff
,
&
OOff
);
if
(
rc
!=
Q931E_NO_ERROR
)
if
(
rc
!=
Q931E_NO_ERROR
)
return
rc
;
break
;
default:
...
...
@@ -158,100 +155,114 @@ L3INT DMSPmes_Setup(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize
Q931MesgHeader
(
pTrunk
,
pMes
,
OBuf
,
*
OSize
,
&
Octet
);
/* Sending Complete */
if
(
Q931IsIEPresent
(
pMes
->
SendComplete
))
if
(
Q931IsIEPresent
(
pMes
->
SendComplete
))
{
OBuf
[
Octet
++
]
=
(
L3UCHAR
)(
pMes
->
SendComplete
&
0x00ff
);
}
/* Repeat Indicator */
if
(
Q931IsIEPresent
(
pMes
->
RepeatInd
))
if
(
Q931IsIEPresent
(
pMes
->
RepeatInd
))
{
OBuf
[
Octet
++
]
=
(
L3UCHAR
)(
pMes
->
RepeatInd
&
0x00ff
);
}
/* Bearer capability */
if
(
Q931IsIEPresent
(
pMes
->
BearerCap
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_BEARER_CAPABILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
BearerCap
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
BearerCap
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_BEARER_CAPABILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
BearerCap
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
else
{
rc
=
Q931E_BEARERCAP
;
}
else
{
rc
=
Q931E_BEARERCAP
;
}
/* Channel Identification */
if
(
Q931IsIEPresent
(
pMes
->
ChanID
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CHANNEL_IDENTIFICATION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ChanID
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
ChanID
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CHANNEL_IDENTIFICATION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ChanID
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Progress indicator */
if
(
Q931IsIEPresent
(
pMes
->
ProgInd
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_PROGRESS_INDICATOR
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ProgInd
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
ProgInd
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_PROGRESS_INDICATOR
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
ProgInd
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Network spesific facilities */
if
(
Q931IsIEPresent
(
pMes
->
NetFac
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_NETWORK_SPECIFIC_FACILITIES
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
NetFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
NetFac
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_NETWORK_SPECIFIC_FACILITIES
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
NetFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Display */
if
(
Q931IsIEPresent
(
pMes
->
Display
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DISPLAY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Display
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
Display
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DISPLAY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Display
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Date/Time */
if
(
Q931IsIEPresent
(
pMes
->
DateTime
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DATETIME
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
DateTime
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
DateTime
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_DATETIME
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
DateTime
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Keypad Facility */
if
(
Q931IsIEPresent
(
pMes
->
KeypadFac
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_KEYPAD_FACILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
KeypadFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
KeypadFac
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_KEYPAD_FACILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
KeypadFac
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Signal */
if
(
Q931IsIEPresent
(
pMes
->
Signal
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_SIGNAL
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Signal
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
Signal
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_SIGNAL
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
Signal
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Calling Party Number */
if
(
Q931IsIEPresent
(
pMes
->
CallingNum
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CallingNum
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Calling Party Subaddress */
if
(
Q931IsIEPresent
(
pMes
->
CallingSub
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CallingSub
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLING_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CallingSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Called Party number */
if
(
Q931IsIEPresent
(
pMes
->
CalledNum
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CalledNum
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_NUMBER
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledNum
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Called party subaddress */
if
(
Q931IsIEPresent
(
pMes
->
CalledSub
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
CalledSub
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_CALLED_PARTY_SUBADDRESS
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
CalledSub
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Transit network selection */
if
(
Q931IsIEPresent
(
pMes
->
TransNetSel
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_TRANSIT_NETWORK_SELECTION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
TransNetSel
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
TransNetSel
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_TRANSIT_NETWORK_SELECTION
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
TransNetSel
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* Repeat Indicator */
if
(
Q931IsIEPresent
(
pMes
->
LLRepeatInd
))
if
(
Q931IsIEPresent
(
pMes
->
LLRepeatInd
))
{
rc
=
Q931E_UNKNOWN_IE
;
/* TODO */
}
/* Low Layer Compatibility */
if
(
Q931IsIEPresent
(
pMes
->
LLComp
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_LOW_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
LLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
LLComp
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_LOW_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
LLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
/* High Layer Compatibility */
if
(
Q931IsIEPresent
(
pMes
->
HLComp
))
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_HIGH_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
HLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
if
(
Q931IsIEPresent
(
pMes
->
HLComp
))
{
if
((
rc
=
Q931Pie
[
pTrunk
->
Dialect
][
Q931ie_HIGH_LAYER_COMPATIBILITY
](
pTrunk
,
Q931GetIEPtr
(
pMes
->
HLComp
,
pMes
->
buf
),
OBuf
,
&
Octet
))
!=
0
)
return
rc
;
}
*
OSize
=
Octet
;
return
rc
;
}
...
...
libs/openzap/src/isdn/EuroISDNStateNT.c
浏览文件 @
b2623fb8
...
...
@@ -42,5 +42,3 @@
*****************************************************************************/
#include "Q931.h"
libs/openzap/src/isdn/EuroISDNStateTE.c
浏览文件 @
b2623fb8
libs/openzap/src/isdn/Q931.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/Q931StateNT.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/Q931StateTE.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/Q931ie.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/Q931mes.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/Q932mes.c
浏览文件 @
b2623fb8
...
...
@@ -45,7 +45,7 @@
L3INT
Q932Umes_Facility
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -76,7 +76,7 @@ L3INT Q932Pmes_Facility(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
L3INT
Q932Umes_Hold
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -107,7 +107,7 @@ L3INT Q932Pmes_Hold(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize
L3INT
Q932Umes_HoldAck
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -138,7 +138,7 @@ L3INT Q932Pmes_HoldAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT IS
L3INT
Q932Umes_HoldReject
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -169,7 +169,7 @@ L3INT Q932Pmes_HoldReject(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT
L3INT
Q932Umes_Register
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -200,7 +200,7 @@ L3INT Q932Pmes_Register(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
L3INT
Q932Umes_Retrieve
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -231,7 +231,7 @@ L3INT Q932Pmes_Retrieve(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
L3INT
Q932Umes_RetrieveAck
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
@@ -262,7 +262,7 @@ L3INT Q932Pmes_RetrieveAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3IN
L3INT
Q932Umes_RetrieveReject
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
)
{
L3INT
OOff
=
0
;
L3INT
OOff
=
0
;
/* TODO */
...
...
libs/openzap/src/isdn/include/DMS.h
浏览文件 @
b2623fb8
...
...
@@ -4,7 +4,6 @@
Contents: Header and definition for the National ISDN dialect. The
header contents the following parts:
- Definition of codes
- Definition of information elements (nationalie_).
- Definition of messages (nationalmes_).
...
...
@@ -77,8 +76,6 @@ L3INT DMSPmes_0x07(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize,
L3INT
DMSUmes_0x0f
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
IBuf
,
Q931mes_Generic
*
mes
,
L3INT
IOff
,
L3INT
Size
);
L3INT
DMSPmes_0x0f
(
Q931_TrunkInfo_t
*
pTrunk
,
Q931mes_Generic
*
IBuf
,
L3INT
ISize
,
L3UCHAR
*
OBuf
,
L3INT
*
OSize
);
/*****************************************************************************
Q.931 Process Function Prototyping. Implemented in nationalStateTE.c
...
...
@@ -88,7 +85,6 @@ L3INT DMSPmes_0x0f(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize,
L3INT
DMSProc0x0fTE
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
buf
,
L3INT
iFrom
);
L3INT
DMSProc0x07TE
(
Q931_TrunkInfo_t
*
pTrunk
,
L3UCHAR
*
buf
,
L3INT
iFrom
);
void
DMSCreateTE
(
L3UCHAR
i
);
void
DMSCreateNT
(
L3UCHAR
i
);
...
...
libs/openzap/src/isdn/include/Q931.h
浏览文件 @
b2623fb8
...
...
@@ -157,7 +157,6 @@
*****************************************************************************/
typedef
enum
{
Q931E_NO_ERROR
=
0
,
Q931E_UNKNOWN_MESSAGE
=
-
3001
,
...
...
@@ -190,7 +189,6 @@ typedef enum {
Q931E_SEGMENT
=
-
3028
,
Q931E_SIGNAL
=
-
3029
,
Q931E_GENERIC_DIGITS
=
-
3030
}
q931_error_t
;
/* The q931_error_t enum should be kept in sync with the q931_error_names array in Q931.c */
...
...
@@ -617,7 +615,7 @@ typedef struct
L3UCHAR
buf
[
1
];
/* Buffer for IE's */
}
Q931mes_Generic
;
}
Q931mes_Generic
;
/*****************************************************************************
...
...
@@ -779,7 +777,7 @@ struct Q931_TrunkInfo
L3INT
CRV
;
/* Associated CRV */
}
ch
[
Q931MAXCHPERTRUNK
];
}
ch
[
Q931MAXCHPERTRUNK
];
/* Active Call information indentified by CRV. See Q931AllocateCRV for */
/* initialization of call table. */
...
...
@@ -802,7 +800,7 @@ typedef struct
L3INT
State
;
L3INT
Message
;
L3UCHAR
Direction
;
}
Q931State
;
}
Q931State
;
/*****************************************************************************
...
...
@@ -844,7 +842,7 @@ extern q931timer_t Q931Timer[Q931MAXDLCT][Q931MAXTIMER];
size of 'header'.
*****************************************************************************/
#define Q931GetIETotSize(ie)
(((ie.InfoID & 0x80) !=0) ? 1:ie.LenIE)+
2)
#define Q931GetIETotSize(ie)
(((ie.InfoID & 0x80) != 0) ? 1 : ie.LenIE) +
2)
/*****************************************************************************
...
...
@@ -894,7 +892,7 @@ extern q931timer_t Q931Timer[Q931MAXDLCT][Q931MAXTIMER];
Description: Set an information element.
*****************************************************************************/
#define Q931SetIE(x,o) {
x = (ie)(o) | 0x8000;
}
#define Q931SetIE(x,o) {
x = (ie)(o) | 0x8000;
}
/*****************************************************************************
...
...
@@ -906,7 +904,7 @@ extern q931timer_t Q931Timer[Q931MAXDLCT][Q931MAXTIMER];
that the octet is extended.
*****************************************************************************/
#define IsQ931Ext(x) ((x
&0x80)==
0)
#define IsQ931Ext(x) ((x
& 0x80) ==
0)
/*****************************************************************************
...
...
@@ -933,7 +931,7 @@ extern q931timer_t Q931Timer[Q931MAXDLCT][Q931MAXTIMER];
warning for the initial empty functions.
*****************************************************************************/
#define NoWarning(x) (x
=
x)
#define NoWarning(x) (x
=
x)
/*****************************************************************************
...
...
libs/openzap/src/isdn/include/Q931ie.h
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/include/Q932.h
浏览文件 @
b2623fb8
libs/openzap/src/isdn/include/mfifo.h
浏览文件 @
b2623fb8
...
...
@@ -44,11 +44,10 @@
Description: Message Index used to index a dynamic size Message FIFO.
*****************************************************************************/
typedef
struct
_mindex
{
typedef
struct
_mindex
{
int
offset
;
/* offset to message in buf */
int
size
;
/* size of message in bytes */
}
MINDEX
;
}
MINDEX
;
/*****************************************************************************
...
...
@@ -58,8 +57,7 @@ typedef struct _mindex
queue.
*****************************************************************************/
typedef
struct
{
typedef
struct
{
int
first
;
/* first out */
int
last
;
/* last in + 1 */
int
bsize
;
/* buffer size */
...
...
libs/openzap/src/isdn/include/national.h
浏览文件 @
b2623fb8
...
...
@@ -4,7 +4,6 @@
Contents: Header and definition for the National ISDN dialect. The
header contents the following parts:
- Definition of codes
- Definition of information elements (nationalie_).
- Definition of messages (nationalmes_).
...
...
@@ -75,15 +74,12 @@ L3INT nationalPmes_Setup(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT
#include "DMS.h"
/*****************************************************************************
Q.931 Process Function Prototyping. Implemented in nationalStateTE.c
*****************************************************************************/
void
nationalCreateTE
(
L3UCHAR
i
);
void
nationalCreateNT
(
L3UCHAR
i
);
...
...
libs/openzap/src/isdn/mfifo.c
浏览文件 @
b2623fb8
...
...
@@ -90,7 +90,7 @@ int MFIFOCreate(unsigned char *buf, int size, int index)
mf
->
ixsize
=
index
;
mf
->
buf
=
&
buf
[
sizeof
(
MFIFO
)
+
(
sizeof
(
MINDEX
)
*
index
)];
if
(
mf
->
buf
>
&
buf
[
size
])
if
(
mf
->
buf
>
&
buf
[
size
])
return
0
;
mf
->
bsize
=
size
-
sizeof
(
MFIFO
)
-
(
sizeof
(
MINDEX
)
*
index
);
...
...
@@ -131,7 +131,7 @@ int MFIFOGetLBOffset(unsigned char *buf)
{
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
if
(
mf
->
last
!=
mf
->
first
)
if
(
mf
->
last
!=
mf
->
first
)
return
mf
->
ix
[
mf
->
last
].
offset
;
return
0
;
...
...
@@ -155,12 +155,12 @@ int MFIFOGetFBOffset(unsigned char *buf)
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
int
x
;
if
(
mf
->
last
==
mf
->
first
)
if
(
mf
->
last
==
mf
->
first
)
return
0
;
x
=
mf
->
first
-
1
;
if
(
x
<
0
)
if
(
x
<
0
)
x
=
mf
->
ixsize
-
1
;
return
mf
->
ix
[
x
].
offset
+
mf
->
ix
[
x
].
size
;
...
...
@@ -194,7 +194,7 @@ void MFIFOWriteIX(unsigned char *buf, unsigned char *mes, int size, int ix, int
x
=
mf
->
first
+
1
;
if
(
x
>=
mf
->
ixsize
)
if
(
x
>=
mf
->
ixsize
)
x
=
0
;
mf
->
first
=
x
;
...
...
@@ -218,36 +218,31 @@ int MFIFOWriteMes(unsigned char *buf, unsigned char *mes, int size)
x
=
mf
->
first
+
1
;
if
(
x
>=
mf
->
ixsize
)
if
(
x
>=
mf
->
ixsize
)
x
=
0
;
if
(
x
==
mf
->
last
)
if
(
x
==
mf
->
last
)
return
0
;
/* full queue */
of
=
MFIFOGetFBOffset
(
buf
);
ol
=
MFIFOGetLBOffset
(
buf
);
if
(
mf
->
last
==
mf
->
first
)
/* empty queue */
{
if
(
mf
->
last
==
mf
->
first
)
{
/* empty queue */
mf
->
first
=
mf
->
last
=
0
;
/* optimize */
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
0
);
return
1
;
}
else
if
(
of
>
ol
)
{
if
(
mf
->
bsize
-
of
>=
size
)
{
else
if
(
of
>
ol
)
{
if
(
mf
->
bsize
-
of
>=
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
of
);
return
1
;
}
else
if
(
ol
>
size
)
{
else
if
(
ol
>
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
ol
);
return
1
;
}
}
else
if
(
ol
-
of
>
size
)
{
else
if
(
ol
-
of
>
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
of
);
return
1
;
}
...
...
@@ -270,7 +265,7 @@ unsigned char * MFIFOGetMesPtr(unsigned char *buf, int *size)
{
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
if
(
mf
->
first
==
mf
->
last
)
{
if
(
mf
->
first
==
mf
->
last
)
{
return
NULL
;
}
...
...
@@ -294,10 +289,9 @@ void MFIFOKillNext(unsigned char *buf)
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
int
x
;
if
(
mf
->
first
!=
mf
->
last
)
{
if
(
mf
->
first
!=
mf
->
last
)
{
x
=
mf
->
last
+
1
;
if
(
x
>=
mf
->
ixsize
)
{
if
(
x
>=
mf
->
ixsize
)
{
x
=
0
;
}
...
...
@@ -319,16 +313,16 @@ unsigned char * MFIFOGetMesPtrOffset(unsigned char *buf, int *size, const int po
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
int
x
;
if
(
mf
->
first
==
mf
->
last
)
{
if
(
mf
->
first
==
mf
->
last
)
{
return
NULL
;
}
if
(
pos
<
0
||
pos
>=
mf
->
ixsize
)
{
if
(
pos
<
0
||
pos
>=
mf
->
ixsize
)
{
return
NULL
;
}
x
=
pos
-
mf
->
last
;
if
(
x
<
0
)
{
if
(
x
<
0
)
{
x
+=
(
mf
->
ixsize
-
1
);
}
...
...
@@ -345,10 +339,10 @@ int MFIFOGetMesCount(unsigned char *buf)
{
MFIFO
*
mf
=
(
MFIFO
*
)
buf
;
if
(
mf
->
first
==
mf
->
last
)
{
if
(
mf
->
first
==
mf
->
last
)
{
return
0
;
}
else
if
(
mf
->
first
>
mf
->
last
)
{
else
if
(
mf
->
first
>
mf
->
last
)
{
return
mf
->
first
-
mf
->
last
;
}
else
{
...
...
@@ -367,42 +361,37 @@ int MFIFOWriteMesOverwrite(unsigned char *buf, unsigned char *mes, int size)
x
=
mf
->
first
+
1
;
if
(
x
>=
mf
->
ixsize
)
if
(
x
>=
mf
->
ixsize
)
x
=
0
;
if
(
x
==
mf
->
last
)
{
if
(
x
==
mf
->
last
)
{
/* advance last pointer */
mf
->
last
++
;
if
(
mf
->
last
>=
mf
->
ixsize
)
if
(
mf
->
last
>=
mf
->
ixsize
)
mf
->
last
=
0
;
}
of
=
MFIFOGetFBOffset
(
buf
);
ol
=
MFIFOGetLBOffset
(
buf
);
if
(
mf
->
last
==
mf
->
first
)
/* empty queue */
{
if
(
mf
->
last
==
mf
->
first
)
{
/* empty queue */
mf
->
first
=
mf
->
last
=
0
;
/* optimize */
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
0
);
return
1
;
}
else
if
(
of
>
ol
)
{
if
(
mf
->
bsize
-
of
>=
size
)
{
else
if
(
of
>
ol
)
{
if
(
mf
->
bsize
-
of
>=
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
of
);
return
1
;
}
else
if
(
ol
>
size
)
{
else
if
(
ol
>
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
ol
);
return
1
;
}
}
else
if
(
ol
-
of
>
size
)
{
else
if
(
ol
-
of
>
size
)
{
MFIFOWriteIX
(
buf
,
mes
,
size
,
mf
->
first
,
of
);
return
1
;
}
...
...
libs/openzap/src/isdn/nationalStateNT.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/nationalStateTE.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
libs/openzap/src/isdn/nationalmes.c
浏览文件 @
b2623fb8
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论