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

📄 fatdriver.h

📁 Jazmyn is a 32-bit, protected mode, multitasking OS which runs on i386 & above CPU`s. Its complete
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -