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

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

?? cbcmain.c

?? CBS(小區廣播)程序實現手稿
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "Include.h"

int Process_A_Message(CBEMESSAGE_t *s_CBEMessage);
int Process_B_Message(CBEMESSAGE_t *s_CBEMessage);
int Process_C_Message(CBEMESSAGE_t *LPs_CBEMessage);
int Initialize();

HANDLE hListen;
HANDLE hSendCBE;
HANDLE hReceBsc;

MESSAGE_BUF_t Rece_CBE_Buf;
MESSAGE_BUF_t Send_CBE_Buf;

/* 解邦定參數的互斥量 */
HANDLE UnpackBindmutex;

/* 運行時參數 */
RUNTIMEINFO_t s_RuntimeInfo;


/*
 * 小區路由配置信息
 * 和小區有關的路由表
 */
BSC_CELL_INFO_t    s_BSCCellInfo[MAX_BSC_CONNECT];

/* BSC的X.25連接時信息 */
BSC_CONNECT_INFO_t s_BscConnectInfo[MAX_BSC_CONNECT];

/* CBC X25的地址 */
char g_X25LocalAddr[BSC_ADDR_LEN+1];

/* CBC和BSC上下行鏈路的端口號和邏輯會話號 */
X25_PORT_LSN_t BscX25_Port_Lsn[MAX_BSC_CONNECT];

/* 端口號和邏輯會話號文件指針 */
FILE *f_port_lsn;

/* 邏輯進程數據區 */
unsigned char  ProcessData[LPROCESS][LPCB_DATA_SIZE];

/* 業務請求計數器,包括統計 */
COUNT_t s_CBSECount;

/* 解包緩沖區 */
CBC_BSC_UNPACK_t CBCBSC_Unpack;

/* 時區 */
int TimeZone;

int main()
{
	int          sId;
	char         presskey;
	int          iReturnValue;
	CBEMESSAGE_t s_CBEMessage;

	//邦定
	VBIND_t s_VBind;
	unsigned char BindBuf[200];
	int           len;
	//

	//-----
	char          Addr[20]="10.0.12.118";
	//------

	//X.25 Address Parameter
	char          RemoteAddr[10]="123";
	int           iPort=1;
	char          UserInfo[10]="hello";
	int           UserInfoLen=5;

    //-------------------------

	memset(&Rece_CBE_Buf,0,sizeof(MESSAGE_BUF_t));
	memset(&Send_CBE_Buf,0,sizeof(MESSAGE_BUF_t));

	Initialize();

	if ((sId=initsocket())<0)
		return FAILURE;

	//
	Rece_CBE_Buf.MsgFull  = CreateSemaphore(NULL,0,MSG_QUEUE_SIZE,NULL);
	Rece_CBE_Buf.MsgEmpty = CreateSemaphore(NULL,MSG_QUEUE_SIZE,MSG_QUEUE_SIZE,NULL);
	Rece_CBE_Buf.MsgMutex = CreateMutex(NULL,FALSE,NULL);
	Send_CBE_Buf.MsgFull  = CreateSemaphore(NULL,0,MSG_QUEUE_SIZE,NULL);
	Send_CBE_Buf.MsgEmpty = CreateSemaphore(NULL,MSG_QUEUE_SIZE,MSG_QUEUE_SIZE,NULL);
	Send_CBE_Buf.MsgMutex = CreateMutex(NULL,FALSE,NULL);


	UnpackBindmutex = CreateMutex(NULL,FALSE,NULL);

	hListen=CreateThread((LPSECURITY_ATTRIBUTES)NULL,0,(LPTHREAD_START_ROUTINE)ListenUser,&sId,0,NULL);
	hSendCBE=CreateThread((LPSECURITY_ATTRIBUTES)NULL,0,(LPTHREAD_START_ROUTINE)SendCBEMessage,NULL,0,NULL);


	if (Init25()<0)
	{
		printf("X25Init error!\n");
		return FAILURE;
	}

	memset(&s_VBind,0,sizeof(VBIND_t));
	s_VBind.p_Name.bFlag=1;
	s_VBind.p_Name.s_Operate.bFlag=1;
	s_VBind.p_Name.s_Operate.clength=7;
	strcpy(s_VBind.p_Name.s_Operate.cOperator,"eastcom");
	
	s_VBind.p_Name.s_BilateralAgreem.bFlag=0;
	s_VBind.p_Name.s_BilateralAgreem.clength=8;
	strcpy(s_VBind.p_Name.s_BilateralAgreem.cBilateralAgreem,"yangming");
	
	s_VBind.p_Name.s_DataNetWorkAddress.bFlag=1;
	s_VBind.p_Name.s_DataNetWorkAddress.clength=3;
	strcpy(s_VBind.p_Name.s_DataNetWorkAddress.cXl2lAddress,"456");

	s_VBind.p_PassWord.bFlag=0;
	s_VBind.p_PassWord.clength=3;
	strcpy(s_VBind.p_PassWord.cPassword,"555");
	
	s_VBind.p_Version.bFlag=0;
	s_VBind.p_Version.cVersion=2;


	len=Pack_cbse_VBIND(&s_VBind,BindBuf);



/*連接Bsc
	if ((X25handle=CallToRemote(RemoteAddr, LocalAddr, iPort, UserInfo, UserInfoLen, 0))<0)
	{
		printf("X25connect error!\n");
		return FAILURE;
	}
	else
	{
		printf("X25 connected!\n");
	}
*/


	for(;;)
	{
        GetCBERecvMsg(&s_CBEMessage);
		switch (s_CBEMessage.s_MessageHead.iMessageAreaId)
		{
		case A:
			iReturnValue=Process_A_Message(&s_CBEMessage);
			break;
        case B:
			iReturnValue=Process_B_Message(&s_CBEMessage);
			break;
		case C:
			iReturnValue=Process_C_Message(&s_CBEMessage);
			break;
		default:
#ifdef DEBUG_PRINT
            printf("Unknow Message Area.\n"); 
#endif
			break;
		}

		printf("Rece_CBE_Buf.iTail=%d\n\n",Rece_CBE_Buf.iTail);
//        AppendCBESendMessage(&s_CBEMessage);
	}

    for(;;)
	{
		scanf("%c",&presskey);
		if (presskey=='q') 
		{
			break;
		}
		printf("\n");
	}

	return SUCCESS;
}


