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

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

?? sgip.c

?? SGIP協議封裝
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "sgip.h"

int sgipBind(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_BIND *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;

	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;
	
	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_BIND);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	var8 = pBody->LoginType;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->LoginName) - 1;
	memcpy(ptr, pBody->LoginName, len);
	ptr += len;
	
	len = sizeof(pBody->LoginPassword) - 1;
	memcpy(ptr, pBody->LoginPassword, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
		
	return 0;
}

int sgipBindResp(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_BIND_RESP *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;

	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_BIND_RESP);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	var8 = pBody->Result;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipUnbind(SOCKET sockfd, 
	const unsigned long *SequenceNumber)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;

	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_UNBIND);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipUnbindResp(SOCKET sockfd, 
	const unsigned long *SequenceNumber)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;	
	
	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_UNBIND_RESP);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipSubmit(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_SUBMIT *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char i, var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;
	
	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_SUBMIT);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	len = sizeof(pBody->SPNumber) - 1;
	memcpy(ptr, pBody->SPNumber, len);
	ptr += len;
	
	len = sizeof(pBody->ChargeNumber) - 1;
	memcpy(ptr, pBody->ChargeNumber, len);
	ptr += len;
	
	var8 = pBody->UserCount;
	if (var8 < 1 || var8 > 100) 
		return -1;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	for (i = 0; i < var8; i++)
	{
		len = sizeof(pBody->UserNumber[i]) - 1;
		memcpy(ptr, pBody->UserNumber[i], len);
		ptr += len;
	}
	
	len = sizeof(pBody->CorpId) - 1;
	memcpy(ptr, pBody->CorpId, len);
	ptr += len;
	
	len = sizeof(pBody->ServiceType) - 1;
	memcpy(ptr, pBody->ServiceType, len);
	ptr += len;
	
	var8 = pBody->FeeType;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->FeeValue) - 1;
	memcpy(ptr, pBody->FeeValue, len);
	ptr += len;
	
	len = sizeof(pBody->GivenValue) - 1;
	memcpy(ptr, pBody->GivenValue, len);
	ptr += len;
	
	var8 = pBody->AgentFlag;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->MOrelatetoMTFlag;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->Priority;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->ExpireTime) - 1;
	memcpy(ptr, pBody->ExpireTime, len);
	ptr += len;
	
	len = sizeof(pBody->ScheduleTime) - 1;
	memcpy(ptr, pBody->ScheduleTime, len);
	ptr += len;
	
	var8 = pBody->ReportFlag;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->TP_pid;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->TP_udhi;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->MessageCoding;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->MessageType;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var32 = pBody->MessageLength;
	if (var32 > (sizeof(pBody->MessageContent) - 1))
		var32 = sizeof(pBody->MessageContent) - 1;
	var32 = htonl(var32);
	len = 4;
	memcpy(ptr, &var32, len);
	ptr += len;
	
	var32 = ntohl(var32);
	len = var32;
	memcpy(ptr, pBody->MessageContent, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipSubmitResp(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_SUBMIT_RESP *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;

	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_SUBMIT_RESP);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	var8 = pBody->Result;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipDeliver(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_DELIVER *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;
	
	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_DELIVER);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	len = sizeof(pBody->UserNumber) - 1;
	memcpy(ptr, pBody->UserNumber, len);
	ptr += len;

	len = sizeof(pBody->SPNumber) - 1;
	memcpy(ptr, pBody->SPNumber, len);
	ptr += len;
	
	var8 = pBody->TP_pid;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->TP_udhi;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->MessageCoding;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var32 = pBody->MessageLength;
	if (var32 > (sizeof(pBody->MessageContent) - 1))
		var32 = sizeof(pBody->MessageContent) - 1;
	var32 = htonl(var32);
	len = 4;
	memcpy(ptr, &var32, len);
	ptr += len;
	
	var32 = ntohl(var32);
	len = var32;
	memcpy(ptr, pBody->MessageContent, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipDeliverResp(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_DELIVER_RESP *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;

	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_DELIVER_RESP);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	var8 = pBody->Result;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipReport(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_REPORT *pBody)
{
	char ppdu[SGIP_PDU_SIZE], *ptr;
	unsigned int len;
	unsigned char var8;
	unsigned long var32;
	
	if (sockfd == INVALID_SOCKET)
		return -1;

	if (SequenceNumber == NULL || pBody == NULL)
		return -1;

	memset(ppdu, 0, sizeof(ppdu));
	ptr = ppdu;
	
	// 消息頭
	ptr += 4;
	
	var32 = htonl(SGIP_REPORT);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var32 = htonl(SequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;

	// 消息體
	var32 = htonl(pBody->SubmitSequenceNumber[0]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	var32 = htonl(pBody->SubmitSequenceNumber[1]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	var32 = htonl(pBody->SubmitSequenceNumber[2]);
	memcpy(ptr, &var32, 4);
	ptr += 4;
	
	var8 = pBody->ReportType;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->UserNumber) - 1;
	memcpy(ptr, pBody->UserNumber, len);
	ptr += len;
	
	var8 = pBody->State;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	var8 = pBody->ErrorCode;
	len = 1;
	memcpy(ptr, &var8, len);
	ptr += len;
	
	len = sizeof(pBody->Reserve) - 1;
	memcpy(ptr, pBody->Reserve, len);
	ptr += len;
	
	// 修改消息頭中長度
	len = ptr - ppdu;
	var32 = htonl(len);
	memcpy(ppdu, &var32, 4);

	// 發送數據包
	if (send(sockfd, ppdu, (int)len, 0) != (int)len) 
	{
		closesocket(sockfd);
		return -1;
	}
	
	return 0;
}

int sgipReportResp(SOCKET sockfd, 
	const unsigned long *SequenceNumber, const SGIP_BODY_REPORT_RESP *pBody)
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本乱大交xxxxx| 韩国av一区二区| 日韩欧美国产一二三区| 成人一二三区视频| 麻豆久久久久久久| 亚洲成精国产精品女| 中文字幕日韩精品一区| 亚洲精品在线免费播放| 91精品国产综合久久福利软件| 成人av电影在线观看| 精品无码三级在线观看视频| 亚洲成人动漫在线免费观看| 亚洲精品视频免费看| 一区二区三区日韩精品视频| 成人免费高清视频在线观看| 日av在线不卡| 五月天久久比比资源色| 国产精品理论在线观看| 欧美精品一区二区三区久久久| 欧美日韩另类国产亚洲欧美一级| 韩国三级中文字幕hd久久精品| 爽好久久久欧美精品| 伊人开心综合网| 亚洲特级片在线| 中文字幕第一区二区| 国产视频一区不卡| 久久久久久久久久久久久久久99| 欧美一二三在线| 欧美三级资源在线| 欧美亚洲国产bt| 欧美在线观看视频一区二区 | 国产精品精品国产色婷婷| 欧美精品久久久久久久久老牛影院 | 精品久久一区二区三区| 日本视频在线一区| 日韩伦理免费电影| 日本一区二区久久| 欧美激情在线免费观看| 国产日韩精品久久久| 国产精品视频麻豆| 亚洲三级免费电影| 一区二区三区欧美在线观看| 一区二区在线免费观看| 亚洲小少妇裸体bbw| 亚洲小少妇裸体bbw| 日韩精品一级二级 | 另类小说欧美激情| 国产剧情一区在线| 成人伦理片在线| 色综合久久中文字幕| 不卡视频一二三四| 欧美性色黄大片| 欧美一级精品大片| 国产欧美日韩三级| 亚洲精品综合在线| 日韩电影在线观看一区| 国产精品资源在线观看| 99热99精品| 国产肉丝袜一区二区| 欧美三区在线观看| 国产精品激情偷乱一区二区∴| 中文一区二区在线观看| 亚洲乱码国产乱码精品精98午夜| 亚洲第一福利一区| 狠狠色综合播放一区二区| 粉嫩嫩av羞羞动漫久久久| 色天使色偷偷av一区二区| 91精品国产综合久久精品麻豆| 久久天天做天天爱综合色| 亚洲日本在线视频观看| 日韩国产一二三区| 国产成人精品三级麻豆| 在线中文字幕一区二区| 欧美变态tickle挠乳网站| 日韩一区欧美一区| 奇米影视在线99精品| 成人黄色在线看| 欧美一区二区三区视频在线| 国产精品天天看| 日韩一区欧美二区| 成人综合婷婷国产精品久久免费| 欧美色中文字幕| 国产欧美一区二区精品忘忧草| 亚洲一区二区三区国产| 国产一区二区精品久久99| 欧美精品少妇一区二区三区| 在线观看亚洲专区| 久久成人综合网| 99久久婷婷国产综合精品电影| 一本大道久久a久久综合| 精品国产污网站| 亚洲美女淫视频| 国产一区二区三区免费在线观看| 一本大道久久a久久综合婷婷| 26uuu亚洲综合色欧美| 夜夜嗨av一区二区三区四季av| 国产成人在线电影| 91精品久久久久久久99蜜桃| 亚洲色图欧美在线| 国产麻豆精品久久一二三| 欧美日韩小视频| 亚洲婷婷综合色高清在线| 国产精品一色哟哟哟| 日韩免费一区二区| 亚洲va在线va天堂| 在线亚洲欧美专区二区| 国产精品久久久久一区二区三区共 | 天天色图综合网| 91看片淫黄大片一级在线观看| 91精品国产综合久久精品麻豆| 1区2区3区精品视频| 一本色道a无线码一区v| 在线免费亚洲电影| 日韩免费观看高清完整版在线观看| 日本va欧美va瓶| 日本韩国一区二区三区视频| 中文字幕乱码一区二区免费| 久久aⅴ国产欧美74aaa| 欧美一区三区二区| 亚洲成人自拍网| 欧美亚洲一区二区在线| 亚洲黄色在线视频| www.日韩在线| 国产精品热久久久久夜色精品三区 | 国产精品88av| 久久久91精品国产一区二区三区| 久久国产福利国产秒拍| 欧美一区二区免费视频| 日本伊人精品一区二区三区观看方式| 欧美色手机在线观看| 亚洲影院理伦片| 欧美私人免费视频| 亚洲一区av在线| 欧美日韩一区小说| 丝袜美腿成人在线| 欧美一区二区三区日韩| 国产精品久久久久aaaa樱花| 亚洲一区在线观看免费| 国产米奇在线777精品观看| 精品国产麻豆免费人成网站| 狠狠色综合播放一区二区| 欧美成人r级一区二区三区| 激情成人综合网| 久久精品视频免费| 成年人国产精品| 亚洲激情综合网| 欧美日韩大陆在线| 秋霞午夜鲁丝一区二区老狼| 日韩欧美精品在线视频| 国产精品99久久久久久有的能看| 久久久国产精品不卡| 成人国产精品视频| 亚洲激情五月婷婷| 911精品产国品一二三产区| 麻豆精品一区二区三区| 日本一区二区免费在线观看视频 | 国产一区二区0| 国产精品国产自产拍高清av| 色综合久久综合| 日韩精品乱码免费| 国产午夜三级一区二区三| 99久久综合狠狠综合久久| 一区二区不卡在线视频 午夜欧美不卡在 | 91理论电影在线观看| 一区二区三区四区精品在线视频| 一本色道**综合亚洲精品蜜桃冫 | 日韩一区欧美一区| 欧美精品一二三区| 久久av老司机精品网站导航| 中文字幕一区二区三区不卡在线| 99久久夜色精品国产网站| 婷婷久久综合九色综合伊人色| 久久久精品国产免大香伊| 色狠狠av一区二区三区| 精品一区二区三区不卡| 亚洲日本在线天堂| 精品国精品国产尤物美女| 91黄色小视频| 国产乱码一区二区三区| 亚洲国产精品久久人人爱蜜臀| 久久影院视频免费| 精品视频免费看| 成人久久视频在线观看| 天天综合天天综合色| 国产精品久久久久久户外露出 | 日本一区二区三区在线不卡| 色视频成人在线观看免| 91老师片黄在线观看| 精品日韩在线观看| 国产校园另类小说区| 在线中文字幕一区二区| 国产麻豆欧美日韩一区| 日韩精品成人一区二区在线| 国产精品久久夜| 久久综合久久鬼色中文字| 欧美亚洲国产一区在线观看网站 | 精品一区二区三区蜜桃| 亚洲小少妇裸体bbw| 国产精品家庭影院| 久久午夜色播影院免费高清|