tVFS_Node *VT_FindDir(tVFS_Node *Node, const char *Name);
int VT_Root_IOCtl(tVFS_Node *Node, int Id, void *Data);
Uint64 VT_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer);
- Uint64 VT_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer);
+ Uint64 VT_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, const void *Buffer);
int VT_Terminal_IOCtl(tVFS_Node *Node, int Id, void *Data);
- void VT_SetResolution(int Width, int Height);
- void VT_SetMode(int Mode);
- void VT_SetTerminal(int ID);
- void VT_KBCallBack(Uint32 Codepoint);
- void VT_int_PutString(tVTerm *Term, Uint8 *Buffer, Uint Count);
- void VT_int_ClearLine(tVTerm *Term, int Num);
- void VT_int_ParseEscape_StandardLarge(tVTerm *Term, char CmdChar, int argc, int *args);
- int VT_int_ParseEscape(tVTerm *Term, char *Buffer);
- void VT_int_PutChar(tVTerm *Term, Uint32 Ch);
- void VT_int_ScrollText(tVTerm *Term, int Count);
- void VT_int_ScrollFramebuffer( tVTerm *Term, int Count );
- void VT_int_UpdateCursor( tVTerm *Term, int bShow );
- void VT_int_UpdateScreen( tVTerm *Term, int UpdateAll );
- void VT_int_ChangeMode(tVTerm *Term, int NewMode, int NewWidth, int NewHeight);
- void VT_int_ToggleAltBuffer(tVTerm *Term, int Enabled);
// === CONSTANTS ===
- const Uint16 caVT100Colours[] = {
- // Black, Red, Green, Yellow, Blue, Purple, Cyan, Gray
- // Same again, but bright
- VT_COL_BLACK, 0x700, 0x070, 0x770, 0x007, 0x707, 0x077, 0xAAA,
- VT_COL_GREY, 0xF00, 0x0F0, 0xFF0, 0x00F, 0xF0F, 0x0FF, VT_COL_WHITE
- };
// === GLOBALS ===
-MODULE_DEFINE(0, VERSION, VTerm, VT_Install, NULL, DEFAULT_INPUT, NULL);
+MODULE_DEFINE(0, VERSION, VTerm, VT_Install, NULL, NULL);
+ tVFS_NodeType gVT_RootNodeType = {
+ .TypeName = "VTerm Root",
+ .ReadDir = VT_ReadDir,
+ .FindDir = VT_FindDir,
+ .IOCtl = VT_Root_IOCtl
+ };
+ tVFS_NodeType gVT_TermNodeType = {
+ .TypeName = "VTerm",
+ .Read = VT_Read,
+ .Write = VT_Write,
+ .IOCtl = VT_Terminal_IOCtl
+ };
tDevFS_Driver gVT_DrvInfo = {
NULL, "VTerm",
{