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

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

?? ahdlc.c

?? uCLinux下的一個TCP/IP協議棧源碼
?? C
字號:
/* Asynchronous HDLC routines */
#include "global.h"
#include "ahdlc.h"
#include "crc.h"
#include "trace.h"	/******/

static uint8 *putbyte(uint8 *,uint8);

void
init_hdlc(hp,maxsize)
struct ahdlc *hp;
int maxsize;
{
	hp->escaped = 0;
	hp->hunt = 0;
	hp->inframe = NULL;
	hp->maxsize = maxsize;
	hp->fcs = FCS_START;
	hp->rxframes = 0;
	hp->aborts = 0;
	hp->toobigs = 0;
	hp->crcerrs = 0;
}

/* Process incoming data. Return completed packets, NULL otherwise */
struct mbuf *
ahdlcrx(ap,c)
struct ahdlc *ap;	/* HDLC Receiver control block */
uint8 c;
{
	struct mbuf *bp;

	if(c == HDLC_ESC_ASYNC){
		ap->escaped = 1;
		return NULL;
	}
	if(c != HDLC_FLAG){
		if(ap->hunt)
			return NULL; /* Ignore until next packet */
		/* Normal character within packet */
		if(ap->escaped){
			c ^= HDLC_ESC_COMPL;
			ap->escaped = 0;
		}
		if(ap->inframe == NULL)
			ap->inframe = ambufw(ap->maxsize);
		if(ap->inframe->cnt == ap->maxsize){
			/* Frame too large */
			ap->toobigs++;
#ifdef	debug
			printf("FRAME TOO LARGE (>%u bytes)\n",ap->maxsize);
#endif
			free_p(&ap->inframe);
			ap->inframe = NULL;
			ap->escaped = 0;
			ap->fcs = FCS_START;
			ap->hunt = 1;
			return NULL;
		}
		/* Store character, update FCS */
		ap->inframe->data[ap->inframe->cnt++] = c;
		ap->fcs = FCS(ap->fcs,c);
		return NULL;
	}
	/* We get here only if the character is a flag */
	if(ap->escaped){
		/* ESC, FLAG is frame abort */
		ap->aborts++;
#ifdef	debug
		printf("AHDLC ABORT, cnt = %u\n",ap->inframe->cnt);
#endif
		ap->hunt = 1;
		ap->escaped = 0;
		free_p(&ap->inframe);
		ap->inframe = NULL;
		ap->fcs = FCS_START;
		return NULL;
	}
	if(ap->hunt){
		/* Found flag in hunt mode. Reset for new frame */
		ap->hunt = 0;
		return NULL;
	}
	if(ap->inframe == NULL){
		/* Padding flags, ignore */
		return NULL;
	}
	if(ap->fcs != FCS_FINAL){
		/* CRC error */
		ap->crcerrs++;
#ifdef	debug
		printf("AHDLC CRC ERROR, cnt = %u\n",ap->inframe->cnt);
		hex_dump(stdout,&ap->inframe);
#endif
		free_p(&ap->inframe);
		ap->inframe = NULL;
		ap->fcs = FCS_START;
		return NULL;
	}
	if(ap->inframe->cnt < 2){
		/* Runt frame */
		ap->runts++;
#ifdef	debug
		printf("AHDLC RUNT, cnt = %u\n",ap->inframe->cnt);
#endif
		free_p(&ap->inframe);
		ap->inframe = NULL;
		ap->fcs = FCS_START;
		return NULL;
	}
	/* Normal end-of-frame */
	ap->rxframes++;
	bp = ap->inframe;
	ap->inframe = NULL;
	ap->fcs = FCS_START;
	bp->cnt -= 2;
#ifdef	debug
	printf("Normal AHDLC receive, len %u\n",bp->cnt);
#endif
	return bp;
}
/* Encode a packet in asynchronous HDLC for transmission */
struct mbuf *
ahdlctx(bp)
struct mbuf *bp;
{
	struct mbuf *obp;
	uint8 *cp;
	int c;
	uint16 fcs;

