filesystem.h

来自「LINUX 设计一个简单的二级文件系统」· C头文件 代码 · 共 60 行

H
60
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?