//處理A區消息
int Process_A_Message(CBEMESSAGE_t *s_CBEMessage)
{
	int iReturnValue;
	PID_t s_SelectedPid;
    /* 內部格式緩沖區 */
	CBEMESSAGE_t s_ProxyMessage;

#ifdef  OPEN_WARNING
	/* 告警描述 */
	unsigned char cWarningDescription[WARNING_DESC_LEN];
#endif

#ifdef DEBUG_PRINT
    printf("------------------\n");         
	printf("Receive Message in A Area.\n"); 
#endif

	s_SelectedPid.cModuleId=MODULEID;     //s_CBEMessage->s_MessageHead.s_ReceiverPid.cModuleId;
	s_SelectedPid.cFunctionId=FUNCTIONID; //s_CBEMessage->s_MessageHead.s_ReceiverPid.cFunctionId; 
	
	switch (s_CBEMessage->s_MessageHead.iMessageType)
	{
	case CBCPROXY_WRITE_REPLACE:/* CBSE_WRITE_REPLACE: */
		{

#ifdef DEBUG_PRINT
            printf("Receive CBCPROXY_WRITE_REPLACE Message in A Area.\n\n"); 
#endif

			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_Write_Replace_Request(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"寫入或替換包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

			/* 分配邏輯進程 */
			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}

			iReturnValue=Process_Write_Replace_Request((unsigned char *)&s_ProxyMessage,s_SelectedPid);
			
			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_Write_Replace_Request return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_Write_Replace_Error(s_SelectedPid,iReturnValue);
					
			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}


		}

		break;
		
	case CBCPROXY_KILL_MESSAGE:/* CBSE_KILL_MESSAGE: */
		{
#ifdef DEBUG_PRINT
            printf("Receive CBCPROXY_KILL_MESSAGE Message in A Area.\n\n"); 
#endif

			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_KillMessage(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"刪除包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

#ifdef  OPEN_STATISTIC			
			s_CBSECount.s_CbcProxyReqCnt.iCBCProxyKillReqCnt++;
#endif

			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}	

			iReturnValue=Process_CBSE_KILL_MESSAGE((unsigned char *)&s_ProxyMessage,s_SelectedPid);

			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_KillMessage return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_CBE_Message_Error(s_SelectedPid,iReturnValue);

			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}


		}

		break;
		
	case CBCPROXY_STATUS_CBCH_QUERY:/* CBSE_STATUS_CBCH_QUERY: */
		{
			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_StatusCBCHQuery(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"信道負荷查詢包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

#ifdef  OPEN_STATISTIC			
			s_CBSECount.s_CbcProxyReqCnt.iCBCProxyCBCHReqCnt++;
#endif
			
			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}	

			iReturnValue=Process_STATUS_CBCH_QUERY((unsigned char *)&s_ProxyMessage.iLen,s_SelectedPid);

			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_StatusCBCHQuery return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_CBE_Message_Error(s_SelectedPid,iReturnValue);
			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}


		}

		break;
		
	case CBCPROXY_STATUS_MESSAGE_QUERY:/* CBSE_STATUS_MESSAGE_QUERY: */
		{
#ifdef DEBUG_PRINT
            printf("Receive CBCPROXY_STATUS_MESSAGE_QUERY Message in A Area.\n\n"); 
#endif
			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_StatusMessageQuery(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"消息查詢包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

#ifdef  OPEN_STATISTIC			
			s_CBSECount.s_CbcProxyReqCnt.iCBCProxyMsgQueryCnt++;
#endif

			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}	

			iReturnValue=Process_STATUS_MESSAGE_QUERY((unsigned char *)&s_CBEMessage->iLen,s_SelectedPid);

			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_StatusMessageQuery return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_CBE_Message_Error(s_SelectedPid,iReturnValue);
			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}

		}
		break;
	case CBCPROXY_RESET:/* RESET */
		{
#ifdef DEBUG_PRINT
            printf("Receive CBCPROXY_RESET Message in A Area.\n\n"); 
#endif
			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_Reset(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"重啟包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

#ifdef  OPEN_STATISTIC			
			s_CBSECount.s_CbcProxyReqCnt.iCBCProxyResetCnt++;
#endif

			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}	

			iReturnValue=Process_RESET((unsigned char *)&s_ProxyMessage.iLen,s_SelectedPid);

			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_Reset return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_CBE_Message_Error(s_SelectedPid,iReturnValue);
			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}


		}
		break;

	case CBCPROXY_SET_DRX:/* CBSE_SET_DRX: */
		{
			memset(&s_ProxyMessage,0,sizeof(CBEMESSAGE_t));
			/* 轉換參數 */
			iReturnValue=Convert_SETDRX(s_CBEMessage,&s_ProxyMessage);	
			if (iReturnValue==FAILURE)
			{
#ifdef  OPEN_WARNING
				/* 發送告警給OMP */
				memset(cWarningDescription,0,WARNING_DESC_LEN);
   				sprintf(cWarningDescription,"設置不連續接收包錯誤");
				SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif
				/* 扔掉錯誤消息 */
				return FAILURE;
			}

			s_SelectedPid.iProcessId=alloc_pid((char *)&s_SelectedPid);
			if ( s_SelectedPid.iProcessId < 0 )
			{
				printf("Creat Process Error\n");
				return FAILURE;
			}	
		
			iReturnValue=Process_SET_DRX((unsigned char *)&s_CBEMessage->iLen,s_SelectedPid);

			/* 出錯 */
			if (iReturnValue<0)
			{
	#ifdef DEBUG_PRINT
				printf("Process_SetDRX return error.ErrorCode=%d\n",iReturnValue); 
	#endif	
				Process_CBE_Message_Error(s_SelectedPid,iReturnValue);
			}

			if (iReturnValue!=CONTINUANCE)
			{
				/* 釋放進程 */
				if (free_pid((char *)&s_SelectedPid)<0)
				{
					printf("Free pid Error,Pid=%d\n",s_SelectedPid.iProcessId); 
				}
			}


		}

		break;
	default:
		/* 不認識的消息類別 */
