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

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

?? iget.c

?? unix v7是最后一個(gè)廣泛發(fā)布的研究型UNIX版本
?? C
字號(hào):
#include "../h/param.h"#include "../h/systm.h"#include "../h/mount.h"#include "../h/dir.h"#include "../h/user.h"#include "../h/inode.h"#include "../h/ino.h"#include "../h/filsys.h"#include "../h/conf.h"#include "../h/buf.h"/* * Look up an inode by device,inumber. * If it is in core (in the inode structure), * honor the locking protocol. * If it is not in core, read it in from the * specified device. * If the inode is mounted on, perform * the indicated indirection. * In all cases, a pointer to a locked * inode structure is returned. * * printf warning: no inodes -- if the inode *	structure is full * panic: no imt -- if the mounted file *	system is not in the mount table. *	"cannot happen" */struct inode *iget(dev, ino)dev_t dev;ino_t ino;{	register struct inode *ip;	register struct mount *mp;	register struct inode *oip;	register struct buf *bp;	register struct dinode *dp;loop:	oip = NULL;	for(ip = &inode[0]; ip < &inode[NINODE]; ip++) {		if(ino == ip->i_number && dev == ip->i_dev) {			if((ip->i_flag&ILOCK) != 0) {				ip->i_flag |= IWANT;				sleep((caddr_t)ip, PINOD);				goto loop;			}			if((ip->i_flag&IMOUNT) != 0) {				for(mp = &mount[0]; mp < &mount[NMOUNT]; mp++)				if(mp->m_inodp == ip) {					dev = mp->m_dev;					ino = ROOTINO;					goto loop;				}				panic("no imt");			}			ip->i_count++;			ip->i_flag |= ILOCK;			return(ip);		}		if(oip==NULL && ip->i_count==0)			oip = ip;	}	ip = oip;	if(ip == NULL) {		printf("Inode table overflow\n");		u.u_error = ENFILE;		return(NULL);	}	ip->i_dev = dev;	ip->i_number = ino;	ip->i_flag = ILOCK;	ip->i_count++;	ip->i_un.i_lastr = 0;	bp = bread(dev, itod(ino));	/*	 * Check I/O errors	 */	if((bp->b_flags&B_ERROR) != 0) {		brelse(bp);		iput(ip);		return(NULL);	}	dp = bp->b_un.b_dino;	dp += itoo(ino);	iexpand(ip, dp);	brelse(bp);	return(ip);}iexpand(ip, dp)register struct inode *ip;register struct dinode *dp;{	register char *p1;	char *p2;	int i;	ip->i_mode = dp->di_mode;	ip->i_nlink = dp->di_nlink;	ip->i_uid = dp->di_uid;	ip->i_gid = dp->di_gid;	ip->i_size = dp->di_size;	p1 = (char *)ip->i_un.i_addr;	p2 = (char *)dp->di_addr;	for(i=0; i<NADDR; i++) {		*p1++ = *p2++;		*p1++ = 0;		*p1++ = *p2++;		*p1++ = *p2++;	}}/* * Decrement reference count of * an inode structure. * On the last reference, * write the inode out and if necessary, * truncate and deallocate the file. */iput(ip)register struct inode *ip;{	if(ip->i_count == 1) {		ip->i_flag |= ILOCK;		if(ip->i_nlink <= 0) {			itrunc(ip);			ip->i_mode = 0;			ip->i_flag |= IUPD|ICHG;			ifree(ip->i_dev, ip->i_number);		}		iupdat(ip, &time, &time);		prele(ip);		ip->i_flag = 0;		ip->i_number = 0;	}	ip->i_count--;	prele(ip);}/* * Check accessed and update flags on * an inode structure. * If any are on, update the inode * with the current time. */iupdat(ip, ta, tm)register struct inode *ip;time_t *ta, *tm;{	register struct buf *bp;	struct dinode *dp;	register char *p1;	char *p2;	int i;	if((ip->i_flag&(IUPD|IACC|ICHG)) != 0) {		if(getfs(ip->i_dev)->s_ronly)			return;		bp = bread(ip->i_dev, itod(ip->i_number));		if (bp->b_flags & B_ERROR) {			brelse(bp);			return;		}		dp = bp->b_un.b_dino;		dp += itoo(ip->i_number);		dp->di_mode = ip->i_mode;		dp->di_nlink = ip->i_nlink;		dp->di_uid = ip->i_uid;		dp->di_gid = ip->i_gid;		dp->di_size = ip->i_size;		p1 = (char *)dp->di_addr;		p2 = (char *)ip->i_un.i_addr;		for(i=0; i<NADDR; i++) {			*p1++ = *p2++;			if(*p2++ != 0 && (ip->i_mode&IFMT)!=IFMPC			   && (ip->i_mode&IFMT)!=IFMPB)				printf("iaddress > 2^24\n");			*p1++ = *p2++;			*p1++ = *p2++;		}		if(ip->i_flag&IACC)			dp->di_atime = *ta;		if(ip->i_flag&IUPD)			dp->di_mtime = *tm;		if(ip->i_flag&ICHG)			dp->di_ctime = time;		ip->i_flag &= ~(IUPD|IACC|ICHG);		bdwrite(bp);	}}/* * Free all the disk blocks associated * with the specified inode structure. * The blocks of the file are removed * in reverse order. This FILO * algorithm will tend to maintain * a contiguous free list much longer * than FIFO. */itrunc(ip)register struct inode *ip;{	register i;	dev_t dev;	daddr_t bn;	i = ip->i_mode & IFMT;	if (i!=IFREG && i!=IFDIR)		return;	dev = ip->i_dev;	for(i=NADDR-1; i>=0; i--) {		bn = ip->i_un.i_addr[i];		if(bn == (daddr_t)0)			continue;		ip->i_un.i_addr[i] = (daddr_t)0;		switch(i) {		default:			free(dev, bn);			break;		case NADDR-3:			tloop(dev, bn, 0, 0);			break;		case NADDR-2:			tloop(dev, bn, 1, 0);			break;		case NADDR-1:			tloop(dev, bn, 1, 1);		}	}	ip->i_size = 0;	ip->i_flag |= ICHG|IUPD;}tloop(dev, bn, f1, f2)dev_t dev;daddr_t bn;{	register i;	register struct buf *bp;	register daddr_t *bap;	daddr_t nb;	bp = NULL;	for(i=NINDIR-1; i>=0; i--) {		if(bp == NULL) {			bp = bread(dev, bn);			if (bp->b_flags & B_ERROR) {				brelse(bp);				return;			}			bap = bp->b_un.b_daddr;		}		nb = bap[i];		if(nb == (daddr_t)0)			continue;		if(f1) {			brelse(bp);			bp = NULL;			tloop(dev, nb, f2, 0);		} else			free(dev, nb);	}	if(bp != NULL)		brelse(bp);	free(dev, bn);}/* * Make a new file. */struct inode *maknode(mode){	register struct inode *ip;	ip = ialloc(u.u_pdir->i_dev);	if(ip == NULL) {		iput(u.u_pdir);		return(NULL);	}	ip->i_flag |= IACC|IUPD|ICHG;	if((mode&IFMT) == 0)		mode |= IFREG;	ip->i_mode = mode & ~u.u_cmask;	ip->i_nlink = 1;	ip->i_uid = u.u_uid;	ip->i_gid = u.u_gid;	wdir(ip);	return(ip);}/* * Write a directory entry with * parameters left as side effects * to a call to namei. */wdir(ip)struct inode *ip;{	if (u.u_pdir->i_nlink <= 0) {		u.u_error = ENOTDIR;		goto out;	}	u.u_dent.d_ino = ip->i_number;	bcopy((caddr_t)u.u_dbuf, (caddr_t)u.u_dent.d_name, DIRSIZ);	u.u_count = sizeof(struct direct);	u.u_segflg = 1;	u.u_base = (caddr_t)&u.u_dent;	writei(u.u_pdir);out:	iput(u.u_pdir);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久99热这里只有精品| 在线不卡一区二区| 蜜桃一区二区三区在线| 日韩欧美一区二区久久婷婷| 国内精品久久久久影院一蜜桃| 综合激情网...| 91免费看`日韩一区二区| 亚洲成人一区在线| 精品国产凹凸成av人导航| 国产成人一级电影| 樱花草国产18久久久久| 337p亚洲精品色噜噜狠狠| 国产在线一区二区综合免费视频| 国产精品午夜在线观看| 在线一区二区三区四区五区 | 91丨porny丨最新| 性欧美疯狂xxxxbbbb| 久久综合色天天久久综合图片| 波多野结衣精品在线| 亚洲国产精品一区二区久久 | 在线视频综合导航| 日韩av午夜在线观看| 久久久久久久av麻豆果冻| 一本大道av一区二区在线播放| 日本不卡高清视频| 国产精品无码永久免费888| 欧美图片一区二区三区| 国产麻豆精品视频| 亚洲电影一区二区三区| 国产午夜久久久久| 欧美日韩国产欧美日美国产精品| 国产麻豆精品theporn| 亚洲一区二区三区中文字幕| 久久久久久久国产精品影院| 欧日韩精品视频| 国产91综合一区在线观看| 亚洲国产精品一区二区久久| 亚洲国产成人在线| 精品日韩一区二区三区| 97se亚洲国产综合自在线不卡| 日韩影院免费视频| 亚洲视频一区二区在线观看| 亚洲精品一区二区三区四区高清| 在线观看视频一区| voyeur盗摄精品| 国模冰冰炮一区二区| 亚洲妇熟xx妇色黄| 亚洲免费观看高清完整版在线| 2023国产精品自拍| 欧美丰满美乳xxx高潮www| 9i在线看片成人免费| 国产精品99久久久久久宅男| 日韩国产成人精品| 亚洲国产aⅴ成人精品无吗| 中文字幕一区三区| 亚洲国产精品av| 久久久亚洲欧洲日产国码αv| 欧美精品1区2区3区| 在线观看网站黄不卡| 91一区二区在线观看| 成人av一区二区三区| 国产成人日日夜夜| 精品中文字幕一区二区小辣椒| 男人操女人的视频在线观看欧美| 亚洲超碰精品一区二区| 亚洲国产综合视频在线观看| 亚洲女同一区二区| 亚洲精品欧美激情| 亚洲精品五月天| 亚洲女同ⅹxx女同tv| 亚洲人吸女人奶水| 亚洲女与黑人做爰| 一区二区三区在线影院| 亚洲一区在线观看免费| 亚洲国产精品人人做人人爽| 亚洲成av人片在www色猫咪| 三级不卡在线观看| 蜜桃视频一区二区三区在线观看| 日韩av成人高清| 日本欧美加勒比视频| 美女视频黄 久久| 韩国精品主播一区二区在线观看 | 欧美一级片免费看| 欧美一区二区免费视频| 精品久久久久久久人人人人传媒| 26uuu成人网一区二区三区| 国产日韩欧美电影| 国产精品欧美综合在线| 一区二区三区中文在线观看| 午夜亚洲福利老司机| 久久精品国产澳门| 国产成人无遮挡在线视频| 91一区一区三区| 欧美日韩国产区一| 久久嫩草精品久久久久| 亚洲桃色在线一区| 午夜欧美电影在线观看| 紧缚奴在线一区二区三区| 懂色av一区二区三区免费看| 一本久久精品一区二区| 欧美剧在线免费观看网站| 精品国产一区二区三区忘忧草| 中文字幕精品一区二区三区精品| 亚洲视频精选在线| 日韩av中文在线观看| 国产成人在线视频网站| 欧美网站一区二区| 久久在线观看免费| 亚洲啪啪综合av一区二区三区| 日韩精品一区第一页| 国产精品中文有码| 色综合久久99| 日韩精品中文字幕一区二区三区 | 国产日韩欧美亚洲| 亚洲无线码一区二区三区| 激情久久久久久久久久久久久久久久| 成人性生交大片免费看视频在线 | 国产一区二区在线观看免费| 99re视频精品| 日韩亚洲欧美高清| 亚洲三级在线看| 精品制服美女丁香| 91国内精品野花午夜精品| 久久久精品tv| 天堂在线亚洲视频| 91香蕉视频在线| 久久免费视频一区| 日本中文字幕不卡| 色综合网站在线| 国产日韩欧美综合一区| 石原莉奈一区二区三区在线观看| youjizz国产精品| 久久亚洲综合av| 亚洲成人激情综合网| 成av人片一区二区| 久久久噜噜噜久久中文字幕色伊伊 | 精品成人在线观看| 三级欧美韩日大片在线看| 日本道色综合久久| 国产欧美日韩不卡免费| 极品少妇一区二区| 欧美一区二区成人6969| 亚洲电影在线免费观看| 91麻豆自制传媒国产之光| 久久精品视频免费观看| 精品一区二区免费在线观看| 欧美妇女性影城| 亚洲二区在线观看| 欧美午夜视频网站| 亚洲综合在线视频| 久久久国产一区二区三区四区小说| 亚洲一区在线电影| 欧美综合亚洲图片综合区| 中文字幕中文在线不卡住| 大桥未久av一区二区三区中文| 欧美一区二区人人喊爽| 日本中文字幕一区二区视频| 欧美日韩激情一区二区| 亚洲宅男天堂在线观看无病毒| 99riav久久精品riav| 成人免费在线视频| 一本一道久久a久久精品综合蜜臀| 欧美国产日本韩| eeuss影院一区二区三区| 国产精品国产自产拍高清av| 成人国产精品免费观看| 国产精品久久久久久妇女6080 | 97精品国产露脸对白| 成人欧美一区二区三区1314| av一区二区三区黑人| 国产精品传媒入口麻豆| 色综合中文字幕国产| 中文字幕一区二区三区乱码在线| 99亚偷拍自图区亚洲| 亚洲免费高清视频在线| 欧美系列一区二区| 免费观看一级特黄欧美大片| 欧美tk丨vk视频| 国产成人综合在线播放| 国产精品国产自产拍在线| 色综合一个色综合亚洲| 午夜精品一区在线观看| 精品国产免费一区二区三区香蕉 | 亚洲天堂精品在线观看| 欧洲一区二区三区免费视频| 日韩专区欧美专区| 欧美成人vps| 99在线精品观看| 亚洲大片免费看| 2022国产精品视频| 97精品超碰一区二区三区| 亚洲v精品v日韩v欧美v专区| 日韩精品最新网址| av在线不卡电影| 视频一区国产视频| 国产亚洲一区二区三区四区| 色妞www精品视频| 麻豆精品一二三| 综合分类小说区另类春色亚洲小说欧美|