📄 fatdriver.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 + -