	fcs = FCS_START;
	obp = ambufw(5+2*len_p(bp));	/* Allocate worst-case */
	cp = obp->data;
	while((c = PULLCHAR(&bp)) != -1){
		fcs = FCS(fcs,c);
		cp = putbyte(cp,c);
	}
	free_p(&bp);	/* Shouldn't be necessary */
	fcs ^= 0xffff;
	cp = putbyte(cp,fcs);
	cp = putbyte(cp,fcs >> 8);
	*cp++ = HDLC_FLAG;

	obp->cnt = cp - obp->data;
	return obp;
}
static uint8 *
putbyte(cp,c)
uint8 *cp;
uint8 c;
{
	switch(c){
	case HDLC_FLAG:
	case HDLC_ESC_ASYNC:
		*cp++ = HDLC_ESC_ASYNC;
		*cp++ = c ^ HDLC_ESC_COMPL;
		break;
	default:
		*cp++ = c;
	}
	return cp;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美少妇一区二区| 91精品国产免费| 天天色 色综合| 久久精品欧美一区二区三区麻豆| 99re这里只有精品首页| 奇米在线7777在线精品| 成人欧美一区二区三区白人| 欧美精品v日韩精品v韩国精品v| 国产98色在线|日韩| 亚洲成av人片一区二区| 国产日韩在线不卡| 91精品国产高清一区二区三区 | 精品久久久久久久久久久院品网 | 亚洲自拍都市欧美小说| 国产日产亚洲精品系列| 欧美一区二区视频观看视频| 91国产丝袜在线播放| 国产不卡在线播放| 久久97超碰国产精品超碰| 亚洲一区二区欧美| 亚洲女同ⅹxx女同tv| 国产午夜精品一区二区三区嫩草| 欧美不卡123| 91精品免费在线| 欧美日韩一区二区三区四区五区| 99精品视频在线观看免费| 国产不卡在线播放| 国产成人午夜高潮毛片| 韩国精品在线观看| 美女国产一区二区三区| 日韩成人免费在线| 亚洲成人精品影院| 亚洲图片欧美色图| 亚洲精品欧美在线| 亚洲免费观看高清在线观看| 中文字幕一区二区三区视频| 中文字幕亚洲不卡| 欧美国产1区2区| 国产精品美女一区二区| 中文字幕不卡在线播放| 国产亚洲婷婷免费| 国产亚洲视频系列| 中文在线资源观看网站视频免费不卡| 久久久久国产成人精品亚洲午夜 | 一区二区三区精品视频| 怡红院av一区二区三区| 亚洲一区二区欧美日韩| 午夜精品久久久久久久蜜桃app| 亚洲成人免费影院| 日本欧美在线看| 激情综合色播激情啊| 色一情一伦一子一伦一区| 国产成人av在线影院| 国产成人在线影院| 粉嫩欧美一区二区三区高清影视| 国产一区啦啦啦在线观看| 激情都市一区二区| 国产成人午夜高潮毛片| av不卡在线播放| 色拍拍在线精品视频8848| 欧美午夜片在线看| 日韩欧美综合在线| 久久久久99精品国产片| 亚洲欧美自拍偷拍| 午夜精品在线看| 美腿丝袜亚洲综合| 成人av网站免费观看| 日本高清不卡一区| 欧美一级爆毛片| 久久久久国产成人精品亚洲午夜| 18欧美乱大交hd1984| 亚洲成人av福利| 国产一区二区在线免费观看| 不卡av在线免费观看| 欧美日韩国产一级二级| 精品国产凹凸成av人导航| 综合久久久久久| 视频一区二区三区中文字幕| 国产精品一区二区三区四区| 91在线观看视频| 日韩午夜激情av| 中文字幕永久在线不卡| 日韩国产欧美视频| caoporm超碰国产精品| 欧美一区二区播放| 国产精品高潮呻吟| 男人操女人的视频在线观看欧美| 成人性视频网站| 欧美人妖巨大在线| 国产精品系列在线| 美国十次了思思久久精品导航| 成人免费看黄yyy456| 欧美一二三四在线| 亚洲欧洲三级电影| 免费观看91视频大全| 91色在线porny| 久久亚洲春色中文字幕久久久| 亚洲欧美成人一区二区三区| 国内国产精品久久| 欧美日韩一区高清| 亚洲三级小视频| 国产一区二区精品久久91| 欧美日韩在线观看一区二区 | 国产日韩欧美一区二区三区综合| 1000精品久久久久久久久| 久久99久久久欧美国产| 91国偷自产一区二区使用方法| 国产日韩精品久久久| 免费看欧美美女黄的网站| 色中色一区二区| 国产欧美精品一区| 精品无人区卡一卡二卡三乱码免费卡| 色网综合在线观看| 国产精品你懂的在线| 久久99精品一区二区三区 | 日韩亚洲电影在线| 日韩精品中文字幕一区二区三区 | 国产成人免费视| 日韩欧美一区二区免费| 亚洲高清视频中文字幕| 91色视频在线| 国产精品久久久久久久午夜片 | 激情六月婷婷久久| 日韩一区国产二区欧美三区| 亚洲午夜精品17c| 日本高清成人免费播放| 亚洲日本青草视频在线怡红院| 国产·精品毛片| 国产日本欧洲亚洲| 国产91精品一区二区麻豆网站| 精品国产电影一区二区| 国内精品伊人久久久久av一坑| 日韩你懂的在线播放| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩1234| 日韩在线观看一区二区| 91精品国产丝袜白色高跟鞋| 午夜久久久影院| 欧美精品tushy高清| 午夜欧美视频在线观看| 777欧美精品| 热久久国产精品| 欧美成人一区二区三区在线观看| 精品无人区卡一卡二卡三乱码免费卡| 欧美mv和日韩mv的网站| 激情文学综合丁香| 国产日韩欧美a| 99re热这里只有精品视频| 亚洲欧洲成人精品av97| 一本到一区二区三区| 亚洲www啪成人一区二区麻豆| 欧美日韩免费电影| 日韩精品91亚洲二区在线观看| 精品噜噜噜噜久久久久久久久试看 | 日本韩国欧美一区| 视频在线观看91| 欧美www视频| 岛国一区二区三区| 亚洲欧美激情在线| 91精选在线观看| 久久精品国产网站| 中文字幕成人av| 欧美亚洲一区三区| 另类专区欧美蜜桃臀第一页| 国产视频一区二区三区在线观看 | 欧美大片在线观看| 国产福利91精品一区| 亚洲视频在线观看一区| 欧美精品日韩一本| 国产精品中文字幕欧美| 中文字幕在线观看一区二区| 欧美日韩电影在线播放| 经典一区二区三区| 综合久久久久久久| 精品人在线二区三区| 91在线高清观看| 日韩电影在线看| 国产精品三级av在线播放| 欧美日韩一区 二区 三区 久久精品| 麻豆免费精品视频| 亚洲视频精选在线| 日韩午夜小视频| 色域天天综合网| 国产一区啦啦啦在线观看| 一区二区三区欧美激情| 久久精品一区四区| 欧美日韩亚洲综合一区二区三区 | 欧美午夜电影一区| 韩国理伦片一区二区三区在线播放 | 久久精品欧美日韩| 欧美美女直播网站| 成人精品国产福利| 奇米影视一区二区三区| 亚洲欧美日韩精品久久久久| 久久久久久久综合日本| 91精品国产乱码| 欧洲激情一区二区| 丁香六月久久综合狠狠色| 免费三级欧美电影| 亚洲宅男天堂在线观看无病毒|