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

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

?? ahdlc.c

?? 這是新華龍(www.xhl.xom.xn)開發(fā)的
?? 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一区二区三区免费野_久草精品视频
色综合中文字幕| 亚洲激情成人在线| 在线中文字幕不卡| av在线播放不卡| 国产xxx精品视频大全| 黄页视频在线91| 激情国产一区二区| 国产美女精品一区二区三区| 久久精品国产免费| 国产乱码精品一区二区三| 久久99精品久久只有精品| 人人狠狠综合久久亚洲| 欧美精品高清视频| 欧美午夜精品免费| 日韩一级免费观看| 日本福利一区二区| 日韩精品久久理论片| 亚洲.国产.中文慕字在线| 亚洲成人免费av| 免费在线观看成人| 东方欧美亚洲色图在线| 91网址在线看| 欧美久久久一区| 久久久www成人免费无遮挡大片 | 日本亚洲电影天堂| 久久国产欧美日韩精品| 国产激情精品久久久第一区二区| 国产精品一区二区无线| 91丨porny丨最新| 日韩免费视频线观看| 国产日韩v精品一区二区| 中文字幕色av一区二区三区| 亚洲成人精品影院| 国产成人免费视频网站| 91丝袜高跟美女视频| 69成人精品免费视频| 欧美国产丝袜视频| 午夜免费欧美电影| 国产91对白在线观看九色| 欧美在线免费播放| 国产农村妇女精品| 日韩中文字幕亚洲一区二区va在线| 国产在线精品一区二区不卡了| 97久久人人超碰| 337p粉嫩大胆噜噜噜噜噜91av | 色综合夜色一区| 欧美一卡2卡三卡4卡5免费| 亚洲国产精品激情在线观看| 同产精品九九九| 99国产精品国产精品毛片| 日韩精品一区国产麻豆| 亚洲综合免费观看高清在线观看| 国产一区二区毛片| 欧美一区二区性放荡片| 一区二区视频在线看| 国产精品一区二区不卡| 欧美一级高清大全免费观看| 亚洲女厕所小便bbb| 国产大片一区二区| 欧美成人性福生活免费看| 亚洲综合色噜噜狠狠| 99久精品国产| 久久久精品2019中文字幕之3| 日韩av一区二区在线影视| 欧美性受xxxx黑人xyx性爽| 亚洲欧洲美洲综合色网| 国产99久久久国产精品潘金| 久久在线免费观看| 成人精品视频.| 欧美大片在线观看一区| 日本成人在线看| 91精品国产欧美一区二区成人 | 免费黄网站欧美| 欧美日韩一区在线观看| 一区二区三区国产精华| 91国偷自产一区二区三区观看| 中文字幕一区二区三区视频| 成人免费精品视频| 国产精品成人免费精品自在线观看| 国产精品一级在线| 国产日韩精品一区二区浪潮av| 精彩视频一区二区三区 | 国产一区二区三区免费看| 日韩欧美三级在线| 久久成人麻豆午夜电影| 欧美精品一区二区在线播放| 韩国毛片一区二区三区| 久久新电视剧免费观看| 国产成人精品影院| 久久综合一区二区| 国产成人综合亚洲网站| 国产精品白丝jk黑袜喷水| 中文字幕日本乱码精品影院| 从欧美一区二区三区| 国产精品美日韩| 色8久久精品久久久久久蜜| 一区二区在线免费| 欧美一级xxx| 国产69精品久久久久777| 亚洲色图在线视频| 欧美精品在线视频| 国产成人夜色高潮福利影视| 亚洲欧美电影一区二区| 91精品国产手机| 国产精品香蕉一区二区三区| 亚洲精品视频自拍| 欧美一级搡bbbb搡bbbb| 成人午夜激情在线| 一区二区三区在线观看国产| 日韩女优电影在线观看| 懂色av噜噜一区二区三区av| 亚洲一区二区三区在线播放| 日本一区二区三区国色天香| 欧美一区二区久久久| 国内精品视频666| 亚洲欧美日韩国产综合| 日韩一级高清毛片| www.亚洲在线| 久久激情五月婷婷| 亚洲精品乱码久久久久久| 欧美成人一区二区三区在线观看| 岛国精品在线观看| 蜜臀久久久久久久| 亚洲免费观看在线观看| 精品处破学生在线二十三| 欧洲国产伦久久久久久久| 国产99精品国产| 日本免费新一区视频| 亚洲尤物视频在线| 国产精品久久久久久亚洲伦| 精品成人私密视频| 欧美福利视频导航| 91豆麻精品91久久久久久| 岛国精品一区二区| 国产毛片精品一区| 免费人成黄页网站在线一区二区| 91传媒视频在线播放| 国产99久久久国产精品免费看| 久久精品一区蜜桃臀影院| 欧美日韩国产高清一区二区三区| 国产a精品视频| 国产精品一区二区久久精品爱涩 | 91在线视频播放| 韩国欧美国产1区| 美国毛片一区二区三区| 午夜视频在线观看一区二区三区| 亚洲日本va在线观看| 亚洲欧洲日本在线| 亚洲国产精华液网站w| 精品国产乱码久久久久久免费 | 日韩一区中文字幕| 国产欧美精品在线观看| 久久尤物电影视频在线观看| 日韩欧美一卡二卡| 精品国产一区二区精华| 精品久久久久久久久久久久久久久 | 久久精品日韩一区二区三区| 精品国一区二区三区| 精品99久久久久久| 精品电影一区二区三区| 久久久国产午夜精品| 日本一区二区久久| 亚洲欧美怡红院| 一区二区三区在线免费观看| 一区二区三区产品免费精品久久75| 中文字幕综合网| 亚洲国产欧美在线人成| 日韩精品午夜视频| 看片网站欧美日韩| 国产成人综合视频| 99久久久免费精品国产一区二区| 91麻豆精品一区二区三区| 欧美日韩精品一区二区三区| 日韩一二三四区| 国产精品网站一区| 亚洲国产精品一区二区久久恐怖片| 性感美女久久精品| 国产高清精品在线| 91无套直看片红桃| 日韩一区二区三区av| 国产嫩草影院久久久久| 一区二区免费在线播放| 久久精品国产久精国产| 成人成人成人在线视频| 欧美午夜不卡视频| 久久色在线视频| 伊人色综合久久天天人手人婷| 男女视频一区二区| 国产乱人伦偷精品视频不卡| 国产午夜精品一区二区三区四区| 一区二区国产视频| 在线一区二区三区| 亚洲综合区在线| 在线播放亚洲一区| 国产成人av一区二区三区在线| 欧美激情一区二区三区不卡| 91久久精品一区二区三| 免费成人av在线| 亚洲人成网站精品片在线观看 | 91精品国产综合久久精品麻豆|