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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lb_bdy2.c

?? 中國石油二期加油站IC系統后臺通訊軟件
?? C
字號:
/*
***********************************************************************************************************
													  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-4 21:53:01  
***********************************************************************************************************
*/

/************ 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"
	#include "winsock2.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 lbUpdateGunStat(EquCfgEntry_s * equ, U8 sideId, RqstStatAck_s * ack)
{
	TranCb_s * tran;
	RxCmdEntry_s * entry;

	if(equ->entry.pGunId != ack->crrntGunId)
	{
		printf("error: gunId\n");
		RETVALUE(RFAILED);
	}

	equ->stat = ack->stat;

	if(equ->stat == GUN_DOWN && equ->lastStat == GUN_DOWN)
	{
		if(!ack->cardNotInSta && equ->cardInStat == FALSE )
		{
			switch(ack->cardStat)
			{
			case ONLY_CARD_NO:
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardASN(equ, tran, NULLP);
				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbIndCardInMsg(equ, tran);

				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardInfo(equ, tran, NULLP);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbIndCardInfoMsg(equ, tran, NULLP);



				break;

			case PARTVALUE_VALID:
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardASN(equ, tran, NULLP);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbIndCardInMsg(equ, tran);
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardInfo(equ, tran, NULLP);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbIndCardInfoMsg(equ, tran, NULLP);


				break;

			case ALL_VALID:
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbBuildGetCardASN(equ, tran, NULLP);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbIndCardInMsg(equ, tran);
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardInfo(equ, tran, NULLP);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);
				lbIndCardInfoMsg(equ, tran, NULLP);


				break;
			}
			equ->cardInStat =   TRUE;
		}

		else if(ack->cardNotInSta && equ->cardInStat == TRUE)
		{
			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbBuildGetCardInfo(equ, tran, NULLP);

			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbIndCardOutMsg(equ, tran);
			equ->cardInStat = FALSE;
			memset(equ->crrntCardNo, 0xff, 10); 
		}

		switch(ack->workstationStat)
		{
		case NO_WORKER:
			break ;
		case THEREIS_WORKER:
			break;

		case REQ_ONWORK:
			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildGetCardASN(equ, tran, 1);
			lbBuildGetTotleVolume(equ, tran, NULLP);


			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbIndWorkOnMsg(equ, tran);

			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildCfm(equ, tran, WORK_ON_RQST, NULLP);
			break;
		case REQ_OUTWORK:
			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildGetCardASN(equ ,tran, 1);
			lbBuildGetTotleVolume(equ, tran, NULLP);

			lbBuildCloseDuring(equ, tran, NULLP);

			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbIndWorkOutMsg(equ, tran );


			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildCfm(equ, tran, WORK_OUT_RQST, NULLP);



			break;
		case NEW_ON_WORK:
			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildGetTotleVolume(equ, tran, NULLP);
			lbBuildCloseDuring(equ, tran, NULLP);

			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbIndWorkOutMsg(equ, tran);
			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbIndWorkOnMsg(equ, tran);


			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);

			lbBuildCfm(equ, tran, WORK_ON_RQST, NULLP);

			break;
		}

	}
	else if(equ->stat == GUN_UP_AND_WAIT_AUTH && equ->lastStat == GUN_DOWN)
	{
		if(ack->cardNotInSta)
		{
			printf("no card in station\n");
			RETVALUE(RFAILED);
		}

		LBGETCMDENTRY(0, IND_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbIndGunUpMsg(equ, tran);

		if(!ack->cardNotInSta && equ->cardInStat == FALSE)
		{
			switch(ack->cardStat)
			{
			case ONLY_CARD_NO:
			case PARTVALUE_VALID:
			case ALL_VALID:
				LBGETCMDENTRY(0, CMD_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbBuildGetCardASN(equ, tran, 0);

				LBGETCMDENTRY(0, IND_DIR, entry);
				LBGETTRAN(entry, equ, tran);

				lbIndCardInMsg(equ, tran);
				break;
			}
			equ->cardInStat = TRUE;
		}

		equ->stat = GUN_UP_AND_WAIT_AUTH;
		equ->crrntVolume = 0;
		equ->crrntAcount = 0;
		LBGETCMDENTRY(0, CMD_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbBuildGetCardInfo(equ, tran, NULLP);

		LBGETCMDENTRY(0, IND_DIR, entry);
		LBGETTRAN(entry, equ, tran);
		lbIndCardInfoMsg(equ, tran, NULLP);

		LBGETCMDENTRY(0, CMD_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbBuildAuthStart(equ, tran);
	}

	else if((equ->stat == GUN_UP_AND_FILLING && equ->lastStat == GUN_UP_AND_WAIT_AUTH)
		   || (equ->stat == GUN_UP_AND_FILLING && equ->lastStat == GUN_UP_AND_FILLING))
	{
		equ->crrntVolume = ntohl(ack->volume);
		equ->crrntAcount =ntohl(ack->account);
		LBGETCMDENTRY(0, IND_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbIndUpdateTrans(equ, tran,  
						 ack->account,
						 ack->volume);
	}
	else if((equ->stat == GUN_DOWN_AND_WAIT_AUTH && equ->lastStat == GUN_UP_AND_FILLING)
			|| (equ->stat == GUN_DOWN_AND_WAIT_AUTH && equ->lastStat == GUN_DOWN)
			|| (equ->stat == GUN_DOWN_AND_WAIT_AUTH && equ->lastStat == GUN_DOWN_AND_WAIT_AUTH))
	{
		equ->crrntVolume = ntohl(ack->volume);
		equ->crrntAcount =ntohl(ack->account);

		LBGETCMDENTRY(0, IND_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbIndUpdateTrans(equ, tran,
						 ack->account,
						 ack->volume);

		lbIndGunDownMsg(equ, tran);

		if(ack->cardNotInSta && equ->cardInStat == TRUE)
		{
			/* stop auth will be send when card ballance have get */
			LBGETCMDENTRY(0, CMD_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbBuildGetCardInfo(equ, tran, NULLP );

			LBGETCMDENTRY(0, IND_DIR, entry);
			LBGETTRAN(entry, equ, tran);
			lbIndCardOutMsg(equ,tran );
			equ->cardInStat = FALSE;
		}
		LBGETCMDENTRY(0, CMD_DIR, entry);
		LBGETTRAN(entry, equ, tran);

		lbBuildAuthStop(equ, tran);
	}
	equ->lastStat = equ->stat;
	RETVALUE(ROK);

}

