Luna/kernel/src/sys/console_write.cpp

16 lines
369 B
C++
Raw Normal View History

2023-01-07 00:49:26 +00:00
#include "memory/MemoryManager.h"
#include "sys/Syscall.h"
#include "video/TextConsole.h"
Result<u64> sys_console_write(Registers*, SyscallArgs args)
{
char* ptr = (char*)args[0];
usize size = (usize)args[1];
if (!MemoryManager::validate_user_read(ptr, size)) return err(EFAULT);
while (size--) { TextConsole::putchar(*ptr++); }
return { 0 };
}