//kernel/trunk/generic/src/console/cmd.c |
---|
58,6 → 58,12 |
.argc = 0 |
}; |
static cmd_info_t exit_info = { |
.name = "exit", |
.description ="Exit kconsole", |
.argc = 0 |
}; |
/** Data and methods for 'description' command. */ |
static int cmd_desc(cmd_arg_t *argv); |
static void desc_help(void); |
256,6 → 262,10 |
cmd_initialize(&desc_info); |
if (!cmd_register(&desc_info)) |
panic("could not register command %s\n", desc_info.name); |
cmd_initialize(&exit_info); |
if (!cmd_register(&exit_info)) |
panic("could not register command %s\n", exit_info.name); |
cmd_initialize(&symaddr_info); |
if (!cmd_register(&symaddr_info)) |
//kernel/trunk/generic/src/console/kconsole.c |
---|
40,6 → 40,7 |
#include <debug.h> |
#include <func.h> |
#include <symtab.h> |
#include <macros.h> |
/** Simple kernel console. |
* |
395,7 → 396,7 |
* |
* @param arg Not used. |
*/ |
void kconsole(void *arg) |
void kconsole(void *prompt) |
{ |
cmd_info_t *cmd_info; |
count_t len; |
407,7 → 408,7 |
} |
while (true) { |
cmdline = clever_readline(__FUNCTION__, stdin); |
cmdline = clever_readline(prompt, stdin); |
len = strlen(cmdline); |
if (!len) |
continue; |
414,6 → 415,9 |
cmd_info = parse_cmdline(cmdline, len); |
if (!cmd_info) |
continue; |
if (strncmp(cmd_info->name,"exit", \ |
min(strlen(cmd_info->name),5)) == 0) |
break; |
(void) cmd_info->func(cmd_info->argv); |
} |
} |