46 lines
960 B
C
46 lines
960 B
C
#include <shell_api.h>
|
|
#include <conio.h>
|
|
#include "_conio.h"
|
|
|
|
char*console_gets(char* buff, size_t len)
|
|
{
|
|
char* ret = buff;
|
|
|
|
if (__shell_is_init < __SHELL_INIT_FAILED) {
|
|
shell_gets(buff, len);
|
|
}
|
|
if (__shell_is_init == __SHELL_INIT_FAILED) {
|
|
con_init();
|
|
ret = con_gets(buff, len);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
void console_write(const char* ptr, size_t len)
|
|
{
|
|
if (__shell_is_init < __SHELL_INIT_FAILED) {
|
|
shell_write_string(ptr, len);
|
|
}
|
|
if (__shell_is_init == __SHELL_INIT_FAILED) {
|
|
con_init();
|
|
con_write_string((char*)ptr, len);
|
|
}
|
|
}
|
|
|
|
void console_exit()
|
|
{
|
|
_ksys_debug_puts("console exit\n");
|
|
if (__shell_is_init < __SHELL_INIT_FAILED) {
|
|
_ksys_debug_puts("shell_exit\n");
|
|
shell_exit();
|
|
}
|
|
if (__shell_is_init == __SHELL_INIT_FAILED) {
|
|
|
|
if (__con_is_load) {
|
|
_ksys_debug_puts("con_exit\n");
|
|
con_exit(0);
|
|
}
|
|
}
|
|
}
|