#ifdef  OPEN_WARNING		
		/* 發送告警給OMP */
		memset(cWarningDescription,0,WARNING_DESC_LEN);
		sprintf(cWarningDescription,"無法識別的消息類型");
		SendWarningToOmp(LINK_WARNING,ERROR_PACK,cWarningDescription);
#endif

#ifdef DEBUG_PRINT
            printf("Unknow MessageType in A Area.\n"); 
#endif
			break;
		}
		return SUCCESS;
}


/* 處理定時器到時消息 */
int Process_B_Message(CBEMESSAGE_t *s_CBEMessage)
{
	struct timer_expire_message_t *LPTimerExpireMessage;
	int                           iReturnValue;
	PID_t                         s_Pid;

	LPTimerExpireMessage=(struct timer_expire_message_t *)s_CBEMessage;

	memcpy(&s_Pid,&LPTimerExpireMessage->owner,sizeof(PID_t));

	/* 殺掉定時器 */
	iReturnValue=kill_timer(LPTimerExpireMessage->timer_id, (char *)&LPTimerExpireMessage->owner);
	if(iReturnValue<0)
	{
		printf("Kill timer Error!TimerId=%d\n",LPTimerExpireMessage->timer_id);
		//sys error
		return FAILURE;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频在线观看一区| 中文在线免费一区三区高中清不卡| 91精品啪在线观看国产60岁| 国产一二精品视频| 99久久99久久精品免费看蜜桃| 911精品国产一区二区在线| 久久精品免视看| 亚洲大片一区二区三区| 国产成人av自拍| 91精品国产综合久久精品麻豆| 国产精品无圣光一区二区| 三级不卡在线观看| 色综合一个色综合亚洲| 久久久精品黄色| 青青草国产精品97视觉盛宴| 欧美亚洲日本国产| 国产精品剧情在线亚洲| 国产乱码字幕精品高清av| 在线播放欧美女士性生活| 亚洲精品网站在线观看| 国产成人亚洲综合a∨猫咪| 日韩美一区二区三区| 日韩电影在线观看电影| 色综合天天综合网天天看片| 国产精品视频线看| 国产成人午夜高潮毛片| 日韩欧美久久久| 人人精品人人爱| 日韩欧美一级特黄在线播放| 天堂影院一区二区| 69久久99精品久久久久婷婷| 亚洲成av人片一区二区三区| 欧美视频自拍偷拍| 五月天一区二区三区| 欧美性生活一区| 亚洲国产成人porn| 精品视频免费看| 日韩中文字幕91| 欧美一区二区三区免费视频| 亚洲成av人在线观看| 91亚洲资源网| 亚洲成人高清在线| 欧美中文字幕不卡| 高清不卡一区二区在线| 久久国产精品露脸对白| 欧美日韩久久久久久| 亚洲欧美在线另类| www.欧美色图| 中文字幕一区三区| 国产精品夜夜嗨| 国产亚洲成av人在线观看导航| 久草中文综合在线| 欧美不卡激情三级在线观看| 免费久久精品视频| 欧美一区二区三区系列电影| 丝袜亚洲另类欧美综合| 色老综合老女人久久久| 一区二区三区欧美| 欧美日韩三级一区二区| 亚洲国产一区二区三区| 欧美人妇做爰xxxⅹ性高电影 | 美女一区二区三区| 日韩欧美亚洲另类制服综合在线| 美女一区二区久久| 国产日产亚洲精品系列| 国产91综合网| 亚洲女同ⅹxx女同tv| 欧美视频三区在线播放| 日本成人在线电影网| 国产精品成人一区二区三区夜夜夜| 粉嫩嫩av羞羞动漫久久久| 亚洲婷婷国产精品电影人久久| 在线观看av一区二区| 日韩国产欧美在线播放| 在线成人小视频| 国产精品99久久久久久久女警| 欧美激情在线一区二区| 91国偷自产一区二区开放时间| 日韩国产欧美在线观看| 国产精品免费丝袜| 欧美日韩黄色影视| 国产乱码字幕精品高清av| 亚洲免费观看高清完整版在线观看| 欧美视频自拍偷拍| 国产一区二区三区四区五区美女| 国产精品高潮呻吟| 日韩午夜av电影| 91在线精品一区二区三区| 一区二区国产视频| 国产性做久久久久久| 欧美视频在线播放| 成a人片国产精品| 视频一区在线播放| 中文字幕不卡一区| 欧美一区二区三区四区五区| 国产精品白丝jk黑袜喷水| 亚洲一区二区三区四区不卡| 久久久久久久网| 51精品视频一区二区三区| proumb性欧美在线观看| 美女一区二区在线观看| 一区二区在线免费| 亚洲乱码国产乱码精品精的特点| 欧美va在线播放| 欧美精品色综合| 99re热这里只有精品视频| 国产主播一区二区| 日本亚洲欧美天堂免费| 亚洲综合免费观看高清完整版在线| 国产欧美日韩视频在线观看| 欧美精品xxxxbbbb| 91麻豆精品在线观看| av亚洲精华国产精华精华 | 日韩精品91亚洲二区在线观看| 国产日韩欧美精品综合| 欧美v日韩v国产v| 欧美精品粉嫩高潮一区二区| 色8久久精品久久久久久蜜| 国产91高潮流白浆在线麻豆| 久草这里只有精品视频| 日韩成人伦理电影在线观看| 亚洲激情一二三区| 2021久久国产精品不只是精品| 欧美日韩一区在线观看| 欧美在线你懂的| 一本色道久久综合狠狠躁的推荐| 国产精品小仙女| 高清不卡一二三区| 成人av午夜电影| 国产一区二区网址| 久久不见久久见免费视频7| 日本不卡不码高清免费观看| 奇米影视一区二区三区小说| 偷拍与自拍一区| 亚洲成人黄色小说| 午夜影视日本亚洲欧洲精品| 亚洲高清不卡在线观看| 亚洲成人手机在线| 婷婷国产在线综合| 伦理电影国产精品| 寂寞少妇一区二区三区| 激情综合色播激情啊| 国产成人午夜电影网| 国内久久婷婷综合| 91论坛在线播放| 欧美中文字幕一区二区三区| 欧美日韩国产免费| 日韩午夜精品视频| 久久综合精品国产一区二区三区| 久久久亚洲午夜电影| 国产精品欧美综合在线| 国产精品久久久久影视| 亚洲福利视频导航| 日本系列欧美系列| 国产成人免费在线观看| 99在线热播精品免费| 欧美日韩一区二区在线观看视频| 欧美一级夜夜爽| 国产亚洲福利社区一区| 亚洲一区在线视频观看| 日本三级亚洲精品| 99久久精品费精品国产一区二区| 欧美最猛黑人xxxxx猛交| 欧美电影免费观看高清完整版| 亚洲国产精品传媒在线观看| 一区二区三区四区视频精品免费| 日本美女视频一区二区| 成人一区二区三区| 在线观看视频一区二区| 欧美不卡视频一区| 日韩毛片视频在线看| 日韩国产欧美在线播放| 成人精品免费看| 欧美一区二区三区视频在线观看| 欧美韩国一区二区| 久久国产精品99精品国产| 色视频欧美一区二区三区| 制服丝袜亚洲播放| 亚洲欧美日韩一区| 狠狠色丁香九九婷婷综合五月| 色诱亚洲精品久久久久久| 26uuu精品一区二区三区四区在线| 亚洲精品视频免费看| 毛片基地黄久久久久久天堂| 91麻豆产精品久久久久久| 久久久久久影视| 水野朝阳av一区二区三区| 成人高清视频在线观看| 日韩一区二区三区高清免费看看| 亚洲天堂福利av| 国产在线精品一区在线观看麻豆| 91精品国产综合久久香蕉麻豆 | 国产视频亚洲色图| 石原莉奈在线亚洲三区| 色美美综合视频| 中文字幕乱码亚洲精品一区| 精品亚洲aⅴ乱码一区二区三区| 在线免费av一区| 国产精品视频一二三| 紧缚奴在线一区二区三区|