-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShell.h
More file actions
93 lines (80 loc) · 1.46 KB
/
Shell.h
File metadata and controls
93 lines (80 loc) · 1.46 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#ifndef _SHELL_H
#define _SHELL_H
#define CMD_COUNT 20
#define MAX_LENGTH 30
#define CNUM 21
#define CLENGTH 100
class Shell {
public:
enum CmdCode {
LS = 0,
TOUCH = 1,
MKDIR = 2,
CD = 3,
RM = 4,
OPEN = 5,
READ = 6,
WRITE = 7,
CLOSE = 8,
LSOF = 9,
SEEK = 10,
FORMAT = 11,
SHUTDOWN = 12
};
char CodeTable[CMD_COUNT][MAX_LENGTH];
Shell();
~Shell();
/**
*@ comment 运行Shell
*/
void RunShell(); //运行Shell
/**
*@ comment 将指令转换为相应的code
*/
int Cmd2Code(char* cmd); //cmd映射为Code
/**
*@ comment 解析一行命令成一个数组
*/
char* ParseCmd(char* cli);
/**
*@ comment 处理单个指令
*/
int CmdEntrance(char* cli); //处理单个指令
/**
*@ comment 列出当前目录的所有文件或者目录名
*/
void ls();
/**
*@ comment 创建目录
*/
void mkdir(char* fName);
/**
*@ comment 改变当前目录
*/
void cd(char* Path);
/**
*@ comment 打开文件,修改打开文件列表
*/
void open(char* fName);
/**
*@ comment 读文件
*/
void read(int fd, int length);
/**
*@ comment 写文件
*/
void write(int fd, int length);
/**
*@ comment 关闭文件
*/
void close(int fd);
/**
*@ comment 输出当前已经打开的文件列表
*/
void lsof();
/**
*@ comment 改变读写指针的offset
*/
void seek(int fd, int position);
};
#endif