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

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

?? iget.c

?? UNIX v6 源代碼
?? C
字號:
##include "../param.h"#include "../systm.h"#include "../user.h"#include "../inode.h"#include "../filsys.h"#include "../conf.h"#include "../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" */iget(dev, ino){	register struct inode *p;	register *ip2;	int *ip1;	register struct mount *ip;loop:	ip = NULL;	for(p = &inode[0]; p < &inode[NINODE]; p++) {		if(dev==p->i_dev && ino==p->i_number) {			if((p->i_flag&ILOCK) != 0) {				p->i_flag =| IWANT;				sleep(p, PINOD);				goto loop;			}			if((p->i_flag&IMOUNT) != 0) {				for(ip = &mount[0]; ip < &mount[NMOUNT]; ip++)				if(ip->m_inodp == p) {					dev = ip->m_dev;					ino = ROOTINO;					goto loop;				}				panic("no imt");			}			p->i_count++;			p->i_flag =| ILOCK;			return(p);		}		if(ip==NULL && p->i_count==0)			ip = p;	}	if((p=ip) == NULL) {		printf("Inode table overflow\n");		u.u_error = ENFILE;		return(NULL);	}	p->i_dev = dev;	p->i_number = ino;	p->i_flag = ILOCK;	p->i_count++;	p->i_lastr = -1;	ip = bread(dev, ldiv(ino+31,16));	/*	 * Check I/O errors	 */	if (ip->b_flags&B_ERROR) {		brelse(ip);		iput(p);		return(NULL);	}	ip1 = ip->b_addr + 32*lrem(ino+31, 16);	ip2 = &p->i_mode;	while(ip2 < &p->i_addr[8])		*ip2++ = *ip1++;	brelse(ip);	return(p);}/* * Decrement reference count of * an inode structure. * On the last reference, * write the inode out and if necessary, * truncate and deallocate the file. */iput(p)struct inode *p;{	register *rp;	rp = p;	if(rp->i_count == 1) {		rp->i_flag =| ILOCK;		if(rp->i_nlink <= 0) {			itrunc(rp);			rp->i_mode = 0;			ifree(rp->i_dev, rp->i_number);		}		iupdat(rp, time);		prele(rp);		rp->i_flag = 0;		rp->i_number = 0;	}	rp->i_count--;	prele(rp);}/* * Check accessed and update flags on * an inode structure. * If either is on, update the inode * with the corresponding dates * set to the argument tm. */iupdat(p, tm)int *p;int *tm;{	register *ip1, *ip2, *rp;	int *bp, i;	rp = p;	if((rp->i_flag&(IUPD|IACC)) != 0) {		if(getfs(rp->i_dev)->s_ronly)			return;		i = rp->i_number+31;		bp = bread(rp->i_dev, ldiv(i,16));		ip1 = bp->b_addr + 32*lrem(i, 16);		ip2 = &rp->i_mode;		while(ip2 < &rp->i_addr[8])			*ip1++ = *ip2++;		if(rp->i_flag&IACC) {			*ip1++ = time[0];			*ip1++ = time[1];		} else			ip1 =+ 2;		if(rp->i_flag&IUPD) {			*ip1++ = *tm++;			*ip1++ = *tm;		}		bwrite(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)int *ip;{	register *rp, *bp, *cp;	int *dp, *ep;	rp = ip;	if((rp->i_mode&(IFCHR&IFBLK)) != 0)		return;	for(ip = &rp->i_addr[7]; ip >= &rp->i_addr[0]; ip--)	if(*ip) {		if((rp->i_mode&ILARG) != 0) {			bp = bread(rp->i_dev, *ip);			for(cp = bp->b_addr+512; cp >= bp->b_addr; cp--)			if(*cp) {				if(ip == &rp->i_addr[7]) {					dp = bread(rp->i_dev, *cp);					for(ep = dp->b_addr+512; ep >= dp->b_addr; ep--)					if(*ep)						free(rp->i_dev, *ep);					brelse(dp);				}				free(rp->i_dev, *cp);			}			brelse(bp);		}		free(rp->i_dev, *ip);		*ip = 0;	}	rp->i_mode =& ~ILARG;	rp->i_size0 = 0;	rp->i_size1 = 0;	rp->i_flag =| IUPD;}/* * Make a new file. */maknode(mode){	register *ip;	ip = ialloc(u.u_pdir->i_dev);	if (ip==NULL)		return(NULL);	ip->i_flag =| IACC|IUPD;	ip->i_mode = mode|IALLOC;	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)int *ip;{	register char *cp1, *cp2;	u.u_dent.u_ino = ip->i_number;	cp1 = &u.u_dent.u_name[0];	for(cp2 = &u.u_dbuf[0]; cp2 < &u.u_dbuf[DIRSIZ];)		*cp1++ = *cp2++;	u.u_count = DIRSIZ+2;	u.u_segflg = 1;	u.u_base = &u.u_dent;	writei(u.u_pdir);	iput(u.u_pdir);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕 久热精品 视频在线| 欧美日韩卡一卡二| 日本韩国精品在线| 日韩一卡二卡三卡| 自拍偷拍欧美精品| 麻豆成人久久精品二区三区小说| 懂色av一区二区夜夜嗨| 欧美一级夜夜爽| 一区二区欧美国产| 蜜桃久久久久久| 欧美又粗又大又爽| 中文字幕一区二区三区四区不卡 | 色综合天天综合网国产成人综合天 | 久久视频一区二区| 奇米色一区二区| 91麻豆精品国产91| 亚洲国产成人av| 欧美中文字幕一二三区视频| 欧美日韩免费一区二区三区| 亚洲视频一区二区在线观看| 豆国产96在线|亚洲| 中文字幕成人网| 久久99精品一区二区三区| 欧美丰满嫩嫩电影| 丝袜美腿高跟呻吟高潮一区| 欧美日韩一区二区三区四区五区| 亚洲另类在线一区| 欧美体内she精视频| 亚洲一区av在线| 69p69国产精品| 老汉av免费一区二区三区| 精品免费99久久| 亚洲成年人网站在线观看| 九九精品一区二区| 国产精品美女久久久久高潮| 成人国产精品免费观看| 亚洲久本草在线中文字幕| 99久久99久久精品国产片果冻| 成人欧美一区二区三区视频网页| 99re视频这里只有精品| 亚洲成在人线在线播放| 日韩欧美不卡在线观看视频| 国产福利一区二区三区视频在线 | 午夜精品123| 国产精品天天看| 欧美日韩一区在线| 成人免费毛片嘿嘿连载视频| 亚洲日本电影在线| 日韩一区二区在线观看视频| 99在线精品免费| 老司机精品视频导航| 亚洲欧美一区二区不卡| 久久综合九色综合97婷婷| 色综合色综合色综合| 日韩精品一卡二卡三卡四卡无卡| 久久人人爽爽爽人久久久| 欧美最新大片在线看| 成人app下载| 国产成人精品免费在线| 男男视频亚洲欧美| 亚洲成a人v欧美综合天堂下载| 日韩欧美综合在线| 6080午夜不卡| 欧美男人的天堂一二区| 成人免费毛片嘿嘿连载视频| 国产一区二区三区综合| 久久精品国产亚洲a| 日本不卡中文字幕| 美女网站在线免费欧美精品| 午夜欧美一区二区三区在线播放| 国产精品色哟哟网站| 国产精品乱码一区二三区小蝌蚪| 26uuuu精品一区二区| 久久综合五月天婷婷伊人| 日韩三区在线观看| 日本福利一区二区| 91久久精品一区二区三区| 国内成人免费视频| 性久久久久久久久久久久| 亚洲永久免费av| 麻豆精品视频在线观看| 九九九精品视频| 91视视频在线观看入口直接观看www | 国产成人精品影视| www.色精品| 欧美精品一卡二卡| 久久久天堂av| 一区二区三区免费| 国产一区二区三区高清播放| 成人性生交大片免费看在线播放| 色婷婷精品久久二区二区蜜臂av| 欧美日韩精品电影| 久久久国产精品麻豆| 亚洲精品成人悠悠色影视| 国产精品久久久久久久久晋中| 国产色综合一区| 亚洲另类春色国产| 国内偷窥港台综合视频在线播放| 国产成人午夜高潮毛片| 欧美人狂配大交3d怪物一区 | a在线欧美一区| 欧美三级午夜理伦三级中视频| 精品久久久久久综合日本欧美| 成人免费在线视频| 黑人精品欧美一区二区蜜桃| 欧美日韩在线不卡| 亚洲欧美日韩久久| 国产成a人亚洲| 日韩免费观看高清完整版在线观看| 国产精品国产三级国产三级人妇| 蜜臀91精品一区二区三区| 在线观看亚洲a| 亚洲精品欧美二区三区中文字幕| 高清国产一区二区| 国产亚洲欧美日韩在线一区| 麻豆精品视频在线| 精品美女一区二区| 国产裸体歌舞团一区二区| 波多野结衣中文一区| 国产欧美日韩三区| 韩国欧美国产1区| 日韩一区二区在线观看视频| 日韩电影免费在线| 欧美日韩欧美一区二区| 久久精工是国产品牌吗| 欧美电影免费观看高清完整版在线 | 欧美一级午夜免费电影| 洋洋成人永久网站入口| 日韩限制级电影在线观看| 久久99精品久久久久久国产越南| 欧美一区二区三区四区久久| 亚洲精品成a人| 日韩欧美一区电影| 国产aⅴ综合色| 亚洲人成亚洲人成在线观看图片| 欧美日韩一二三区| 国产乱码一区二区三区| 亚洲欧美欧美一区二区三区| 欧美久久久久久久久中文字幕| 激情六月婷婷综合| 综合欧美一区二区三区| 99精品久久只有精品| 五月天婷婷综合| 亚洲国产精品ⅴa在线观看| 欧美网站大全在线观看| 国产精品77777| 日本麻豆一区二区三区视频| 久久蜜臀中文字幕| 91色在线porny| 激情图区综合网| 舔着乳尖日韩一区| 国产精品国产三级国产有无不卡| 欧美一区二区三区性视频| 亚洲第一主播视频| 亚洲日本在线观看| 国产午夜精品美女毛片视频| 7777精品久久久大香线蕉| a级高清视频欧美日韩| 丁香激情综合五月| 国内不卡的二区三区中文字幕 | 在线一区二区三区四区五区 | 亚洲一区二区av在线| 亚洲人成精品久久久久| 精品少妇一区二区三区视频免付费| 日本韩国精品在线| 99久久er热在这里只有精品15| 色8久久精品久久久久久蜜| 一区二区三区国产豹纹内裤在线| 国产日产亚洲精品系列| 久久久无码精品亚洲日韩按摩| 欧美精品一级二级三级| 精品国产免费久久| 日本一区二区三级电影在线观看| 欧美不卡一二三| 久久久久99精品一区| 国产精品大尺度| 亚洲一区二区视频在线| 美国三级日本三级久久99 | 亚洲一区在线电影| 久久激情综合网| 99久久精品国产麻豆演员表| 欧美一区二区三区四区五区| 久久在线观看免费| 亚洲女人小视频在线观看| 免费在线观看视频一区| 国产精品亚洲第一区在线暖暖韩国| 成人深夜视频在线观看| 97国产一区二区| 欧美日韩成人一区| 国产精品嫩草99a| 亚洲综合av网| 91女神在线视频| 欧美变态凌虐bdsm| 亚洲国产三级在线| 在线免费不卡电影| 中文无字幕一区二区三区| 亚洲欧美另类久久久精品2019| 久久精品国产精品亚洲精品 | 天堂va蜜桃一区二区三区| av电影在线观看完整版一区二区|