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

📄 filesystem.h

📁 LINUX 设计一个简单的二级文件系统
💻 H
字号:
// FileSystem.h: interface for the FileSystem class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FILESYSTEM_H__42C66AE1_2EB5_40FD_9FFB_EEEF8626D03C__INCLUDED_)
#define AFX_FILESYSTEM_H__42C66AE1_2EB5_40FD_9FFB_EEEF8626D03C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "FilSys.h"
#include "string2"

class FileSystem 
{
public:
	void DeleteFolder(const char* usn, const char* name);
	void DeleteFile(const char* usn, const char* name);
	std::string Read(const char* usn, int file);
	void Write(const char* usn, int file, const char* content);
	void Close(const char* usn, const int file);
	int Open(const char* usn, const char* name);
	void MakeDir(const char* usn, const char* name);
	void ShowList(const char* usn);
	void MakeFile(const char* usn, const char* filename);
	void ChangeDir(const char* usn, const char* name);
	void Format();
	void Logout(const char* usn);
	bool Login(const char* usn, const char* pwd);
	void UnLoad();
	void Load();
	FileSystem();
	virtual ~FileSystem();

private:
	void DeleteADir(Direct dir);
	int CheckUserFile(const char* usn, int file);
	unsigned long mapAddr(unsigned int dinodeid);
	INode* IAlloc();
	void IFree(unsigned int dinodeid);
	void BFree(unsigned int block_num);
	void SaveSuperBlock();
	unsigned int BAlloc();
	INode* IGet(unsigned int dinodeid);
	void IPut(INode*);
	int UNameI(const char* usn);
	unsigned int NameI(const char* usn, const char* name);
	int GroupSize;
	unsigned long Data_Start;
	unsigned long IN_Start;
	int CheckLogin(const char* usn);
	MUser LoginUser[4];
	User AllUser[4];
	int LoginNum;
	char Disk_Name[20];
};

#endif // !defined(AFX_FILESYSTEM_H__42C66AE1_2EB5_40FD_9FFB_EEEF8626D03C__INCLUDED_)

⌨️ 快捷键说明

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