#include "devices.h" #include #include #include i32 console_open(void *data, u32 mode, u32 handle, u8 *buffer, u32 size) { USED(mode); USED(size); ConsoleDeviceData *console = (ConsoleDeviceData *)data; console->handle = handle; u8 *info = (u8 *)buffer; memcpy(&info[0], &console->handle, sizeof(u32)); return 0; /* Success */ } i32 console_read(void *data, u8 *buffer, u32 size) { USED(data); for (u32 i = 0; i < size; i++) { u8 ch = getchar(); if (ch == '\0') break; if (ch == '\n') break; buffer[i] = ch; } return 0; } i32 console_write(void *data, const u8 *buffer, u32 size) { USED(data); if (size > MEMORY_SIZE) { return 0; } for (u32 i = 0; i < size; i++) { putchar(buffer[i]); } return 0; } i32 console_close(void *data) { USED(data); /* Nothing to close — stdin/stdout are process-owned */ return 0; } i32 console_ioctl(void *data, u32 cmd, const u8 *buffer) { USED(data); USED(cmd); USED(buffer); return -1; /* Unsupported */ } i32 screen_open(void *data, u32 mode, u32 handle, u8 *buffer, u32 size) { USED(data); USED(mode); USED(handle); USED(buffer); USED(size); return -1; } i32 screen_read(void *data, u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; } i32 screen_write(void *data, const u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; } i32 screen_close(void *data) { USED(data); return -1; } i32 screen_ioctl(void *data, u32 cmd, const u8 *buffer) { USED(data); USED(cmd); USED(buffer); return -1; } /* MOUSE */ i32 mouse_open(void *data, u32 mode, u32 handle, u8 *buffer, u32 size) { USED(data); USED(mode); USED(handle); USED(buffer); USED(size); return -1; } i32 mouse_read(void *data, u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; } i32 mouse_refresh(void *data, u8 *buffer) { USED(data); USED(buffer); return -1; } i32 mouse_write(void *data, const u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; } i32 mouse_close(void *data) { USED(data); return 0; } i32 keyboard_open(void *data, u32 mode, u32 handle, u8 *buffer, u32 size) { USED(data); USED(mode); USED(handle); USED(buffer); USED(size); return -1; } i32 keyboard_read(void *data, u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; } i32 keyboard_write(void *data, const u8 *buffer, u32 size) { USED(data); USED(buffer); USED(size); return -1; /* not writable */ } i32 keyboard_close(void *data) { USED(data); return 0; }