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

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

?? prim.c

?? unix v7是最后一個廣泛發布的研究型UNIX版本
?? C
字號:
#include "../h/param.h"#include "../h/tty.h"#include "../h/systm.h"#include "../h/conf.h"#include "../h/buf.h"struct cblock {	struct cblock *c_next;	char	c_info[CBSIZE];};struct	cblock	cfree[NCLIST];struct	cblock	*cfreelist;int	cbad;/* * Character list get/put */getc(p)register struct clist *p;{	register struct cblock *bp;	register int c, s;	s = spl6();	if (p->c_cc <= 0) {		c = -1;		p->c_cc = 0;		p->c_cf = p->c_cl = NULL;	} else {		c = *p->c_cf++ & 0377;		if (--p->c_cc<=0) {			bp = (struct cblock *)(p->c_cf-1);			bp = (struct cblock *) ((int)bp & ~CROUND);			p->c_cf = NULL;			p->c_cl = NULL;			bp->c_next = cfreelist;			cfreelist = bp;		} else if (((int)p->c_cf & CROUND) == 0){			bp = (struct cblock *)(p->c_cf);			bp--;			p->c_cf = bp->c_next->c_info;			bp->c_next = cfreelist;			cfreelist = bp;		}	}	splx(s);	return(c);}/* * copy clist to buffer. * return number of bytes moved. */q_to_b(q, cp, cc)register struct clist *q;register char *cp;{	register struct cblock *bp;	register int s;	char *acp;	if (cc <= 0)		return(0);	s = spl6();	if (q->c_cc <= 0) {		q->c_cc = 0;		q->c_cf = q->c_cl = NULL;		return(0);	}	acp = cp;	cc++;	while (--cc) {		*cp++ = *q->c_cf++;		if (--q->c_cc <= 0) {			bp = (struct cblock *)(q->c_cf-1);			bp = (struct cblock *)((int)bp & ~CROUND);			q->c_cf = q->c_cl = NULL;			bp->c_next = cfreelist;			cfreelist = bp;			break;		}		if (((int)q->c_cf & CROUND) == 0) {			bp = (struct cblock *)(q->c_cf);			bp--;			q->c_cf = bp->c_next->c_info;			bp->c_next = cfreelist;			cfreelist = bp;		}	}	splx(s);	return(cp-acp);}/* * Return count of contiguous characters * in clist starting at q->c_cf. * Stop counting if flag&character is non-null. */ndqb(q, flag)register struct clist *q;{register cc;int s;	s = spl6();	if (q->c_cc <= 0) {		cc = -q->c_cc;		goto out;	}	cc = ((int)q->c_cf + CBSIZE) & ~CROUND;	cc -= (int)q->c_cf;	if (q->c_cc < cc)		cc = q->c_cc;	if (flag) {		register char *p, *end;		p = q->c_cf;		end = p;		end += cc;		while (p < end) {			if (*p & flag) {				cc = (int)p;				cc -= (int)q->c_cf;				break;			}			p++;		}	}out:	splx(s);	return(cc);}/* * Update clist to show that cc characters * were removed.  It is assumed that cc < CBSIZE. */ndflush(q, cc)register struct clist *q;register cc;{register s;	s = spl6();	if (q->c_cc < 0) {		if (q->c_cf != NULL) {			q->c_cc += cc;			q->c_cf += cc;			goto out;		}		q->c_cc = 0;		goto out;	}	if (q->c_cc == 0) {		goto out;	}	if (cc > CBSIZE || cc <= 0) {		cbad++;		goto out;	}	q->c_cc -= cc;	q->c_cf += cc;	if (((int)q->c_cf & CROUND) == 0) {		register struct cblock *bp;		bp = (struct cblock *)(q->c_cf) -1;		if (bp->c_next) {			q->c_cf = bp->c_next->c_info;		} else {			q->c_cf = q->c_cl = NULL;		}		bp->c_next = cfreelist;		cfreelist = bp;	} else	if (q->c_cc == 0) {		register struct cblock *bp;		q->c_cf = (char *)((int)q->c_cf & ~CROUND);		bp = (struct cblock *)(q->c_cf);		bp->c_next = cfreelist;		cfreelist = bp;		q->c_cf = q->c_cl = NULL;	}out:	splx(s);}putc(c, p)register struct clist *p;{	register struct cblock *bp;	register char *cp;	register s;	s = spl6();	if ((cp = p->c_cl) == NULL || p->c_cc < 0 ) {		if ((bp = cfreelist) == NULL) {			splx(s);			return(-1);		}		cfreelist = bp->c_next;		bp->c_next = NULL;		p->c_cf = cp = bp->c_info;	} else if (((int)cp & CROUND) == 0) {		bp = (struct cblock *)cp - 1;		if ((bp->c_next = cfreelist) == NULL) {			splx(s);			return(-1);		}		bp = bp->c_next;		cfreelist = bp->c_next;		bp->c_next = NULL;		cp = bp->c_info;	}	*cp++ = c;	p->c_cc++;	p->c_cl = cp;	splx(s);	return(0);}/* * copy buffer to clist. * return number of bytes not transfered. */b_to_q(cp, cc, q)register char *cp;struct clist *q;register int cc;{	register char *cq;	register struct cblock *bp;	register s, acc;	if (cc <= 0)		return(0);	acc = cc;	s = spl6();	if ((cq = q->c_cl) == NULL || q->c_cc < 0) {		if ((bp = cfreelist) == NULL) 			goto out;		cfreelist = bp->c_next;		bp->c_next = NULL;		q->c_cf = cq = bp->c_info;	}	while (cc) {		if (((int)cq & CROUND) == 0) {			bp = (struct cblock *) cq - 1;			if ((bp->c_next = cfreelist) == NULL) 				goto out;			bp = bp->c_next;			cfreelist = bp->c_next;			bp->c_next = NULL;			cq = bp->c_info;		}		*cq++ = *cp++;		cc--;	}out:	q->c_cl = cq;	q->c_cc += acc-cc;	splx(s);	return(cc);}/* * Initialize clist by freeing all character blocks, then count * number of character devices. (Once-only routine) */cinit(){	register int ccp;	register struct cblock *cp;	register struct cdevsw *cdp;	ccp = (int)cfree;	ccp = (ccp+CROUND) & ~CROUND;	for(cp=(struct cblock *)ccp; cp <= &cfree[NCLIST-1]; cp++) {		cp->c_next = cfreelist;		cfreelist = cp;	}	ccp = 0;	for(cdp = cdevsw; cdp->d_open; cdp++)		ccp++;	nchrdev = ccp;}/* * integer (2-byte) get/put * using clists */getw(p)register struct clist *p;{	register int s;	if (p->c_cc <= 1)		return(-1);	s = getc(p);	return(s | (getc(p)<<8));}putw(c, p)register struct clist *p;{	register s;	s = spl6();	if (cfreelist==NULL) {		splx(s);		return(-1);	}	putc(c, p);	putc(c>>8, p);	splx(s);	return(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合色视频| 午夜影院在线观看欧美| 日韩欧美国产一区二区三区| 在线视频你懂得一区| av一区二区久久| 9久草视频在线视频精品| 暴力调教一区二区三区| 成人激情图片网| 成人av电影在线| 色综合久久久久久久久久久| 91麻豆文化传媒在线观看| 91首页免费视频| 在线影院国内精品| 7777精品伊人久久久大香线蕉的 | 国产风韵犹存在线视精品| 国产一区亚洲一区| 不卡电影一区二区三区| 一本到不卡免费一区二区| 欧美亚洲动漫精品| 日韩三级视频在线看| 国产日产亚洲精品系列| 国产精品麻豆一区二区| 亚洲国产精品一区二区尤物区| 日韩高清不卡在线| 国产美女久久久久| 在线免费精品视频| 日韩三级电影网址| 国产精品福利av| 五月婷婷欧美视频| 高清beeg欧美| 8x福利精品第一导航| 中文天堂在线一区| 男女性色大片免费观看一区二区| 国内精品伊人久久久久影院对白| av日韩在线网站| 欧美一区二区三区成人| 日本一区二区免费在线 | 日韩精品一区在线| 中文字幕日本乱码精品影院| 五月天中文字幕一区二区| 国产毛片精品国产一区二区三区| 色八戒一区二区三区| 久久婷婷一区二区三区| 亚洲国产cao| av影院午夜一区| 精品国产乱码久久久久久牛牛| 亚洲男人的天堂一区二区| 国产一区二区在线电影| 欧美日韩一区二区三区高清 | 欧美日韩国产高清一区二区三区| 久久蜜桃av一区精品变态类天堂| 亚洲风情在线资源站| 成人ar影院免费观看视频| 精品捆绑美女sm三区| 午夜精品久久久久久久99水蜜桃| 北条麻妃国产九九精品视频| 久久人人97超碰com| 视频在线观看国产精品| 欧美午夜理伦三级在线观看| 欧美国产日本韩| 国产成人一级电影| 日韩免费看网站| 视频精品一区二区| 欧美视频日韩视频| 亚洲福中文字幕伊人影院| 在线观看国产精品网站| 中文字幕中文字幕一区二区| 国产精品一区二区免费不卡| 精品久久久三级丝袜| 秋霞午夜鲁丝一区二区老狼| 欧美片在线播放| 亚洲成人精品一区二区| 欧美日韩一区在线观看| 一区二区三区美女| 91国产视频在线观看| 亚洲愉拍自拍另类高清精品| 91碰在线视频| 亚洲精品日韩综合观看成人91| 94-欧美-setu| 亚洲免费三区一区二区| 91精品1区2区| 亚洲综合在线观看视频| 欧美日韩精品欧美日韩精品| 亚洲国产一区二区三区青草影视| 日本韩国欧美一区| 午夜精品久久久久久久99樱桃| 91精品久久久久久久99蜜桃| 久久成人羞羞网站| 久久久91精品国产一区二区精品 | 欧美综合天天夜夜久久| 亚洲综合色婷婷| 欧美一区在线视频| 精品一二三四在线| 国产精品萝li| 欧美日韩一区中文字幕| 国产乱码一区二区三区| 亚洲欧洲精品一区二区精品久久久| 91丨porny丨中文| 日本不卡高清视频| 久久久一区二区| 91丨九色丨黑人外教| 免费欧美日韩国产三级电影| 久久精品视频一区| 欧美中文字幕一区二区三区亚洲| 日本伊人色综合网| 欧美国产亚洲另类动漫| 欧美艳星brazzers| 国产乱人伦偷精品视频免下载 | 久久se精品一区二区| 中文一区二区完整视频在线观看| 在线免费观看视频一区| 狠狠色狠狠色综合系列| 亚洲一级在线观看| 欧美国产日产图区| 日韩视频在线一区二区| 94色蜜桃网一区二区三区| 韩国一区二区在线观看| 亚洲宅男天堂在线观看无病毒| 久久嫩草精品久久久精品| 欧洲色大大久久| 国产不卡在线一区| 男女性色大片免费观看一区二区| 亚洲精品中文在线观看| 久久新电视剧免费观看| 欧美人与性动xxxx| 色播五月激情综合网| 国产成人精品在线看| 久国产精品韩国三级视频| 亚洲一区日韩精品中文字幕| 中文字幕av免费专区久久| 91麻豆精品国产91久久久久久| 91麻豆福利精品推荐| 懂色av一区二区三区免费观看| 日韩二区三区在线观看| 亚洲一区在线观看网站| 亚洲精品自拍动漫在线| 亚洲人成在线播放网站岛国| 国产欧美视频一区二区| 精品粉嫩aⅴ一区二区三区四区| 欧美在线高清视频| 菠萝蜜视频在线观看一区| 亚洲第一成年网| 中文字幕一区二区三| 久久婷婷成人综合色| 26uuu另类欧美亚洲曰本| 欧美视频在线不卡| 99久久国产综合精品女不卡| 激情综合亚洲精品| 极品瑜伽女神91| 亚洲成人7777| 亚洲一区在线播放| 亚洲激情欧美激情| 亚洲一区二三区| 一区二区三区蜜桃网| 亚洲三级小视频| 欧美激情一区二区在线| 国产精品伦一区| 欧美高清在线一区二区| 2023国产一二三区日本精品2022| 8v天堂国产在线一区二区| 在线综合视频播放| 日韩三级在线观看| 欧美mv日韩mv国产网站| 色素色在线综合| 国产精品一区免费视频| 美女在线一区二区| 亚洲人成影院在线观看| 亚洲色图另类专区| 亚洲一区二区在线免费看| 国产精品高潮呻吟久久| 亚洲国产日韩一级| 日韩av中文字幕一区二区三区| 日日摸夜夜添夜夜添精品视频| 亚洲宅男天堂在线观看无病毒| 亚洲午夜在线电影| 婷婷综合久久一区二区三区| 亚洲一区二区三区国产| 免费观看30秒视频久久| 美女视频黄免费的久久| 国产真实乱偷精品视频免| 国产成人在线网站| 99久久久免费精品国产一区二区| 91视频国产资源| 欧美色图在线观看| 欧美一二三区精品| 国产精品伦一区| 亚洲午夜精品网| 香蕉久久一区二区不卡无毒影院| 亚洲一二三级电影| 日本一不卡视频| 国产精品12区| 欧美日韩中文精品| 精品国产一区久久| 中文字幕制服丝袜成人av| 一区二区三区中文字幕精品精品 | 国产麻豆精品在线观看| 成人污视频在线观看| 欧美性淫爽ww久久久久无| 国产亚洲欧美一级| 亚洲激情网站免费观看|