DragonOS/user/apps/shell/cmd.h

152 lines
2.4 KiB
C
Raw Normal View History

2022-05-24 08:37:28 +00:00
#pragma once
2022-05-25 14:50:32 +00:00
// cwd字符串的最大大小
#define SHELL_CWD_MAX_SIZE 256
#define INPUT_BUFFER_SIZE 512
2022-05-25 14:50:32 +00:00
2022-05-24 08:37:28 +00:00
/**
* @brief shell内建命令结构体
*
*/
struct built_in_cmd_t
{
char *name;
int (*func)(int argc, char **argv);
};
extern struct built_in_cmd_t shell_cmds[];
/**
* @brief
*
* @param main_cmd
* @return int
*/
int shell_find_cmd(char *main_cmd);
/**
* @brief shell内建的命令
*
* @param index
* @param argc
* @param argv
*/
void shell_run_built_in_command(int index, int argc, char **argv);
/**
* @brief cd命令:
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_cd(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_ls(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_pwd(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_cat(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_touch(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_rm(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_mkdir(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_rmdir(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_exec(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_reboot(int argc, char **argv);
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_about(int argc, char **argv);
2022-08-07 13:17:02 +00:00
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int shell_cmd_free(int argc, char **argv);
/**
* @brief shell命令
*
* @param buf
* @param argc
* @param argv
* @return int
*/
int parse_command(char *buf, int *argc, char ***argv);