⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcb.h

📁 在Linux Red Hat下用C++设计并实现一个多用户多级目录结构的文件系统。
💻 H
字号:
#include"block.h"#include"errcode.h"#include"mode.h"#include"fflag.h"#define fcbmax 16#define dsize 32struct fcb			//FCB结构{	char f_count;	//文件访问次数	char f_flag;	//标志字	int f_blkno;	//存放本文件目录结构的块号	int f_number;	//文件目录结构所在块内偏移序号	unsigned short f_mode;	//文件属性	char f_uid;		//文件主ID	char f_gid;		//同主用户ID	int f_fsize;	//文件大小	char f_name[8]; //文件名	unsigned short int f_add[8];		//存放文件信息的空间地址};class ifcb{public:	ifcb();	int readi(fcb *fp,int offset,int count,char*base);	//读指定FCB所代表的文件	int writei(fcb *fp,int offset,int count,char*base);	//写指定FCB所代表的文件	int getblock(fcb *fp,int lblock);	//得到指定文件的指定逻辑块所对应的物理块	int addblock(fcb *fp,int pblock);	//将物理块加到指定文件中,增加空间	int getiadd(fcb *fp);				//得到指定文件的一级间接寻址的的块信息	int putiadd(fcb *fp);				//将指定文件的一级间接寻址的块信息写入	fcb *iget(int blkno,int num);		//读出指定的文件目录结构,并产生对应的FCB	int iput(fcb *fp);					//将FCB的信息存入对应的文件目录结构中	fcb *icreate(fcb *fp,char*name);	//在指定FCB下,创建FCB	int idelete(fcb *pfp,fcb *fp);		//在指定FCB下,删除指定FCB	fcb *namei(fcb *fp,char*name,int f_mode=IFREG);		//文件查找	~ifcb();private:	unsigned short int iadd[256];		//存储一级间接寻址的信息	struct fcb *curfp;					//当前在运行的FCB	struct fcb *fcbi[fcbmax];			//FCB系统	int fcbnum;							//当前FCB系统中FCB的数目	class block iblock;					//嵌套块管理层}; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -