亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lb_al2lb.c

?? 中國石油二期加油站IC系統(tǒng)后臺通訊軟件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
***********************************************************************************************************
                                                      Amos
                                          The Real_Time Operation System
                                                   Multi Task
                                 (c) Copyright 1998-2002, ShangYaoHui, Shenzhen
                                              All Right Reserved
                                                  VERSION 6.01

" By  : 商耀揮(ShangYaoHui)
 create time: 2002-7-12 2:13:35  
***********************************************************************************************************
*/

/************ head file list *************/
#include "envopt.h"        /* environment options */
#include "envdep.h"        /* environment dependent */
#include "envind.h"        /* environment independent */

#include "gen.h"           /* general */
#include "cm5.h"           /* common functions */
#include "ssi.h"           /* system services */

/* header/extern include files (.x) */

#include "gen.x"           /* general */
#include "cm5.x"           /* common functions */
#include "ssi.x"           /* system services */

#include "cm_llist.h"
#include "cm_llist.x"

#ifdef WIN32
    #include "winbase.h"
#endif

#include "rx.h"
#include "rx.x"

#include "rx_msg.h"
#include "rx_msg.x"

#include "lb_cm.h"
#include "lb_cm.x"

#include "lb_recv.h"
#include "lb_recv.x"
#include "lb_xmit.h"
#include "lb_xmit.x"
#include "lb_msg.h"
#include "lb_msg.x"

#include "lb_bdy1.h"
#include "lb_bdy1.x"
#include "lb_bdy2.h"
#include "lb_bdy2.x"
#include "lb_bdy4.h"
#include "lb_bdy3.h"
#include "lb_bdy3.x"
#include "lb_bdy4.h"
#include "lb_bdy4.h"
#include "lb_bdy4.x"
#include "lb_bdy5.h"
#include "lb_bdy5.x"

/************* const define **************/

/******** import variable declare ********/

/******* gloable variable declare ********/

/*********** function declare ************/

/********** function prototype ***********/
S16 lbRecvCommonIndAck(U8 cmdCode, Buffer * msg)
{
    U8  ackStat;
    CmdMsg_s * cmdNode;
    EquCfgEntry_s * equ;

    SUnpkU8(&ackStat, msg);


    if (ROK != findCmdNodByCode(cmdCode, &cmdNode))
    {
        RETVALUE(RFAILED);
    }

    equ = findEqu(cmdNode->rqstParam);
    switch (ackStat)
    {
    case 0x01:
        rxLog("error: al handle");
        if (equ != NULLP)
        {
            equ->cfmStat = RFAILED;
        }
        break;
    case 0x00:

        if (equ != NULLP)
        {
            equ->cfmStat = ROK;
        }
        cmdNode->stat = HAVE_ACK_W;
        break;


#if 0
    case 0x10:
        if (equ != NULLP)
        {
            equ->cfmStat = ROK;
        }
        lbCmDestroyCmdNode(cmdNode);
        break;
    case 0x11:
        rxLog("error: al 2 handle");
        if (equ != NULLP)
        {
            equ->cfmStat = RFAILED;
        }
        lbCmDestroyCmdNode(cmdNode);
        break;
#endif
    default:
        RETVALUE(RFAILED);
    }
    lbCmDestroyCmdNode(cmdNode);
    RETVALUE(ROK);
}


S16 lbRecvGunUpIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x01, mbuf));
}

S16 lbRecvGunDownIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x02, mbuf));
}

S16 lbRecvWorkOnIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x03, mbuf));
}

S16 lbRecvCardInsertIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x04, mbuf));
}

S16 lbRecvCardOutIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x05, mbuf));
}


S16 lbRecvCardInfoIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x06, mbuf));
}

S16 lbRecvTranInfoIndAck(Buffer * mbuf)
{
    U8  ackStat;
    CmdMsg_s * cmdNode;
    EquCfgEntry_s * equ;

    if (ROK != findCmdNodByCode(0x08, &cmdNode))
    {
        RETVALUE(RFAILED);
    }

	equ = findEqu(cmdNode->rqstParam);

    SUnpkU8(&ackStat, mbuf);
	
	if(ackStat != 0)
	{
		if(cmdNode->retry == 0)
		{
			equ->cfmStat = RFAILED;
			lbCmDestroyCmdNode(cmdNode);
		}
		cmdNode->timer = 1;
		rxLog("error: rec ind error");
		RETVALUE(ROK);
	}
	equ->cfmStat = ROK;
	lbCmDestroyCmdNode(cmdNode);
	RETVALUE(ROK);
}

