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

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

?? function.h

?? 北航操作系統課程設計所需源代碼
?? H
字號:
/***************************************************************************                          function.h  -  description                             -------------------    begin                : Wed Jul 23 2003    copyright            : (C) 2003 by Jeremy    email                : zhiming_z@hotmail.com ***************************************************************************//* start of void*/void getdiskinfo(){// i don't know how to write this part//maybe you read the first sector and save in sb_fat12  with the corresponding position	 sb_fat12.sector_p_cluster=1;  			 sb_fat12.num_fat=2;								 sb_fat12.num_root_dir_entry=14;		 sb_fat12.num_log_sector=2880;				 sb_fat12.sector_p_fat=9;						 sb_fat12.num_hid_sector=0;	 sb_fat12.other_use_sector=1;	}int get_sector_num(int clu)		//give it a cluster number the int it return will be the number of the logic sector{	int a;	a=clu+sb_fat12.sector_p_fat*sb_fat12.num_fat+sb_fat12.num_root_dir_entry+sb_fat12.other_use_sector; //or a=clu+31	return(a);}void read_cluster(int clu_num)				//intention here uses a logic cluster number{	int dest,len;	fid=open("/dev/fd0",O_RDWR); //fd0,hdd1	dest=lseek(fid,clu_num*BPS,SEEK_SET);	if(dest!=clu_num*BPS)			{				cout<<"sth. wrong while reading file"<<endl;			}	else len=read(fid,buffer,BPS);	//close(fid);}void read_list(unsigned char bu[BPS],int sector_num)			//here is a logic cluster number log=clu+31{	int i=0,k=0,num_files=0;	struct file_node *p1,*p2;	p1=p2=( struct file_node * ) malloc(FLEN);	head_per_cluster=NULL;		for (i=0;i<16;i++)		{			if ((bu[i*32]!=FILE_EMPTY)&&(bu[i*32]!=FILE_DEL))			{				p1=( struct file_node * ) malloc(FLEN);				num_files++;				if(num_files==1) head_per_cluster=p1;					else p2->next=p1;									for (k=0;k<8;k++) 					//fill file name				{					if (bu[i*32+k]!=32)			p1->file_name[k]=bu[i*32+k];					else										p1->file_name[k]='\0';  //no blank in file_name;				}					for (k=0;k<3;k++)						//fill extend name				{					if (bu[i*32+8+k]!=32)		p1->ext_name[k]=bu[i*32+8+k];					else				    					p1->ext_name[k]='\0';				}								k=0;								perbyte attby(bu[i*32+11]);					/*fill p1 with the attribute byte*/				p1->readonly=(int)attby.binary[7];				p1->hidden=(int)attby.binary[6];				p1->system=(int)attby.binary[5];				p1->isdir=(int)attby.binary[3];				p1->isfile=(int)attby.binary[2];									//fill p1 with the time byte 23 22												p1->start_cluster=bu[i*32+26];				p1->num_cluster=sector_num;				p1->num_index=i;								p2=p1;			}		} //end loop for i		//p2->next=NULL;		p_end=p2;}void read_index(int logic_number){	int i=0,k=0;	struct file_node *p1;		read_cluster(logic_number);	read_list(buffer,logic_number);		head=head_per_cluster;		if (logic_number==19)		//if in root	{		for(i=1;i<14;i++)			{				p1=( struct file_node * ) malloc(FLEN);				p1=p_end;								read_cluster(logic_number+i);							//caution when use void read_cluster() use a logic cluster number 				read_list(buffer,logic_number+i);   				//and void read_list()  use a logic number  .log=clu+31`						   if (head_per_cluster!=NULL)			   	p1->next=head_per_cluster;			   else			   	{p1->next=NULL;break;}			}p_end->next=NULL;	}		else 		//if not in root		{		}	}/*to show the files you have put in a link*/void show_list(struct file_node *p1){	int i;	printf("\nfolders and files:\n");	printf("name\t\tR_Only\tHidden\tSystem\tIsdir\tIsfile\n\n");	while (p1!=NULL)	{		while (p1->system==1) p1=p1->next;		while ((p1->isfile==0)&&(p1->isdir==0)) p1=p1->next;		for(i=0;i<8;i++)		{			if (p1->file_name[i]!='\0')				{		printf("%c",p1->file_name[i]);			}			else printf(" ");	   }				if (p1->ext_name[0]!='\0')			printf(".");		else printf(" ");				for (i=0;i<3;i++)		{			if (p1->ext_name[i]!='\0')				printf("%c",p1->ext_name[i]);			else				printf(" ");		}						printf("\t%2d\t%2d\t%2d\t%2d\t%2d\t",p1->readonly,p1->hidden,p1->system,p1->isdir,p1->isfile);		/*put date time ...*/				printf("\n");			p1=p1->next;	}	//end while}void show_buf(unsigned char *in_char){	int i=0,k=0,n=0;	unsigned char temp[16];	printf("from here we start\n\n"); 	printf("00 01 02 03 04 05 06 07 ,08 09 10 11 12 13 14 15\n"); 	printf("00 01 02 03 04 05 06 07 ,08 09 0a 0b 0c 0d 0e 0f\n\n"); 	while (i<BPS)	{			perbyte s1(in_char[i]);		printf("%x%x ",s1.h_10,s1.l_10);//this puts the ASCII number .if use%x then put the x number		n=i%16;		temp[n]=in_char[i];				if (n==7) printf(",");		if ((n==15)&&(i!=0))			{				printf("   | ");				for (k=0;k<16;k++)				{					if (((temp[k]>64)&&(temp[k]<91))||((temp[k]>96)&&(temp[k]<123))||(temp[k]==32))						printf("%c",temp[k]);					else printf(".");				}					printf(" |\n");			}			i++;		}}		void toupper(char *f_name) 	//this function can change file name whichj has small word to big word ,in char_big[]{	int i=0;	for (i=0;i<INP_LEN;i++)	{		if ((f_name[i]>96)&&(f_name[i]<123))			f_name[i]=f_name[i]-32;		else f_name[i]=f_name[i];	}}/*        second    */int read_fat(int n){	int clu_1,clu_2,clu_3;	int clu_fat_at=(int)(n/341);		read_cluster(clu_fat_at);	if (n%2==0)	{		perbyte f1 (buffer[(3*n)/2]);		perbyte f2 (buffer[(3*n+2)/2]);				clu_1=f2.l_10; // hundred		clu_2=f1.h_10; // ten		clu_3=f1.l_10; //	}	else	{		perbyte f3 (buffer[(3*n-1)/2]);		perbyte f4 (buffer[(3*n+1)/2]);		clu_1=f4.h_10; //hundred		clu_2=f4.l_10; //ten		clu_3=f3.h_10; //	}	return(clu_1*100+clu_2*10+clu_3);}struct file_node * find_file (char *name,char *ext){	struct file_node *p1;	p1=head; //  put a cur_head in the top	if (name[0]!='\0') toupper(name);	if (ext[0]!='\0') toupper(ext);	while(p1!=NULL)	{		if (strcmp(p1->file_name,name)==0)	//&&(strcmp(p1->ext_name,ext)==0)) 			{	if (ext[0]!='\0')										//if isfile 					{if (strcmp(p1->ext_name,ext)==0)	return (p1);}	 				else return(p1);									//if is a folder 			} 					else p1=p1->next;	}	return (p1);}void write_cluster(int sec_n){	int dest,len;	fid=open("/dev/fd0",O_RDWR);	dest=lseek(fid,sec_n*BPS,SEEK_SET);	if (dest!=sec_n*BPS)		cout<<"wrong!can't write"<<endl;	else	{		len=write(fid,buffer,BPS);				if (len!=BPS)			cout<<"wrong while writting"<<endl;		else cout<<"write success"<<endl;	}}void del_fat(int n){	unsigned a=240,b=16; //a 1111 0000 b 0000 1111	if (n%2==0)	{		buffer[(3*n+2)/2]=0;		buffer[(3*n+4)/2]=buffer[(3*n+4)/2]&a;	}	else	{		buffer[(3*n+1)/2]=buffer[(3*n+1)/2]&b;		buffer[(3*n+3)/2]=0;	}}	void del_file(int clu_index_at,int num_index,int clu_start){	int a,b;	read_cluster(clu_index_at);	buffer[clu_index_at*32]=229;  //e5 145 1110 0101	write_cluster(clu_index_at);	a=clu_start;				//if ((a!=0)&&(a!=4095))	{b=a;a=read_fat(b);del_fat(b);}		//else 	del_fat(a);}		/*end of void*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大片国产精品| 国产原创一区二区| 一本在线高清不卡dvd| 欧美极品xxx| 激情小说亚洲一区| 精品国产免费一区二区三区香蕉| 午夜精品一区二区三区三上悠亚| 在线一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 亚洲综合色视频| 欧洲精品中文字幕| 一个色在线综合| 欧美精品电影在线播放| 视频一区二区三区中文字幕| 欧美日韩大陆一区二区| 麻豆久久久久久久| 久久精品视频一区二区三区| 国产91丝袜在线观看| 亚洲欧美在线视频| 99久久综合国产精品| 中文字幕中文乱码欧美一区二区| av午夜一区麻豆| 悠悠色在线精品| 欧美日韩另类一区| 久久99精品视频| 国产亚洲成aⅴ人片在线观看| 国产91丝袜在线观看| 亚洲综合一区二区精品导航| 91麻豆精品国产| 国产成人av电影在线观看| 亚洲欧洲日韩av| 制服丝袜亚洲播放| 国产一区亚洲一区| 伊人开心综合网| 日韩免费一区二区三区在线播放| 国产不卡一区视频| 一区二区三区国产| 欧美精品一区二区三区高清aⅴ| 成人高清视频在线观看| 午夜成人在线视频| 国产片一区二区| 欧美网站大全在线观看| 国产美女在线观看一区| 一区二区视频免费在线观看| 欧美www视频| 色偷偷成人一区二区三区91 | 韩国女主播一区| 亚洲乱码国产乱码精品精的特点| 欧美日韩黄色影视| 成人免费三级在线| 免费在线观看一区| 亚洲美腿欧美偷拍| 久久久久久麻豆| 欧美亚洲精品一区| 国产成人午夜99999| 亚洲美女在线国产| 26uuu另类欧美| 91精品1区2区| 国产91对白在线观看九色| 亚洲电影视频在线| 国产.精品.日韩.另类.中文.在线.播放| www.99精品| 欧美高清www午色夜在线视频| 国产精品丝袜久久久久久app| 亚洲欧洲成人自拍| 美女一区二区三区| 精品国产青草久久久久福利| 久久综合九色综合久久久精品综合| 国产精品久久久一区麻豆最新章节| 欧美私模裸体表演在线观看| 中文字幕av一区二区三区| 欧美二区乱c少妇| 在线视频综合导航| 不卡视频一二三| 国产成人综合亚洲网站| 蜜臀av国产精品久久久久 | 欧美一区二区三区白人| 99re热这里只有精品视频| 韩国成人精品a∨在线观看| 亚洲福利一区二区三区| 亚洲免费观看高清| 国产精品国产三级国产aⅴ原创 | 日韩视频永久免费| 在线观看一区日韩| 色婷婷综合激情| 色婷婷综合激情| www.欧美日韩国产在线| 国产aⅴ精品一区二区三区色成熟| 免费av网站大全久久| 亚洲成人在线免费| 亚洲国产精品久久人人爱蜜臀| 亚洲乱码日产精品bd| 国产精品日产欧美久久久久| 久久亚洲捆绑美女| 久久亚洲二区三区| 精品对白一区国产伦| 日韩一区二区三区电影在线观看| 欧美日韩国产一区| 欧美军同video69gay| 欧美日韩视频在线观看一区二区三区 | 国产成人无遮挡在线视频| 激情综合色综合久久综合| 久久综合综合久久综合| 另类小说欧美激情| 国产精品91一区二区| 国产成人福利片| 成人黄色国产精品网站大全在线免费观看| 国产精品一区二区91| 国产丶欧美丶日本不卡视频| 丁香六月久久综合狠狠色| 波多野结衣中文字幕一区| 91在线无精精品入口| 日本韩国精品在线| 欧美日本一区二区三区四区| 日韩欧美一二三| 国产区在线观看成人精品| 中文字幕一区二区三区视频| 亚洲主播在线观看| 欧美aⅴ一区二区三区视频| 久久99国产精品久久| 国产69精品久久777的优势| 91在线免费视频观看| 欧美日韩高清不卡| 久久久久一区二区三区四区| 亚洲麻豆国产自偷在线| 亚洲综合清纯丝袜自拍| 美女爽到高潮91| 成人综合婷婷国产精品久久蜜臀| 色婷婷综合激情| 精品国免费一区二区三区| 日韩一区日韩二区| 午夜日韩在线电影| 国产一区二区三区综合| 一本色道久久加勒比精品 | 亚洲少妇最新在线视频| 亚洲成a人片综合在线| 国产激情一区二区三区桃花岛亚洲| 97精品久久久久中文字幕| 日韩三级伦理片妻子的秘密按摩| 国产精品乱子久久久久| 亚洲一区二区欧美日韩| 国产一区二区在线看| 欧美偷拍一区二区| 亚洲国产成人午夜在线一区| 亚洲一区二区三区在线看| 国产成人精品网址| 91麻豆精品国产综合久久久久久| 国产欧美精品国产国产专区| 视频一区二区不卡| 99精品在线观看视频| 欧美一区二区三区公司| 亚洲日韩欧美一区二区在线| 久久99久久久欧美国产| 91久久免费观看| 国产日韩三级在线| 日本麻豆一区二区三区视频| 97久久精品人人做人人爽50路| 日韩欧美一区二区久久婷婷| 色猫猫国产区一区二在线视频| 精品国精品自拍自在线| 天天操天天干天天综合网| 91在线视频观看| 国产欧美精品一区| 国精品**一区二区三区在线蜜桃| 欧美精品欧美精品系列| 亚洲精品乱码久久久久久| 成人性生交大片免费看在线播放 | 国产一区二区伦理| 激情av综合网| 欧美精品久久一区二区三区| 亚洲视频你懂的| av电影在线观看完整版一区二区| 国产日韩欧美亚洲| 蜜臀av亚洲一区中文字幕| 在线精品视频一区二区| 石原莉奈在线亚洲二区| 在线观看国产一区二区| 国产精品久久99| 国产精品99久久久久久久vr| 91精品国产色综合久久不卡蜜臀| 亚洲欧洲国产日韩| 99久久99久久免费精品蜜臀| 国产精品三级视频| 国产美女在线精品| 精品久久久久久久久久久久包黑料| 亚洲大片在线观看| 在线视频观看一区| 亚洲免费高清视频在线| 一本久久a久久精品亚洲| 亚洲日本欧美天堂| 99热这里都是精品| 亚洲欧洲制服丝袜| 色呦呦网站一区| 日韩美女啊v在线免费观看| 成人av在线影院| 精东粉嫩av免费一区二区三区| 日韩一区二区免费在线观看| 日韩成人伦理电影在线观看| 69成人精品免费视频| 日产国产高清一区二区三区|