Bool rqstDebug = TRUE;

S16 lbScRqstProc(EquCfgEntry_s * equ, U8 rqstFlag)
{
	if(!rqstFlag)
	{
		RETVALUE(ROK);
	}
	if (rqstDebug == TRUE)
	{

	if(rqstFlag & ND_CONFIG_RQ_F)
	{
		lbBuildLoadCfg(equ);
	}
	if(rqstFlag & ND_DLD_RQ_F)
	{
		lbBuildLoadDLD(equ);
	}
	if(rqstFlag & ND_DBLK_RQ_F)
	{
		lbBuildLoadBlklist(equ);
	}

	if(rqstFlag & SENDLOADGREY_RQ_F)
	{
		lbBuildLoadOwnGrey(equ);
	}

	if(rqstFlag & ND_BLK_RQ_F)
	{
		ldBuildFindBlklist(equ);
	}

	if(rqstFlag & ND_GREY_RQ_F)
	{
		lbBuildFindOtherGrey(equ);
	}

	if(rqstFlag & SENDRECORD_RQ_F)
	{
		lbBuildSendRecordRqst(equ);
	}
	}

	RETVALUE(ROK);
}


/******************* modify histroy list *******************
001. create at: 2002-7-4 21:53:01 by Shangyaohui

****************** modify histroy list end ****************/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人教育av在线| 欧美国产激情一区二区三区蜜月 | 国产另类ts人妖一区二区| 亚洲欧洲国产日韩| 欧美日韩国产大片| 五月婷婷色综合| 欧美成人aa大片| 久久国产尿小便嘘嘘| 337p日本欧洲亚洲大胆精品| 国产最新精品免费| 亚洲欧洲一区二区三区| 99久久综合国产精品| 亚洲成人av一区二区| 日韩精品一区二区在线观看| 国产一区二区三区高清播放| 亚洲人xxxx| 精品视频1区2区3区| 美国十次了思思久久精品导航| 欧美精品一区二区三区很污很色的 | 国产精品青草久久| 在线亚洲人成电影网站色www| 亚洲一区二区三区激情| 337p粉嫩大胆噜噜噜噜噜91av | 日韩精品一二区| 欧美国产一区二区在线观看| 欧美亚洲高清一区| 国产高清不卡一区二区| 久久精品一级爱片| 国产一区二区视频在线| 一区二区三区中文在线观看| 日韩午夜在线观看视频| 91久久人澡人人添人人爽欧美 | 激情五月婷婷综合| 亚洲国产cao| 亚洲三级小视频| 欧美极品aⅴ影院| 337p粉嫩大胆噜噜噜噜噜91av | 91麻豆精品国产综合久久久久久 | 99久久精品一区二区| 国产一区二区三区最好精华液| 亚洲bt欧美bt精品777| 日韩美女久久久| 国产欧美一区视频| 亚洲精品一区二区三区精华液 | 亚洲欧美偷拍卡通变态| 国产精品免费网站在线观看| 精品国产成人系列| 日韩欧美一级二级三级| 欧美一区二区在线不卡| 欧美一区午夜精品| 日韩免费视频一区| 久久久久久日产精品| 久久久久久久综合| 国产精品久久久久精k8| 中文字幕亚洲不卡| 亚洲视频精选在线| 亚洲精品中文在线观看| 亚洲三级免费观看| 美女国产一区二区| 国产成人在线视频网站| 色综合激情久久| 日韩一级二级三级| 日韩国产欧美三级| 国产91精品免费| 欧美视频日韩视频| 久久久久久久久久久久电影 | 久久久亚洲精华液精华液精华液| 日韩欧美国产wwwww| 久久欧美一区二区| 亚洲色图制服丝袜| 天天色图综合网| 久久精品国产999大香线蕉| 国产精品白丝av| 99久久99久久综合| 欧美精品视频www在线观看| 日韩午夜在线观看视频| 中文av一区特黄| 亚洲一线二线三线久久久| 蜜桃一区二区三区在线| 91在线无精精品入口| 99在线精品视频| 日韩欧美精品三级| 亚洲欧美一区二区视频| 免费在线观看日韩欧美| 99久久国产综合精品色伊| 日韩欧美在线影院| 亚洲一区二区三区小说| 国产成人在线视频网站| 欧美日本乱大交xxxxx| 日韩一区欧美一区| 国产一区二区女| 欧美一级片在线观看| 日韩毛片视频在线看| 国产精品资源网| 欧美一区二区三区视频在线观看 | 黄一区二区三区| 福利一区福利二区| 久久久精品综合| 老司机精品视频在线| 欧美一区2区视频在线观看| 亚洲情趣在线观看| 97久久人人超碰| 1024国产精品| 成人高清在线视频| 欧美国产精品中文字幕| 国产成人啪免费观看软件| 久久色在线观看| 国产精品资源在线| 久久午夜老司机| 国产69精品久久久久777| 欧美国产精品一区二区三区| 国产一区二区三区最好精华液| 日韩欧美国产一区二区三区| 免费视频一区二区| 在线成人av网站| 日韩国产一区二| 久久蜜桃一区二区| 成人丝袜高跟foot| 亚洲最大的成人av| 欧美电视剧在线观看完整版| 五月天国产精品| 国产亚洲va综合人人澡精品| 精品一区二区免费在线观看| 亚洲国产精品t66y| 欧美日韩在线播放| 国产一区二区三区综合| 亚洲精品高清在线观看| 日韩一级片在线播放| 99视频热这里只有精品免费| 最新热久久免费视频| 8x8x8国产精品| 成人久久18免费网站麻豆| 亚洲不卡一区二区三区| 国产午夜精品理论片a级大结局| 一本久道中文字幕精品亚洲嫩| 青青草国产精品亚洲专区无| 日产精品久久久久久久性色| 欧美激情在线观看视频免费| 91精品婷婷国产综合久久性色 | 亚洲成人先锋电影| 久久精品视频免费| 日韩一区二区三区四区| 在线一区二区视频| 成人丝袜高跟foot| 精品一区免费av| 日本亚洲天堂网| 亚洲va欧美va人人爽| 国产精品久久久久影院色老大| 欧美变态tickling挠脚心| 欧美日韩国产综合一区二区| 日本伦理一区二区| 91丨porny丨最新| www.激情成人| 色综合久久88色综合天天| 成a人片国产精品| 成人免费的视频| 高清av一区二区| 国产永久精品大片wwwapp| 精品伊人久久久久7777人| 精品亚洲porn| 成人久久久精品乱码一区二区三区| 国产成人小视频| 99视频国产精品| 欧美日韩国产在线观看| 91麻豆精品国产91| 精品国产乱子伦一区| 日韩一级片在线观看| 亚洲精品在线观看视频| 日韩精品一区在线| 国产精品久久久久久久久动漫| 亚洲私人影院在线观看| 日韩一区有码在线| 五月激情综合网| 日本伊人色综合网| 成人免费av在线| 欧美最猛性xxxxx直播| 亚洲视频一区在线| 国产精品视频一二三| 99re视频精品| 欧美日韩三级在线| 国产三级精品三级| 亚洲va国产天堂va久久en| 久久国产日韩欧美精品| 成人h版在线观看| 日韩av不卡一区二区| 国产老肥熟一区二区三区| 欧美天天综合网| 国产精品国产三级国产普通话蜜臀| 国产精品乱子久久久久| 日韩精品一二区| 91网址在线看| 国产清纯在线一区二区www| 奇米综合一区二区三区精品视频| 全国精品久久少妇| 欧美亚一区二区| 亚洲人妖av一区二区| 粉嫩aⅴ一区二区三区四区 | 欧美午夜精品一区二区蜜桃 | 国产成人三级在线观看| 欧美va亚洲va|