S16 lbRecvFillInfoIndAck(Buffer * mbuf)
{
    /* modify by shang 2002-7-20 6:25:47 */
#if 0 /* last code */
    RETVALUE(lbRecvCommonIndAck(0x0a, mbuf));

#else /* new code */
    RETVALUE(ROK);

#endif /* end modify */

    /* modify by shang is over 2002-7-20 6:25:47*/

}

S16 lbRecvWorkDownIndAck(Buffer * mbuf)
{
    RETVALUE(lbRecvCommonIndAck(0x0b, mbuf));
}

S16 lbRecvGetStaCodeIndAck(Buffer * mbuf)
{
    GetStationCodeIndAck_s ack;
    MsgLen len;
    CmdMsg_s * cmdNode;
	EquCfgEntry_s * equ;
	RxCmdEntry_s * entry;
	TranCb_s * tran;

    if (ROK != SCpyMsgFix(mbuf, 0, 11, (Data *)&ack, &len))
    {
        rxLog("error recv 0x0c ack");
        RETVALUE(RFAILED);
    }

    if (ROK != findCmdNodByCode(0x0c, &cmdNode))
    {
        RXLOGERROR(0, 0, 0, "ERROR");
        RETVALUE(RFAILED);
    }
    switch (ack.ackStat)
    {
    case 0x01:
        rxLog("error: al handle");
        break;
    case 0x00:


        rxCb.cfg.provCode = ack.provinceCode;
        rxCb.cfg.cityCode = ack.cityCode;
        rxCb.cfg.tranKeyVer = ack.ver;
		memcpy(rxCb.cfg.crrntTranKey, &rxCb.tranKeyTbl[rxCb.cfg.tranKeyVer-1], 16);
        memcpy(rxCb.cfg.stationCode , ack.stationCode, 3);
		

		equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
		if (equ != NULLP)
		{
			LBGETCMDENTRY(0, CMD_DIR, entry);
		}
		while (NULLP != equ)
		{
			LBGETTRAN(entry, equ, tran);

			lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);

			equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
		}
		

        break;
    default:
        RETVALUE(RFAILED);
    }
    lbCmDestroyCmdNode(cmdNode);
    RETVALUE(ROK);
}





/*--------------------------------------*/

S16 lbRecvBlkLstInProvinceNtfy(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 blkListType;
    TranCb_s * tran;
    BlkCardLine_s * itemArray;
    U32 itemNum;
	#ifdef UP_LAYER_UNSECRET
	Buffer * cardAsnFile;
	#endif

    SUnpkU8(&blkListType, mbuf);


    LBGETCMDENTRY(0, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x09, 0, tran);

	#ifndef UP_LAYER_UNSECRET

    if (ROK != lbCmGetProvinceBlk(&itemNum, &itemArray, blkListType))
	{
		LBGETCMDENTRY(0x09, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x09, 1, tran);
		RETVALUE(ROK);
	}

    lbProcProvinceBlk(itemNum, itemArray, blkListType);

	LBLOG("下發(fā)黑名單", 0, 0);

    SPutSBuf(0, 0, (Data *)itemArray, sizeof(BlkCardLine_s)*itemNum);

	#else
	if(ROK != SGetMsg(0, 0, &cardAsnFile))
	{
		RXLOGERROR(0, 0, 0, "ERROR");
		RETVALUE(RFAILED);
	}

	if(ROK != lbCmGetProvinceBlk(cardAsnFile, &itemNum, blkListType))
	{
		LBGETCMDENTRY(0x09, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x09, 1, tran);
		RETVALUE(ROK);
	}

	lbProcProvinceBlk(cardAsnFile, itemNum,blkListType );
	SPutMsg(cardAsnFile);
    
	#endif

    LBGETCMDENTRY(0x09, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);

    lbBuildIndCfm(0, 0x09, 1, tran);
    RETVALUE(ROK);
}


