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

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

?? pppbitsyncframing.c

?? 這是全套的PPP協(xié)議的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
	return (OK);	}    address_and_control_fields_are_compressed = FALSE;    protocol_field_is_compressed = FALSE;    ppp_header.hdlc_address = HDLC_ADDRESS;    ppp_header.hdlc_control = UNNUMBERED_INFORMATION;    if (stackData->peerToLocalACCompression == TRUE)	{	if (sptr_rxed_packet->header.hdlc_address != HDLC_ADDRESS) 	    {	    address_and_control_fields_are_compressed = TRUE;	    memcpy (&protocol_type_in_bytes[0],(char *)sptr_rxed_packet,		    sizeof (USHORT_ENUM (PPP_PROTOCOL_TYPE)));	    }    	else	    {            protocol_type = sptr_rxed_packet->header.protocol_type;	    memcpy (&protocol_type_in_bytes[0], 	    		&protocol_type,	    		sizeof (USHORT_ENUM (PPP_PROTOCOL_TYPE)));	    }	}    else	{	if ((sptr_rxed_packet->header.hdlc_address != HDLC_ADDRESS) || 	    (sptr_rxed_packet->header.hdlc_control != UNNUMBERED_INFORMATION))            {	    RFC2233_COUNTER_UPDATE(stackData->pfwRFC2233CountTest, 				    stackData->pfwRFC2233CountPair,                                   M2_ctrId_ifInErrors, 1);	    RFC2233_COUNTER_UPDATE(stackData->pfwRFC2233CountTest, 				    stackData->pfwRFC2233CountPair,                                   M2_ctrId_ifInUnknownProtos, 1);	    return (ERROR); /* Discard frame */            }        protocol_type = sptr_rxed_packet->header.protocol_type;        	memcpy (&protocol_type_in_bytes[0],                &protocol_type,                sizeof (USHORT_ENUM (PPP_PROTOCOL_TYPE)));	}    if ((protocol_type_in_bytes[0] & 0x1) == 0)	{	memcpy (&protocol_type,&protocol_type_in_bytes[0],		sizeof (USHORT_ENUM (PPP_PROTOCOL_TYPE)));        ppp_header.protocol_type = protocol_type;	}    else	{	if (stackData->peerToLocalProtocolCompression != TRUE)            {	    RFC2233_COUNTER_UPDATE(stackData->pfwRFC2233CountTest, 				    stackData->pfwRFC2233CountPair,                                   M2_ctrId_ifInErrors, 1);	    RFC2233_COUNTER_UPDATE(stackData->pfwRFC2233CountTest, 				    stackData->pfwRFC2233CountPair,                                   M2_ctrId_ifInUnknownProtos, 1);	    return (ERROR); /* Discard frame */            }	protocol_field_is_compressed = TRUE;	*((char *) &ppp_header.protocol_type) = 0x00;	*(((char *) &ppp_header.protocol_type) + 1) = protocol_type_in_bytes[0];	}    if (address_and_control_fields_are_compressed == TRUE)	{	sptr_rxed_packet = (_PPP_PACKET *) (((ULONG) sptr_rxed_packet) -	(sizeof (ppp_header.hdlc_address) + sizeof (ppp_header.hdlc_control)));        lengthAdj = (USHORT) (sizeof (ppp_header.hdlc_address) +                     sizeof (ppp_header.hdlc_control));        packet->mBlkHdr.mLen += lengthAdj;        packet->mBlkPktHdr.len += lengthAdj;	}    if (protocol_field_is_compressed == TRUE)	{	sptr_rxed_packet = (_PPP_PACKET *) (((ULONG) sptr_rxed_packet) - 	                   sizeof (char));	packet->mBlkHdr.mLen += (USHORT) sizeof (char);        packet->mBlkPktHdr.len += (USHORT) sizeof (char);	}    memcpy ((char *)sptr_rxed_packet,&ppp_header,sizeof (_PPP_HEADER));    packet->mBlkHdr.mData = (char *)sptr_rxed_packet;    return (OK);    }/******************************************************************************** convertNormalDataToSynchronousData -*/LOCAL STATUS convertNormalDataToSynchronousData    (    PFW_PLUGIN_OBJ_STATE * state,    M_BLK_ID               srcPacket,    M_BLK_ID               dstFrame    )    {    char *srcByte;    BYTE srcBitIndex;    BYTE srcBitMask;    char *dstByte;    BYTE dstBitIndex;    BYTE oneBitCount;    BYTE codedByte;    char frameEnd = 0x7e;    BYTE bit;    M_BLK_ID dstFrameChainHead = dstFrame;    BSYNC_FRAMING_STACK_DATA *pStackData = state->stackData;    int srcByteCount;    int dstByteCount;    srcByteCount = srcPacket->mBlkHdr.mLen;    dstByteCount = 0;    srcByte = srcPacket->mBlkHdr.mData;    dstByte = dstFrame->mBlkHdr.mData;    oneBitCount = 0;    codedByte = 0;    dstBitIndex = 0;    srcBitIndex = 0;    srcBitMask = 0x1;    while(srcPacket != NULL && srcByteCount > 0)	{	if ((bit = (srcBitMask & *srcByte) ? 1 :0) == 1)	    {	    oneBitCount++;	    codedByte = (bit << dstBitIndex) | codedByte;	    }	if (++dstBitIndex == 8)	    {	    /* move to next byte in destination packet */	    *dstByte++ = codedByte;	    codedByte = 0;	    dstFrame->mBlkHdr.mLen++;	    dstByteCount++;	    if (dstByte ==		(dstFrame->pClBlk->clNode.pClBuf + dstFrame->pClBlk->clSize))		{		M_BLK_ID pNextMblk;		if ((pNextMblk = 		    netTupleGet(pStackData->netPoolId,dstFrame->mBlkHdr.mLen,					M_DONTWAIT, MT_DATA ,TRUE)) == NULL)		    {		    logMsg("BitSyncFraming:Failed to get another mBlk for \			    encoded frame:Stack %p\n",			    (int)state->stackObj,2,3,4,5,6);		    RFC2233_COUNTER_UPDATE(pStackData->pfwRFC2233CountTest, 					   pStackData->pfwRFC2233CountPair,                                           M2_ctrId_ifOutDiscards, 1);		    return ERROR;		    }		else		    pNextMblk->mBlkHdr.mLen = 0;		dstFrame->mBlkHdr.mNext = pNextMblk;		dstFrame = dstFrame->mBlkHdr.mNext;		dstByte = dstFrame->mBlkHdr.mData;		}	    dstBitIndex = 0;	    }	/* this allows us to add FRAME END byte at the end of the data bits*/	if (oneBitCount >= 6)	    {	    /* are we done with the trailing 0x7e? */	    if (srcBitMask != 0x80)		{		srcBitMask <<= 1;		continue;		}	    else		break;	    }	/* reset one bit count for zero data bits */	if (bit == 0)	    oneBitCount = 0;	/* stuff a 0 bit after 5 consecutive one bits */	if (oneBitCount == 5)	    {	    srcBitMask = 0;	    continue; 	    }	if (++srcBitIndex == 8)	    {	    /* move to next byte in source packet */	    srcByte++;	    if (--srcByteCount == 0)		{                /* The first IP fragment has mNext != NULL and mLen = 0.                 * Need to find the checksum appended in pppBitSyncSend.                 */                while((srcPacket->mBlkHdr.mNext != NULL)  &&                      ((srcPacket->mBlkHdr.mNext)->mBlkHdr.mLen == 0))                    {                    srcPacket = srcPacket->mBlkHdr.mNext;                    }		if (srcPacket->mBlkHdr.mNext != NULL)		    {		    srcPacket = srcPacket->mBlkHdr.mNext;		    srcByteCount = srcPacket->mBlkHdr.mLen;		    srcByte = srcPacket->mBlkHdr.mData;		    }		else		    {		    srcByteCount = 1;		    srcByte = &frameEnd;		    oneBitCount = 6;		    }		}	    srcBitIndex = 0;	    }	srcBitMask = (0x1 << srcBitIndex);	}    /* check if we have a partial last byte and bump byte count by 1 */    if (dstBitIndex > 0 && dstBitIndex < 8)	{	*dstByte = codedByte;	dstFrame->mBlkHdr.mLen++;	dstByteCount++;	}    dstFrameChainHead->mBlkHdr.mFlags |= M_PKTHDR;    dstFrameChainHead->mBlkPktHdr.len = dstByteCount;    return OK;    }/******************************************************************************** convertSynchronousDataToNormalData -*/LOCAL int convertSynchronousDataToNormalData    (    PFW_PLUGIN_OBJ_STATE * state,    M_BLK_ID               srcFrame,    M_BLK_ID               dstPacket    )    {    char *srcByte;    BYTE srcBitIndex;    BYTE srcBitMask;    char *dstByte;    BYTE dstBitIndex;    BYTE oneBitCount;    BYTE decodedByte;    BYTE bit;    M_BLK_ID dstPacketChainHead = dstPacket;    BSYNC_FRAMING_STACK_DATA *pStackData = state->stackData;    int srcByteCount;    int dstByteCount;    int decodedByteCount = 0;    srcByteCount = srcFrame->mBlkHdr.mLen;    dstByteCount = 0;    srcByte = srcFrame->mBlkHdr.mData;    dstByte = dstPacket->mBlkHdr.mData;    oneBitCount = 0;    decodedByte = 0;    dstBitIndex = 0;    srcBitIndex = 0;    srcBitMask = 0x1;    while(srcFrame != NULL && srcByteCount > 0)	{	srcBitMask = (0x1 << srcBitIndex);	if ((bit = (srcBitMask & *srcByte) ? 1 :0) == 1)	    oneBitCount++;	if (oneBitCount == 6)	    {	    /* end of frame */	    break;	    }	if (++srcBitIndex == 8)	    {	    /* move to next byte in source packet */	    srcByte++;	    if (--srcByteCount == 0)		{		if ((srcFrame = srcFrame->mBlkHdr.mNext) != NULL)		    {		    srcByteCount = srcFrame->mBlkHdr.mLen;		    srcByte = srcFrame->mBlkHdr.mData;		    }		else		    return 0;		}	    srcBitIndex = 0;	    }	if (bit == 0)	    {	    /* delete stuffed 0 bit after 5 consecutive ones */	    if (oneBitCount == 5)		{		oneBitCount = 0;		continue;		}	    /* reset one bit count for zero data bits */	    oneBitCount = 0;	    }	else	    decodedByte = (bit << dstBitIndex) | decodedByte;	if (++dstBitIndex == 8)	    {	    /* move to next destination byte */	    *dstByte++ = decodedByte;	    decodedByte = 0;	    dstPacket->mBlkHdr.mLen++;	    decodedByteCount++;	    dstByteCount++;	    if ((dstPacket->mBlkHdr.mData + dstByteCount) ==		(dstPacket->pClBlk->clNode.pClBuf + dstPacket->pClBlk->clSize))		{		M_BLK_ID pNextMblk;		if ((pNextMblk = 		    netTupleGet(pStackData->netPoolId,dstPacket->mBlkHdr.mLen,					M_DONTWAIT, MT_DATA ,TRUE)) == NULL)		    {		    logMsg("BitSyncFraming:Failed to get another mBlk for \			    decoded frame:Stack %p\n",			    (int)state->stackObj,2,3,4,5,6);		    RFC2233_COUNTER_UPDATE(pStackData->pfwRFC2233CountTest, 					    pStackData->pfwRFC2233CountPair,                                           M2_ctrId_ifInDiscards, 1);		    return ERROR;		    }		else		    pNextMblk->mBlkHdr.mLen = 0;		dstPacket->mBlkHdr.mNext = pNextMblk;		dstPacket = dstPacket->mBlkHdr.mNext;		dstByteCount = 0;		}	    dstBitIndex = 0;	    }	}    dstPacket->mBlkHdr.mLen = dstByteCount;    dstPacketChainHead->mBlkHdr.mFlags |= M_PKTHDR;    dstPacketChainHead->mBlkPktHdr.len = decodedByteCount;    return (decodedByteCount);    }/******************************************************************************** BitSyncFrameEventHandler -** This routine collects ppp attributes**/LOCAL STATUS BitSyncFrameEventHandler    (    PFW_PLUGIN_OBJ_STATE * state,    void *eventData    )    {    PPP_ATTRIBUTES *p_ppp_attr_data = (PPP_ATTRIBUTES *)eventData;    p_ppp_attr_data->framingType = PPP_SYNC_FRAMING;    return OK;    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清不卡| 国产一区二区电影| 欧美国产日韩一二三区| 精品91自产拍在线观看一区| 日韩欧美一区在线| 欧美mv日韩mv| 久久免费偷拍视频| 久久精品亚洲精品国产欧美| 精品国产乱码久久久久久久| 精品精品欲导航| 国产偷v国产偷v亚洲高清| 国产性色一区二区| 亚洲欧洲日产国产综合网| 亚洲欧美综合在线精品| 欧洲精品在线观看| 色哟哟一区二区三区| 91蝌蚪porny| 欧美主播一区二区三区| 欧美性三三影院| 91免费精品国自产拍在线不卡| 国产成人高清视频| 成人性生交大片免费看中文网站| 国产在线观看一区二区| 国产成人精品一区二| 激情成人午夜视频| 99综合电影在线视频| 在线精品视频一区二区三四| 欧美高清性hdvideosex| 日韩欧美你懂的| 国产日韩欧美一区二区三区乱码| 国产午夜精品在线观看| 亚洲欧洲av在线| 亚洲bdsm女犯bdsm网站| 青草av.久久免费一区| 国产电影一区在线| 欧美日韩日本视频| 精品欧美一区二区在线观看| 国产精品嫩草99a| 亚洲国产精品一区二区www在线| 久久国产精品无码网站| 99久久精品免费| 欧美电视剧在线观看完整版| 综合久久久久久| 日韩高清在线观看| 色屁屁一区二区| 精品999久久久| 亚洲午夜免费电影| 国产999精品久久| 欧美美女网站色| 中文字幕欧美国产| 三级久久三级久久| 91在线一区二区三区| 精品动漫一区二区三区在线观看| 亚洲免费观看高清在线观看| 国产美女精品人人做人人爽| 一本一本大道香蕉久在线精品| 精品久久久久久久人人人人传媒| 一区二区三区波多野结衣在线观看| 精品亚洲免费视频| 欧美美女直播网站| 一区二区三区中文在线观看| 国产精品中文字幕一区二区三区| 日本韩国精品在线| 中文字幕av免费专区久久| 精品一区二区三区不卡| 欧美一区二区久久| 午夜视频在线观看一区二区 | 玉米视频成人免费看| 国产成人高清在线| 亚洲国产精品av| 国产电影一区在线| 欧美激情艳妇裸体舞| 国产成人在线看| 欧美国产日韩在线观看| 丁香桃色午夜亚洲一区二区三区| 久久久亚洲国产美女国产盗摄| 久久99蜜桃精品| 精品国免费一区二区三区| 日本在线不卡一区| 精品美女被调教视频大全网站| 免费看日韩a级影片| 日韩精品一区二区三区在线观看| 日本不卡视频在线观看| 精品免费视频一区二区| 国产一区二区伦理片| 亚洲国产精品精华液2区45| 成人免费高清在线| 一区二区三区免费观看| 欧美人伦禁忌dvd放荡欲情| 久久精品久久99精品久久| 精品久久久久久久久久久久久久久| 韩国欧美国产一区| **性色生活片久久毛片| 91福利国产精品| 麻豆视频一区二区| 中文字幕精品在线不卡| 色综合激情久久| 久久99九九99精品| 亚洲色图清纯唯美| 欧美一区二区三区视频在线观看| 韩国成人精品a∨在线观看| 国产精品伦一区二区三级视频| 色综合久久综合中文综合网| 午夜精品视频一区| 国产女主播一区| 欧美在线视频日韩| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲日韩在线| 精品久久久久久无| 91搞黄在线观看| 国产精品2024| 午夜精品影院在线观看| 久久精品视频在线免费观看| 欧美亚洲国产怡红院影院| 美女视频黄久久| 亚洲精品国产无天堂网2021| 欧美日韩精品三区| 99久久综合99久久综合网站| 日韩av中文在线观看| 亚洲色图丝袜美腿| 久久精品亚洲精品国产欧美kt∨ | 亚洲黄色小说网站| 久久嫩草精品久久久久| 欧美日本韩国一区二区三区视频| 国产+成+人+亚洲欧洲自线| 日本亚洲一区二区| 亚洲综合激情小说| 中文字幕中文在线不卡住| 欧美成人国产一区二区| 欧美日韩免费视频| 91蜜桃在线免费视频| 国产麻豆成人精品| 蜜臀av一区二区在线免费观看| 亚洲精品国产品国语在线app| 国产丝袜在线精品| 久久综合成人精品亚洲另类欧美| 在线电影欧美成精品| 在线观看免费视频综合| 97久久人人超碰| av福利精品导航| www.日韩精品| 成av人片一区二区| 成人理论电影网| 成人av在线播放网址| 国产成人免费9x9x人网站视频| 激情综合五月婷婷| 韩国女主播一区| 九九九精品视频| 激情都市一区二区| 国产乱码精品一区二区三区av | 99热国产精品| 91麻豆精品视频| 色就色 综合激情| 欧美婷婷六月丁香综合色| 91成人免费网站| 欧美猛男超大videosgay| 欧美二区乱c少妇| 欧美第一区第二区| 久久嫩草精品久久久久| 中文字幕不卡的av| 亚洲色图欧美在线| 亚洲自拍另类综合| 无吗不卡中文字幕| 久久狠狠亚洲综合| 国产高清精品在线| 91香蕉视频黄| 欧美丝袜第三区| 日韩亚洲欧美高清| 国产日韩精品一区二区浪潮av| 中文字幕巨乱亚洲| 亚洲国产一区二区在线播放| 免费成人av在线| 国产成人在线电影| 日本高清无吗v一区| 91麻豆精品91久久久久同性| 精品久久久久久亚洲综合网| 中文字幕欧美日韩一区| 亚洲综合偷拍欧美一区色| 久久精品噜噜噜成人88aⅴ| 国产成a人亚洲| 欧美日本一道本在线视频| 2023国产精华国产精品| 亚洲欧美中日韩| 日韩精品电影一区亚洲| 成人毛片在线观看| 欧美一区二区女人| 一区在线中文字幕| 日本欧美加勒比视频| 国产69精品久久777的优势| 欧美日韩亚洲国产综合| 国产日韩欧美制服另类| 亚洲不卡一区二区三区| 国产剧情一区二区| 欧美视频中文一区二区三区在线观看| 精品国产伦一区二区三区观看体验| 国产精品视频看| 开心九九激情九九欧美日韩精美视频电影| 99国内精品久久| 欧美成人女星排行榜| 亚洲青青青在线视频|