/
diskfs.h
40 lines (33 loc) · 1.1 KB
/
diskfs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef _DISKFS_H
#define _DISKFS_H
#include <stdio.h>
#include "archdep.h"
#include "device.h"
#define NAMEBUF_LENGTH MAX_PATH
class CIECFSDrive : public CIECDrive {
public:
CIECFSDrive(const char *path);
virtual ~CIECFSDrive();
virtual unsigned char Open(int channel);
virtual unsigned char Open(int channel, char *nameBuf);
virtual unsigned char Close(int channel);
virtual unsigned char Read(int channel, unsigned char *data);
virtual unsigned char Write(int channel, unsigned char data, unsigned int cmd, bool eoi);
virtual void Reset();
private:
virtual unsigned char OpenFile(int channel, char *filename);
virtual unsigned char OpenDirectory(int channel, char *filename);
virtual void ParseFileName(char *srcname, char *destname, int *filemode, int *filetype, bool *wildflag);
virtual void ExecuteCommand(char *command);
void FindFirstFile(char *name);
bool ChangeDir(char *dirpath);
void ChangeDirCmd(char *dirpath);
char dir_path[MAX_PATH];
char orig_dir_path[MAX_PATH];
char dir_title[16];
FILE *file[16];
char cmd_buffer[44];
int cmd_len;
unsigned char read_char[16];
};
#endif // _DISKFS_H