S16 lbRecvGetEquInfoNtfy(Buffer * mbuf)
{
	static initFlag = TRUE;
    RxCmdEntry_s * entry;

    U8 reserve;
    TranCb_s * tran;
    U8 gunNum;
    EquCfg_s * equCfgArray;
    U8 ver;

    SUnpkU8(&reserve, mbuf);
    if (0 != reserve)
    {
        RXLOGERROR(0 ,0, 0, "ERROR");
        RETVALUE(RFAILED);
    }
	if (initFlag == FALSE)
	{
		LBGETCMDENTRY(0x0d, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		lbBuildIndCfm(0, 0x0d, 0, tran);
	}
    if(ROK != rxGetEquInfo(&gunNum, &equCfgArray, &ver))
	{
		LBGETCMDENTRY(0x0d, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x0d, 1, tran);
		RETVALUE(ROK);
	}

    lbProcEquCfg(gunNum, equCfgArray, ver);

    SPutSBuf(0 ,0, (Data *)equCfgArray, sizeof(EquCfg_s) * gunNum);
	
	if (initFlag == FALSE)
	{
		LBGETCMDENTRY(0x0d, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);

		lbBuildIndCfm(0, 0x0d, 1, tran); 
	}
	initFlag = FALSE;
    RETVALUE(ROK);
}

S16 lbRecvGetSpecStaCodeRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 reserve;
    TranCb_s * tran;
    U32 itemNum;
    SpecCode_s * specCodeArray;

    SUnpkU8(&reserve, mbuf);
    if (0 != reserve)
    {
        RXLOGERROR(0 ,0, 0, "ERROR");
        RETVALUE(RFAILED);
    }
    LBGETCMDENTRY(0x0e, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x0e, 0, tran);

    if (ROK != lbCmGetSpecCode(&itemNum, &specCodeArray))
	{
		LBGETCMDENTRY(0, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x0e, 1, tran);
		RETVALUE(ROK);
	}

    lbProcSpecCode(itemNum, specCodeArray);

    LBGETCMDENTRY(0x0e, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);

    lbBuildIndCfm(0, 0x0e, 1, tran); 


    RETVALUE(ROK);
}



S16 lbRecvGetHistroyRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 gunId;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&gunId, mbuf);

    LBGETCMDENTRY(0x0f, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x0f, 0, tran);
    if (gunId == 0)
    {
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            LBGETCMDENTRY(0x0f, CMD_DIR, entry);
        }
        while (NULLP != equ)
        {
            LBGETTRAN(entry, equ, tran);
            lbBuildGetHistroyCmd(equ, tran);
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }
    }
    else
    {
        equ = findEqu(gunId);
        LBGETCMDENTRY(0x0f, CMD_DIR, entry);
        LBGETTRAN(entry, equ, tran);
        lbBuildGetHistroyCmd(equ, tran);
    }

    LBGETCMDENTRY(0x0f, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x0f, 1, tran);

    RETVALUE(ROK);
}

S16 lbRecvSetKeyVerRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&rxCb.cfg.crrntKeyVer, mbuf);

	if(rxCb.cfg.tranKeyVer != 2 || rxCb.cfg.tranKeyVer != 1)
	{
		LBGETCMDENTRY(0x10, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x10, 0, tran);
		RETVALUE(ROK);

	}
    LBGETCMDENTRY(0x10, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x10, 0, tran);


	memcpy(rxCb.cfg.crrntTranKey, rxCb.tranKeyTbl[rxCb.cfg.tranKeyVer-1], 16);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0, CMD_DIR, entry);
    }
    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);
        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }

    LBGETCMDENTRY(0x10, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x10, 1, tran); 
    RETVALUE(ROK);

}

S16 lbRecvSetKeyInfoRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线电影| 欧美一区二区三区婷婷月色| 国产成人午夜片在线观看高清观看| 热久久一区二区| 亚洲成人综合视频| 婷婷开心久久网| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩激情视频在线观看| 午夜免费欧美电影| 日韩成人午夜电影| 蜜桃一区二区三区在线| 免费成人在线影院| 蜜桃视频在线一区| 日韩福利视频网| 亚洲免费资源在线播放| 亚洲国产精品久久不卡毛片| 亚洲不卡一区二区三区| 日韩av一级片| 国内成人精品2018免费看| 国产精品99久久久久久久女警 | 亚洲动漫第一页| 一区二区三区四区视频精品免费 | 成人福利视频在线看| 成人在线一区二区三区| 色呦呦国产精品| 欧美裸体一区二区三区| 91精品久久久久久蜜臀| 精品欧美一区二区三区精品久久 | 一区二区三区在线影院| 亚洲一区二区三区美女| 日产欧产美韩系列久久99| 麻豆国产91在线播放| 国产在线看一区| 91在线视频在线| 色婷婷综合久久久久中文 | 精品精品欲导航| 欧美国产在线观看| 亚洲无线码一区二区三区| 日本三级亚洲精品| 成人av网站免费观看| 欧洲国产伦久久久久久久| 精品日韩99亚洲| 亚洲女厕所小便bbb| 美女视频黄久久| www.日韩在线| 欧美一区二区三区喷汁尤物| 亚洲国产精品高清| 日韩不卡一区二区| 国产91丝袜在线18| 在线成人av影院| 国产精品久久久久久久浪潮网站| 亚洲成a人片在线不卡一二三区| 国产一区不卡在线| 欧美日韩精品系列| 国产精品伦一区二区三级视频| 亚洲大片在线观看| 国产成人免费在线观看不卡| 欧美精品aⅴ在线视频| 国产欧美一区二区精品性| 午夜激情久久久| 成人91在线观看| 亚洲精品一区在线观看| 亚洲夂夂婷婷色拍ww47| 国产精品1区2区3区在线观看| 在线不卡的av| 亚洲欧美色综合| 国产精品资源站在线| 91精品国产色综合久久ai换脸 | 亚洲日本护士毛茸茸| 蜜臀精品久久久久久蜜臀| 在线免费精品视频| 国产精品久线在线观看| 久久精品国产精品亚洲精品| 欧美在线高清视频| 国产精品久久777777| 国产精品自产自拍| 日韩一区二区在线观看| 亚洲大型综合色站| 日本电影亚洲天堂一区| 国产精品人妖ts系列视频| 精品一区二区久久| 91精品欧美综合在线观看最新| 夜夜爽夜夜爽精品视频| 成人黄页在线观看| 久久久久久久综合色一本| 蜜臀av性久久久久蜜臀aⅴ| 欧美色图天堂网| 亚洲黄色片在线观看| av一区二区不卡| 国产亚洲欧美在线| 国产露脸91国语对白| 精品免费一区二区三区| 美女免费视频一区| 91精品婷婷国产综合久久性色| 午夜电影网亚洲视频| 欧美亚洲国产一区二区三区va| 国产精品久久二区二区| av在线不卡电影| 亚洲欧美偷拍另类a∨色屁股| 成人午夜免费视频| 中文字幕av一区 二区| 成人夜色视频网站在线观看| 久久久久久影视| 国产福利一区在线| 一区二区成人在线观看| 91一区二区在线观看| 亚洲黄色片在线观看| 在线精品视频一区二区| 亚洲一区二区欧美日韩| 欧美高清精品3d| 蜜臀久久99精品久久久画质超高清| 3atv在线一区二区三区| 日本va欧美va欧美va精品| 日韩亚洲欧美在线| 狠狠色综合日日| 欧美国产日韩一二三区| 成人黄色av网站在线| 亚洲日本在线天堂| 欧美视频三区在线播放| 日本aⅴ精品一区二区三区| 久久影院视频免费| 国产成人在线影院| 日韩毛片高清在线播放| 欧美在线一区二区三区| 亚洲h动漫在线| 精品国产91久久久久久久妲己 | 91久久精品国产91性色tv| 亚洲国产精品综合小说图片区| 欧美顶级少妇做爰| 久久精品国产亚洲高清剧情介绍| 久久婷婷久久一区二区三区| 99久久精品久久久久久清纯| 亚洲午夜视频在线观看| 日韩精品在线网站| av一区二区三区四区| 日韩电影免费在线| 国产午夜亚洲精品羞羞网站| av午夜一区麻豆| 日韩不卡一区二区三区| 中文字幕精品—区二区四季| 91久久香蕉国产日韩欧美9色| 美女一区二区三区| 中文字幕日韩一区| 欧美美女一区二区| 国产一区二区女| 一区二区三区国产精品| 久久综合色综合88| 日本电影欧美片| 狠狠色丁香久久婷婷综合丁香| 亚洲精品国产一区二区三区四区在线| 在线综合亚洲欧美在线视频| 国产91丝袜在线18| 日韩中文字幕亚洲一区二区va在线| 欧美国产丝袜视频| 91精品国产丝袜白色高跟鞋| 成人va在线观看| 麻豆精品视频在线| 国产精品美女www爽爽爽| 宅男噜噜噜66一区二区66| 成人av在线一区二区三区| 美女在线一区二区| 一区二区三区**美女毛片| 久久久噜噜噜久久中文字幕色伊伊 | 久久精品99国产精品| 国产精品久久久久久久久动漫| 在线综合视频播放| 日本韩国一区二区三区视频| 国产精品一区二区久久精品爱涩| 一区二区三区蜜桃网| 国产午夜精品美女毛片视频| 91精品欧美福利在线观看| 91蜜桃视频在线| 国产精品1024| 蜜桃视频一区二区三区在线观看| 亚洲激情在线播放| 国产精品毛片无遮挡高清| 精品国产乱码久久| 欧美精品久久久久久久多人混战| 99久久伊人精品| 国产麻豆精品在线观看| 日韩电影一区二区三区四区| 亚洲欧美日韩在线播放| 欧美国产一区二区| 久久综合成人精品亚洲另类欧美| 欧美精品久久久久久久久老牛影院| 色综合久久九月婷婷色综合| 国产91精品一区二区麻豆亚洲| 蜜臀91精品一区二区三区| 午夜久久久久久久久| 亚洲精选一二三| 亚洲日本成人在线观看| 中文av一区二区| 国产免费成人在线视频| 久久精品在线免费观看| 久久久噜噜噜久久人人看 | 久久网站热最新地址| 日韩一区二区三区四区 | 亚洲电影在线免费观看| 亚洲综合成人在线视频| 亚洲男人的天堂在线aⅴ视频|