Kernel shell stub

This commit is contained in:
Alex 2023-05-25 02:49:32 +03:00
parent a93ea49644
commit dcdba03426
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
3 changed files with 57 additions and 0 deletions

24
KernelShell.cpp Normal file
View File

@ -0,0 +1,24 @@
/*
This file is part of Fennix Kernel.
Fennix Kernel is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
Fennix Kernel is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
*/
#include <kshell.hpp>
#include <debug.h>
void StartKernelShell()
{
stub;
}

View File

@ -16,6 +16,7 @@
*/
#include <recovery.hpp>
#include <kshell.hpp>
#include <task.hpp>
#include <lock.hpp>
#include <gui.hpp>
@ -308,6 +309,12 @@ namespace Recovery
void RebootCommandWrapper() { TaskManager->CreateThread(TaskManager->GetCurrentProcess(), (IP)RebootCommandThread); }
void ShutdownCommandWrapper() { TaskManager->CreateThread(TaskManager->GetCurrentProcess(), (IP)ShutdownCommandThread); }
void ShellCommandWrapper()
{
delete RecoveryScreen, RecoveryScreen = nullptr;
StartKernelShell();
inf_loop;
}
GraphicalUserInterface::GUI *gui = nullptr;
void GUIWrapper() { gui->Loop(); }
@ -335,6 +342,7 @@ namespace Recovery
wdgRecWin->CreateLabel({10, 40, 0, 0}, "All you can do is shutdown/reboot the system.");
wdgRecWin->CreateButton({10, 70, 90, 20}, "Reboot", (uintptr_t)RebootCommandWrapper);
wdgRecWin->CreateButton({110, 70, 90, 20}, "Shutdown", (uintptr_t)ShutdownCommandWrapper);
wdgRecWin->CreateButton({210, 70, 90, 20}, "Shell", (uintptr_t)ShellCommandWrapper);
RecWin->AddWidget(wdgRecWin);
Rect DebugWindow;

25
include/kshell.hpp Normal file
View File

@ -0,0 +1,25 @@
/*
This file is part of Fennix Kernel.
Fennix Kernel is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
Fennix Kernel is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef __FENNIX_KERNEL_KERNEL_SHELL_H__
#define __FENNIX_KERNEL_KERNEL_SHELL_H__
#include <types.h>
void StartKernelShell();
#endif // !__FENNIX_KERNEL_KERNEL_SHELL_H__