Kernel/VFS - Add assertion that node for VFS_Mark* is non-null
[tpg/acess2.git] / KernelLand / Kernel / drv / vterm.h
index 7b01366..4ca241b 100644 (file)
@@ -46,6 +46,8 @@ struct sVTerm
 {
         int    Mode;   //!< Current Mode (see ::eTplTerminal_Modes)
         int    Flags;  //!< Flags (see VT_FLAG_*)
+
+       void    *VT100Info;
        
        short   Width;  //!< Virtual Width
        short   Height; //!< Virtual Height
@@ -62,6 +64,7 @@ struct sVTerm
         int    AltWritePos;    //!< Alternate write position
        short   ScrollTop;      //!< Top of scrolling region (smallest)
        short   ScrollHeight;   //!< Length of scrolling region
+        int    SavedWritePos;  //!< Saved cursor position (\e[s and \e[u)
 
        char    EscapeCodeCache[16];
        size_t  EscapeCodeLen;
@@ -78,6 +81,15 @@ struct sVTerm
        // Call set again, it's freed, and if NULL it doesn't get reallocated.
        tVideo_IOCtl_Bitmap     *VideoCursor;
 
+       struct {
+                int    Current;
+               size_t  CurrentSize;
+               size_t  Offset;
+                int    CachePos;
+               char    Cache[32];
+               size_t  PreEat;
+       } Cmd2D;
+
        tPTY    *PTY;
 };
 
@@ -94,6 +106,7 @@ extern int   giVT_InputDevHandle;
 // === FUNCTIONS ===
 extern void    VT_SetResolution(int Width, int Height);
 extern void    VT_SetTerminal(int ID);
+extern void    VT_int_Handle2DCmd(void *Handle, size_t Length, const void *Data);
 // --- Output ---
 extern void    VT_InitOutput(void);
 extern void    VT_SetMode(int Mode);
@@ -108,6 +121,7 @@ extern void VT_int_ParseEscape_StandardLarge(tVTerm *Term, char CmdChar, int arg
 extern int     VT_int_ParseEscape(tVTerm *Term, const char *Buffer, size_t Bytes);
 // --- Terminal Buffer ---
 extern void    VT_int_PutString(tVTerm *Term, const Uint8 *Buffer, Uint Count);
+extern void    VT_int_PutRawString(tVTerm *Term, const Uint8 *String, size_t Bytes);
 extern void    VT_int_PutChar(tVTerm *Term, Uint32 Ch);
 extern void    VT_int_ScrollText(tVTerm *Term, int Count);
 extern void    VT_int_ClearLine(tVTerm *Term, int Num);

UCC git Repository :: git.ucc.asn.au