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

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

?? subr.c

?? unix v7是最后一個(gè)廣泛發(fā)布的研究型UNIX版本
?? C
字號(hào):
#include "../h/param.h"#include "../h/systm.h"#include "../h/conf.h"#include "../h/inode.h"#include "../h/dir.h"#include "../h/user.h"#include "../h/buf.h"/* * Bmap defines the structure of file system storage * by returning the physical block number on a device given the * inode and the logical block number in a file. * When convenient, it also leaves the physical * block number of the next block of the file in rablock * for use in read-ahead. */daddr_tbmap(ip, bn, rwflg)register struct inode *ip;daddr_t bn;{	register i;	struct buf *bp, *nbp;	int j, sh;	daddr_t nb, *bap;	dev_t dev;	if(bn < 0) {		u.u_error = EFBIG;		return((daddr_t)0);	}	dev = ip->i_dev;	rablock = 0;	/*	 * blocks 0..NADDR-4 are direct blocks	 */	if(bn < NADDR-3) {		i = bn;		nb = ip->i_un.i_addr[i];		if(nb == 0) {			if(rwflg==B_READ || (bp = alloc(dev))==NULL)				return((daddr_t)-1);			nb = bp->b_blkno;			bdwrite(bp);			ip->i_un.i_addr[i] = nb;			ip->i_flag |= IUPD|ICHG;		}		if(i < NADDR-4)			rablock = ip->i_un.i_addr[i+1];		return(nb);	}	/*	 * addresses NADDR-3, NADDR-2, and NADDR-1	 * have single, double, triple indirect blocks.	 * the first step is to determine	 * how many levels of indirection.	 */	sh = 0;	nb = 1;	bn -= NADDR-3;	for(j=3; j>0; j--) {		sh += NSHIFT;		nb <<= NSHIFT;		if(bn < nb)			break;		bn -= nb;	}	if(j == 0) {		u.u_error = EFBIG;		return((daddr_t)0);	}	/*	 * fetch the address from the inode	 */	nb = ip->i_un.i_addr[NADDR-j];	if(nb == 0) {		if(rwflg==B_READ || (bp = alloc(dev))==NULL)			return((daddr_t)-1);		nb = bp->b_blkno;		bdwrite(bp);		ip->i_un.i_addr[NADDR-j] = nb;		ip->i_flag |= IUPD|ICHG;	}	/*	 * fetch through the indirect blocks	 */	for(; j<=3; j++) {		bp = bread(dev, nb);		if(bp->b_flags & B_ERROR) {			brelse(bp);			return((daddr_t)0);		}		bap = bp->b_un.b_daddr;		sh -= NSHIFT;		i = (bn>>sh) & NMASK;		nb = bap[i];		if(nb == 0) {			if(rwflg==B_READ || (nbp = alloc(dev))==NULL) {				brelse(bp);				return((daddr_t)-1);			}			nb = nbp->b_blkno;			bdwrite(nbp);			bap[i] = nb;			bdwrite(bp);		} else			brelse(bp);	}	/*	 * calculate read-ahead.	 */	if(i < NINDIR-1)		rablock = bap[i+1];	return(nb);}/* * Pass back  c  to the user at his location u_base; * update u_base, u_count, and u_offset.  Return -1 * on the last character of the user's read. * u_base is in the user address space unless u_segflg is set. */passc(c)register c;{	register id;	if((id = u.u_segflg) == 1)		*u.u_base = c;	else		if(id?suibyte(u.u_base, c):subyte(u.u_base, c) < 0) {			u.u_error = EFAULT;			return(-1);		}	u.u_count--;	u.u_offset++;	u.u_base++;	return(u.u_count == 0? -1: 0);}/* * Pick up and return the next character from the user's * write call at location u_base; * update u_base, u_count, and u_offset.  Return -1 * when u_count is exhausted.  u_base is in the user's * address space unless u_segflg is set. */cpass(){	register c, id;	if(u.u_count == 0)		return(-1);	if((id = u.u_segflg) == 1)		c = *u.u_base;	else		if((c = id==0?fubyte(u.u_base):fuibyte(u.u_base)) < 0) {			u.u_error = EFAULT;			return(-1);		}	u.u_count--;	u.u_offset++;	u.u_base++;	return(c&0377);}/* * Routine which sets a user error; placed in * illegal entries in the bdevsw and cdevsw tables. */nodev(){	u.u_error = ENODEV;}/* * Null routine; placed in insignificant entries * in the bdevsw and cdevsw tables. */nulldev(){}/* * copy count bytes from from to to. */bcopy(from, to, count)caddr_t from, to;register count;{	register char *f, *t;	f = from;	t = to;	do		*t++ = *f++;	while(--count);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷狠狠综合| 国产成人综合精品三级| 欧美日韩高清在线播放| 午夜不卡在线视频| 欧美久久久久久蜜桃| 蜜桃视频一区二区| 国产色产综合色产在线视频| 99在线精品观看| 亚洲一区二区不卡免费| 4438亚洲最大| 久久99国内精品| 国产精品久久看| 欧美日韩综合一区| 久久国产福利国产秒拍| 中文字幕精品一区| 欧美无砖砖区免费| 国模娜娜一区二区三区| 中文字幕五月欧美| 欧美日韩成人高清| 国产一区二区三区久久悠悠色av| 成人欧美一区二区三区白人 | 日韩免费看的电影| 成人av动漫在线| 性欧美疯狂xxxxbbbb| 亚洲精品一区二区三区在线观看| 成人黄色777网| 亚洲国产裸拍裸体视频在线观看乱了 | 日本乱人伦一区| 另类中文字幕网| 亚洲视频在线一区二区| 日韩一级视频免费观看在线| 国产精品一区久久久久| 一区二区不卡在线播放| 日韩美女一区二区三区| 日本高清免费不卡视频| 国产精品99久久久| 午夜精品成人在线视频| 欧美激情一区二区在线| 91精品久久久久久久久99蜜臂| 成人精品免费视频| 奇米影视在线99精品| 中文字幕一区在线观看| 欧美第一区第二区| 欧美综合一区二区| 国产高清精品网站| 青青国产91久久久久久| 亚洲欧美日韩电影| 中文字幕欧美区| 久久久久久久网| 日韩欧美一二三区| 欧美天天综合网| 99久久综合国产精品| 天天做天天摸天天爽国产一区| 欧美电影免费提供在线观看| 色哦色哦哦色天天综合| 丁香婷婷综合激情五月色| 日本一区中文字幕| 亚洲成av人片www| 亚洲自拍偷拍av| ㊣最新国产の精品bt伙计久久| 欧美精品一区二区三区蜜桃 | 亚洲欧美国产毛片在线| 国产欧美综合色| 欧美成人性福生活免费看| 欧美日韩中字一区| 欧美探花视频资源| 欧美专区日韩专区| 在线亚洲一区观看| 91国偷自产一区二区使用方法| 成人精品国产免费网站| 高清不卡在线观看av| 国产又粗又猛又爽又黄91精品| 麻豆久久久久久| 裸体一区二区三区| 日本少妇一区二区| 美女任你摸久久| 精品一区二区日韩| 精品一区二区三区免费观看| 免费看欧美女人艹b| 久久99精品视频| 国产精品一线二线三线| 国产白丝精品91爽爽久久| 成人黄色av电影| 91亚洲精品一区二区乱码| 91麻豆国产在线观看| 日本道色综合久久| 色诱视频网站一区| 欧美日韩亚洲综合一区二区三区| 欧美日韩综合色| 欧美一二三区在线| 精品免费视频.| 欧美高清在线一区| 亚洲欧洲av色图| 亚洲精品免费在线| 亚洲二区在线观看| 久久国产成人午夜av影院| 国产91丝袜在线18| 色综合中文字幕国产| 91成人在线精品| 91精品蜜臀在线一区尤物| 久久久美女毛片| 亚洲视频免费看| 午夜久久久久久| 国内精品久久久久影院薰衣草| 丰满白嫩尤物一区二区| 在线一区二区视频| 精品国产伦理网| 亚洲男人的天堂在线观看| 日韩国产精品91| 国产91精品久久久久久久网曝门| 一本大道久久a久久综合婷婷| 欧美唯美清纯偷拍| 国产日韩亚洲欧美综合| 一区二区三区欧美日韩| 久久国产生活片100| 99久久免费精品高清特色大片| 欧美日韩国产片| 久久久久久久性| 日韩中文字幕av电影| 国产成a人亚洲精| 欧美日韩国产成人在线91| 欧美国产一区在线| 日韩精品电影在线| 成人av电影免费观看| 这里只有精品视频在线观看| 国产精品久久夜| 久久电影网站中文字幕| 色婷婷久久久久swag精品| 精品福利视频一区二区三区| 亚洲精品美国一| 丁香天五香天堂综合| 欧美电视剧在线观看完整版| 一区二区三区欧美日韩| 成人精品电影在线观看| 日韩欧美成人激情| 午夜精品久久久久久不卡8050| 不卡视频一二三四| 久久奇米777| 免费成人你懂的| 欧美久久一二三四区| 亚洲男人天堂一区| 99视频国产精品| 国产精品美女久久久久aⅴ| 伦理电影国产精品| 91精品欧美综合在线观看最新| 亚洲精品乱码久久久久久黑人| 高清国产午夜精品久久久久久| 亚洲精品在线观| 奇米一区二区三区| 欧美日韩精品三区| 亚洲伊人伊色伊影伊综合网| 国产高清无密码一区二区三区| 精品盗摄一区二区三区| 亚洲777理论| 亚洲天堂精品在线观看| 欧美一级欧美三级在线观看| 成人av网站在线观看| 国产精品美女久久久久久久网站| 国产精品久久一卡二卡| 亚洲国产乱码最新视频| 在线欧美日韩国产| 中文字幕视频一区二区三区久| 国产乱对白刺激视频不卡| 久久美女艺术照精彩视频福利播放| 蜜桃一区二区三区在线| 欧美成人精品福利| 国产一区二区主播在线| 欧美va在线播放| 激情欧美一区二区| 久久久国产精华| 国产99久久久久久免费看农村| 国产亚洲欧美色| 国产成人av福利| 亚洲视频在线一区观看| 色综合天天性综合| 亚洲激情网站免费观看| 欧美三电影在线| 蜜臀av一区二区三区| 久久亚洲二区三区| 白白色 亚洲乱淫| 亚洲欧美另类小说| 欧美日韩国产乱码电影| 亚洲与欧洲av电影| 亚洲成a人在线观看| 国产酒店精品激情| 亚洲国产精品99久久久久久久久| www.视频一区| 亚洲国产成人av网| 精品日韩99亚洲| 成人综合婷婷国产精品久久| 亚洲免费观看高清完整版在线观看| 欧洲精品在线观看| 美日韩一区二区| 国产精品久久久久桃色tv| 欧美日韩在线播放三区四区| 麻豆成人免费电影| 亚洲欧美电影一区二区| 制服丝袜亚洲播放| av激情综合网| 日本不卡1234视频|