fatdriver.h

来自「Jazmyn is a 32-bit, protected mode, mult」· C头文件 代码 · 共 50 行

H
50
字号
#ifndef _FAT_DRIVER_H
#define _FAT_DRIVER_H

#define SYS_FILE_OPENMAX        100

class FATdriver
{
private:
	static FILE	FILE_tab[SYS_FILE_OPENMAX];
	static finode	FAT_inode[SYS_FILE_OPENMAX];
        static char     drives[24];
        static char     fd[2];
	FATvolume	*fv;
	FATvolume	*curr_fv;
	int		num_drives;
	__semaphore	bsem; 
public:
        FATdriver();
        ~FATdriver();
	void		init_FATdriver(char boot_drive);
	int		get_num_drives(tab *dtab,int ndd);
	int		get_num_partitions(int slot,int dev);
	int		get_part_info(uint &s,uint &e,int slot,int dev,int part);
	void*		read_FAT(FATvolume &fv);
	int		chroot(char drive);
	int		chdir(char *path);
	FATvolume*	get_FATvolume(char drive);
	FATvolume*	get_FATvolume(char* path);
	int		mkdir(char *path);
	int		rmdir(char *path);
	DIR*		opendir(char* path_name);
	dirent*		readdir(DIR* d_fd);
	int		closedir(DIR* d_fd);
	void		rewinddir(DIR* d_fd);
	int		open(char* path,int access,mode_t perm);
	int		creat(char* path,int mode);
	ssize_t		read(int fdesc,void *buf,size_t size);
	ssize_t		write(int fdesc,void* buf,size_t size);
	int		close(int fdesc);
	off_t		lseek(int fd,int pos,int whence);
	finode*		get_finode(char drive,fdir &dir);
	int		is_open(char drive,fdir &dir);
        char**          fetch_long_names(void *buf,uint size,uint &n);
	void		split_path(char *path,char *parent,char *child);
        void*           open_init(char *path);
        int             get_fti();
};

#endif

⌨️ 快捷键说明

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