wdp.c
来自「是一个手机功能的模拟程序」· C语言 代码 · 共 1,835 行 · 第 1/5 页
C
1,835 行
z_WDPpckg_8_SegmentationTerminated, TO_PROCESS(WDPmanagement,
z47_WDPmanagement), 0, "SegmentationTerminated")
XBETWEEN_SYMBOLS(19, 5380, 354)
/*-----
* OUTPUT ReassembleTerminated
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\terminateanswer.smc(1),293(80,70),1)
------*/
ALLOC_SIGNAL_NPAR(ReassembleTerminated, z_WDPpckg_7_ReassembleTerminated,
XSIGNALHEADERTYPE)
SDL_OUTP_NPAR(xDefaultPrioSignal, ReassembleTerminated,
z_WDPpckg_7_ReassembleTerminated, TO_PROCESS(WDPmanagement,
z47_WDPmanagement), 0, "ReassembleTerminated")
XBETWEEN_SYMBOLS(20, 5381, 365)
/*-----
* NEXTSTATE -
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1799(120,130),1)
------*/
XAT_LAST_SYMBOL
SDL_DASH_NEXTSTATE
/*-----
* INPUT TDUnitdataReq
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),128(75,60),1)
------*/
case 3:
XDEBUG_LABEL(IDLE_TDUnitdataReq)
XAT_FIRST_SYMBOL(3, 5364)
XOS_TRACE_INPUT("TDUnitdataReq")
yAssF_TDUnitdataReqType(yVarP->z46G_dataReq,
((yPDef_z_WDP_UpperLayer_0_TDUnitdataReq *)ySVarP)->Param1, XASS);
yAssF_SDL_PId(yVarP->z46J_upperlayerPId,
((yPDef_z_WDP_UpperLayer_0_TDUnitdataReq *)ySVarP)->Param2, XASS);
yAssF_SDL_Natural(yVarP->z46K_stackconfig, yTstA_SDL_Natural(
((yPDef_z_WDP_UpperLayer_0_TDUnitdataReq *)ySVarP)->Param3), XASS);
XBETWEEN_SYMBOLS(21, 5382, 388)
/*-----
* TASK log internal
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),3191(75,75),1)
------*/
#ifdef XTRACE
xTraceTask("log internal");
#endif
#if defined LOG_INTERNAL
{
char *logstr;
char *strPDU;
char *strparam1;
logstr = OctetString2HexString(yVarP->
z46G_dataReq.SourceAddress.Address.data, yVarP->
z46G_dataReq.SourceAddress.Address.length);
CLNTa_log(0, 0, "WDP Receive TDUnitDataReq: Source Address = %s\n", logstr);
OSConnectorFree(logstr);
logstr = OctetString2HexString(yVarP->
z46G_dataReq.SourceAddress.SecondAddress.data, yVarP->
z46G_dataReq.SourceAddress.SecondAddress.length);
CLNTa_log(0, 0, "WDP Receive TDUnitDataReq: Source SecondAddress = %s\n", logstr);
OSConnectorFree(logstr);
CLNTa_log(0, 0, "WDP: Source Bearer = %d\n", yVarP->
z46G_dataReq.SourceAddress.Bearer);
CLNTa_log(0, 0, "WDP: Source SecondAddressFormat= %d\n", yVarP->
z46G_dataReq.SourceAddress.SecondAddressFormat);
CLNTa_log(0, 0, "WDP: Source PortNumber = %d\n", yVarP->
z46G_dataReq.SourceAddress.PortNumber);
logstr = OctetString2HexString(yVarP->
z46G_dataReq. DestinationAddress.Address.data, yVarP->
z46G_dataReq. DestinationAddress.Address.length);
CLNTa_log(0, 0, "WDP Receive TDUnitDataReq: Destination Address = %s\n", logstr);
OSConnectorFree(logstr);
logstr = OctetString2HexString(yVarP->
z46G_dataReq. DestinationAddress.SecondAddress.data, yVarP->
z46G_dataReq. DestinationAddress.SecondAddress.length);
CLNTa_log(0, 0, "WDP Receive TDUnitDataReq: Destination SecondAddress = %s\n", logstr);
OSConnectorFree(logstr);
CLNTa_log(0, 0, "WDP: DesinationBearer = %d\n", yVarP->
z46G_dataReq.DestinationAddress.Bearer);
CLNTa_log(0, 0, "WDP: DesinationSecondAddressFormat= %d\n", yVarP->
z46G_dataReq.DestinationAddress.SecondAddressFormat);
CLNTa_log(0, 0, "WDP: DesinationPortNumber = %d\n", yVarP->
z46G_dataReq.DestinationAddress.PortNumber);
CLNTa_log(0, 0, "WDP: StackConfig = %d\n", yVarP->z46K_stackconfig);
strPDU = pdubuf_getStart( yVarP->z46G_dataReq.UserData );
strparam1 = OctetString2HexString((CHAR*)strPDU,pdubuf_getLength(yVarP->
z46G_dataReq.UserData));
CLNTa_log(0,0, "WDP data %s\n", strparam1?strparam1:"");
DEALLOC(&strparam1);
}
#endif
XBETWEEN_SYMBOLS(22, 5383, 456)
/*-----
* ASSIGNMENT srcAddr := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),2525(75,90),1)
------*/
yAssF_DeviceAddress(yVarP->z469_srcAddr, yVarP->z46G_dataReq.SourceAddress.
Address, XASS);
#ifdef XTRACE
xTraceAssign("srcAddr := ");
#endif
XBETWEEN_SYMBOLS(23, 5384, 467)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),599(75,105),1)
------*/
#ifdef XTRACE
yAssF_SDL_Boolean(yDcn_SDL_Boolean,
xAnd_SDL_Boolean((xLT_SDL_Integer(z_WDPpckg_N_MinDestPortNo, yVarP->
z46G_dataReq.DestinationAddress.PortNumber)), (xLT_SDL_Integer(yVarP->
z46G_dataReq.DestinationAddress.PortNumber, z_WDPpckg_O_MaxDestPortNo))),
XASS);
if (yDcn_SDL_Boolean) {
#else
if (xAnd_SDL_Boolean((xLT_SDL_Integer(z_WDPpckg_N_MinDestPortNo, yVarP->
z46G_dataReq.DestinationAddress.PortNumber)), (xLT_SDL_Integer(yVarP->
z46G_dataReq.DestinationAddress.PortNumber,
z_WDPpckg_O_MaxDestPortNo)))) {
#endif
#ifdef XTRACE
xTraceDecision("TRUE");
#endif
XBETWEEN_SYMBOLS(24, 5385, 489)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),617(75,125),1)
------*/
#ifdef XTRACE
yAssF_SDL_Boolean(yDcn_SDL_Boolean,
xAnd_SDL_Boolean((xLE_SDL_Integer(z_WDPpckg_L_MinSourcePortNo, yVarP->
z46G_dataReq.SourceAddress.PortNumber)), (xLT_SDL_Integer(yVarP->
z46G_dataReq.SourceAddress.PortNumber, z_WDPpckg_M_MaxSourcePortNo))),
XASS);
if (yDcn_SDL_Boolean) {
#else
if (xAnd_SDL_Boolean((xLE_SDL_Integer(z_WDPpckg_L_MinSourcePortNo, yVarP->
z46G_dataReq.SourceAddress.PortNumber)), (xLT_SDL_Integer(yVarP->
z46G_dataReq.SourceAddress.PortNumber, z_WDPpckg_M_MaxSourcePortNo)))) {
#endif
#ifdef XTRACE
xTraceDecision("TRUE");
#endif
XBETWEEN_SYMBOLS(25, 5386, 510)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),635(75,145),1)
------*/
#ifdef XTRACE
yAssF_SDL_Integer(yDcn_SDL_Integer, devaddr_getlen(&(yVarP->
z46G_dataReq.DestinationAddress.Address)), XASS);
if (yEqF_SDL_Integer(yDcn_SDL_Integer, SDL_INTEGER_LIT(0))) {
#else
if (yEqF_SDL_Integer(devaddr_getlen(&(yVarP->z46G_dataReq.
DestinationAddress.Address)), SDL_INTEGER_LIT(0))) {
#endif
#ifdef XTRACE
xTraceDecision("PATH: Integer");
#endif
/* Null transition */
} else {
#ifdef XTRACE
xTraceDecision("ELSE");
#endif
XBETWEEN_SYMBOLS(26, 5387, 532)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),788(75,165),1)
------*/
#ifdef XTRACE
yAssF_SDL_Integer(yDcn_SDL_Integer, PDU_getLen(yVarP->z46G_dataReq.
UserData), XASS);
if (yEqF_SDL_Integer(yDcn_SDL_Integer, SDL_INTEGER_LIT(0))) {
#else
if (yEqF_SDL_Integer(PDU_getLen(yVarP->z46G_dataReq.UserData),
SDL_INTEGER_LIT(0))) {
#endif
#ifdef XTRACE
xTraceDecision("PATH: Integer");
#endif
/* Null transition */
} else {
#ifdef XTRACE
xTraceDecision("ELSE");
#endif
XBETWEEN_SYMBOLS(27, 5388, 554)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),137(75,185),1)
------*/
yAssF_SDL_Octet(yVarP->yDcn_SDL_Octet, yVarP->z46G_dataReq.
DestinationAddress.Bearer, XASS);
if (yEqF_SDL_Octet(yVarP->yDcn_SDL_Octet, xI2O_SDL_Octet(
BEARER_ANY_UDP)) ||
yEqF_SDL_Octet(yVarP->yDcn_SDL_Octet, xI2O_SDL_Octet(
BEARER_GSM_CSD)) ||
yEqF_SDL_Octet(yVarP->yDcn_SDL_Octet, xI2O_SDL_Octet(
BEARER_GSM_GPRS)) ||
yEqF_SDL_Octet(yVarP->yDcn_SDL_Octet, xI2O_SDL_Octet(
BEARER_BT))) {
#ifdef XTRACE
xTraceDecision("PATH: I2O");
#endif
XBETWEEN_SYMBOLS(28, 5389, 573)
/*-----
* ASSIGNMENT srcPort := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1151(75,225),2)
------*/
yAssF_SDL_Integer(yVarP->z46B_srcPort, yVarP->z46G_dataReq.
SourceAddress.PortNumber, XASS);
#ifdef XTRACE
xTraceAssign("srcPort := ");
#endif
XBETWEEN_STMTS(29, 5390, 584)
/*-----
* ASSIGNMENT dstPort := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1151(75,225),3)
------*/
yAssF_SDL_Integer(yVarP->z46C_dstPort, yVarP->z46G_dataReq.
DestinationAddress.PortNumber, XASS);
#ifdef XTRACE
xTraceAssign("dstPort := ");
#endif
XBETWEEN_STMTS(30, 5391, 595)
/*-----
* ASSIGNMENT dstAddr := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1151(75,225),4)
------*/
yAssF_DeviceAddress(yVarP->z468_dstAddr, yVarP->z46G_dataReq.
DestinationAddress.Address, XASS);
#ifdef XTRACE
xTraceAssign("dstAddr := ");
#endif
XBETWEEN_STMTS(31, 5392, 606)
/*-----
* ASSIGNMENT viewID := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1151(75,225),5)
------*/
yAssF_SDL_Octet(yVarP->z46M_viewID, yVarP->z46G_dataReq.
DestinationAddress.ViewID, XASS);
#ifdef XTRACE
xTraceAssign("viewID := ");
#endif
XBETWEEN_STMTS(32, 5393, 617)
/*-----
* ASSIGNMENT channelID := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1151(75,225),6)
------*/
yAssF_SDL_Octet(yVarP->z46N_channelID, yVarP->z46G_dataReq.
DestinationAddress.ChannelID, XASS);
#ifdef XTRACE
xTraceAssign("channelID := ");
#endif
XBETWEEN_SYMBOLS(33, 5394, 628)
{
/*-----
* CALL wdp_porttbl_update
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),3254(75,240),1)
------*/
#ifdef XTRACE
xTraceAlg("CALL EXTERNAL PROCEDURE wdp_porttbl_update");
#endif
#ifdef XMSCE
xMSCETask("CALL EXTERNAL wdp_porttbl_update");
#endif
wdp_porttbl_update(yVarP->z46B_srcPort, yVarP->
z46J_upperlayerPId, yTstA_SDL_Natural(yVarP->
z46K_stackconfig), yVarP->z46G_dataReq.DestinationAddress.
Bearer, yVarP->z46M_viewID, yVarP->z46N_channelID);
}
XBETWEEN_SYMBOLS(34, 5395, 646)
/*-----
* TASK sendRequest
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1463(75,255),1)
------*/
#ifdef XTRACE
xTraceTask("sendRequest");
#endif
UDPa_sendRequest (pdubuf_getStart (yVarP->z46G_dataReq.UserData),
pdubuf_getLength (yVarP->z46G_dataReq.UserData),
yVarP->z468_dstAddr.data, (INT8)yVarP->z468_dstAddr.length,
yVarP->z469_srcAddr.data, (INT8)yVarP->z469_srcAddr.length,
(UINT16)yVarP->z46C_dstPort, (UINT16)yVarP->z46B_srcPort,
yVarP->z46M_viewID, yVarP->z46N_channelID);
XBETWEEN_SYMBOLS(35, 5396, 662)
/*-----
* TASK log external
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),2180(75,270),1)
------*/
#ifdef XTRACE
xTraceTask("log external");
#endif
#if defined LOG_EXTERNAL
CLNTa_log (0, log_wdp_sendUDP, "UDPa_sendRequest");
#endif
XBETWEEN_SYMBOLS(36, 5397, 675)
/*-----
* TASK log internal
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),3233(75,285),1)
------*/
#ifdef XTRACE
xTraceTask("log internal");
#endif
#if defined LOG_INTERNAL
{
char *logstr;
logstr = OctetString2HexString(yVarP->z469_srcAddr.data, yVarP->
z469_srcAddr.length);
CLNTa_log(0, 0, "WDP UDPsendReq Source Address = %s\n", logstr);
OSConnectorFree(logstr);
CLNTa_log(0, 0, "WDP: Source PortNumber = %d\n", yVarP->z46B_srcPort);
logstr = OctetString2HexString(yVarP->z468_dstAddr.data, yVarP->
z468_dstAddr.length);
CLNTa_log(0, 0, "WDP: Destination Address = %s\n", logstr);
OSConnectorFree(logstr);
CLNTa_log(0, 0, "WDP: DesinationPortNumber = %d\n", yVarP->z46C_dstPort);
logstr = OctetString2HexString (pdubuf_getStart (yVarP->z46G_dataReq.UserData),
pdubuf_getLength (yVarP->
z46G_dataReq.UserData));
CLNTa_log(0,0, "WDP data %s\n", logstr);
OSConnectorFree(logstr);
}
#endif
XBETWEEN_SYMBOLS(37, 5398, 710)
/*-----
* ASSIGNMENT ok := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(2),1157(75,300),1)
------*/
yAssF_SDL_Boolean(yVarP->z46F_ok, PDU_rel(&(yVarP->z46G_dataReq.
UserData)), XASS);
#ifdef XTRACE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?