réplica de
https://github.com/Arnau478/quark.git
synced 2024-05-17 11:46:30 +02:00
41 líneas
966 B
C
41 líneas
966 B
C
#include "shell.h"
|
|
#include "lib/stdio.h"
|
|
#include "lib/string.h"
|
|
#include "lib/memory.h"
|
|
#include "drivers/serial.h"
|
|
|
|
int shell_run(char *cmd){
|
|
int ret = 0;
|
|
|
|
puts("\x1b[32m");
|
|
if(!strcmp(cmd, "hello")){
|
|
printf("Hello!\n");
|
|
}
|
|
else if(!strcmp(cmd, "version")){
|
|
printf("%s\n", OS_VERSION);
|
|
}
|
|
else if(!strcmp(cmd, "malloc")){
|
|
printf("Allocated 10 bytes:\n%x\n", kmalloc(10));
|
|
}
|
|
else if(!strcmp(cmd, "calloc")){
|
|
printf("Allocated and zeroed 10 chars:\n%x\n", kcalloc(10, sizeof(char)));
|
|
}
|
|
else if(!strcmp(cmd, "clear")){
|
|
clear_screen();
|
|
}
|
|
else if(!strcmp(cmd, "serial")){
|
|
serial_write(COM1, 'H');
|
|
serial_write(COM1, 'E');
|
|
serial_write(COM1, 'L');
|
|
serial_write(COM1, 'L');
|
|
serial_write(COM1, 'O');
|
|
}
|
|
else{
|
|
printf("SHELL: Unknown command \"%s\"\n", cmd);
|
|
ret = 127;
|
|
}
|
|
puts("\x1b[0m");
|
|
|
|
return ret;
|
|
}
|