|
cemu
|
命令行解析库头文件 更多...
类 | |
| struct | ap_arg_t |
| struct | ap_command_t |
| struct | argparse_t |
宏定义 | |
| #define | AP_MAX_NCOMMAND 10 |
| #define | AP_LONG_FLAG "--" |
| #define | AP_SHORT_FLAG "-" |
| #define | AP_DEFAULT_COMMAND "default" |
| #define | AP_END_ARG |
| #define | AP_INPUT_ARG |
| #define | ap_min(a, b) ((a) > (b) ? (b) : (a)) |
| #define | ap_max(a, b) ((a) > (b) ? (a) : (b)) |
| #define | NOW_CMD (&pap->commands[pap->command_pos]) |
| #define | ERROR_MSG _red(" [ERROR]") |
| #define | ap_err(msg) (ERROR_MSG ": " msg "\n") |
| #define | ERROR_COMMAND_CONFLICT ap_err("Conflict.") |
| #define | ERROR_NO_SUBCOMMAND ap_err("Pass a subcommand.") |
| #define | ERROR_LOST_ARG_VALUE ap_err("\"%s\" lost arg value.") |
| #define | ERROR_DONOT_NEED_VALUE ap_err("\"%s\" does not need arg value.") |
| #define | ERROR_ARG_NOT_EXIST ap_err("Arg name \"%s\" does not exist.") |
| #define | ERROR_LOST_ARG_NAME ap_err("Except a arg name, but got \"%s\".") |
| #define | ERROR_SUBCOMMAND_NOT_EXIST ap_err("Subcommand %s does not exist.") |
| #define | ap_def_args(name) static ap_arg_t name[] |
| #define | ap_def_callback(name) void name(int argc, char *argv[], char *envp[]) |
类型定义 | |
| typedef void(* | callback_t) (int argc, char *argv[], char *envp[]) |
| typedef void(* | print_ap_command_t) (ap_command_t *) |
枚举 | |
| enum | ArgValue { ap_YES = 0 , ap_NO } |
函数 | |
| void | ap_init_parser (char *print_message, print_ap_command_t print_command) |
| 初始化解析器 | |
| void | ap_add_command (char *command, char *description, char *usage, callback_t callback, ap_arg_t *args) |
| 添加一个子命令 | |
| ap_arg_t * | ap_get (char *arg_name) |
| 根据参数名获取参数值 | |
| static void | ap_default_print_command (ap_command_t *c) |
| 打印command | |
| static void | ap_default_print_base_command (ap_command_t *c) |
| 打印 command 简易版 | |
| static void | ap_print_parser (void) |
| 打印解析器 | |
| static void | ap_print_command (void) |
| void | ap_do_parser (int argc, char *argv[], char *envp[]) |
| 解析命令行 | |
命令行解析库头文件
ap_def_args 定义参数 ap_def_callback 定义回调函数 ap_init_parser 初始化解析器 ap_add_command 添加命令 default 时,是设置主命令:ap_add_command 解析命令 | #define AP_END_ARG |
| #define AP_INPUT_ARG |
| void ap_add_command | ( | char * | command, |
| char * | description, | ||
| char * | usage, | ||
| callback_t | callback, | ||
| ap_arg_t * | args ) |
添加一个子命令
| command | |
| description | |
| usage | |
| callback | |
| args |
|
inlinestatic |
打印 command 简易版
| c |
|
inlinestatic |
打印command
| c |
| void ap_do_parser | ( | int | argc, |
| char * | argv[], | ||
| char * | envp[] ) |
解析命令行
| argc | |
| argv |
| ap_arg_t * ap_get | ( | char * | arg_name | ) |
根据参数名获取参数值
| arg_name |
| void ap_init_parser | ( | char * | print_message, |
| print_ap_command_t | print_command ) |
初始化解析器
| print_message | |
| print_command |