[CONSRV]: Rename context members with a more explicit name (code "style" only).
[reactos.git] / win32ss / user / winsrv / consrv / include / conio_winsrv.h
index 73604ba..d04ad32 100644 (file)
@@ -2,7 +2,8 @@
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS Console Server DLL
  * FILE:            consrv/include/conio_winsrv.h
- * PURPOSE:         Public Console I/O Interface
+ * PURPOSE:         Public Console I/O Interface - Offers wrap-up structures
+ *                  over the console objects exposed by the console driver.
  * PROGRAMMERS:     Gé van Geldorp
  *                  Jeffrey Morlan
  *                  Hermes Belusca-Maito (hermes.belusca@sfr.fr)
 
 // This is ALMOST a HACK!!!!!!!
 // Helpers for code refactoring
+#ifdef USE_NEW_CONSOLE_WAY
+
+#define _CONSRV_CONSOLE  _WINSRV_CONSOLE
+#define  CONSRV_CONSOLE   WINSRV_CONSOLE
+#define PCONSRV_CONSOLE  PWINSRV_CONSOLE
+
+#else
+
 #define _CONSRV_CONSOLE  _CONSOLE
 #define  CONSRV_CONSOLE   CONSOLE
 #define PCONSRV_CONSOLE  PCONSOLE
 
-// #define _CONSRV_CONSOLE  _WINSRV_CONSOLE
-// #define  CONSRV_CONSOLE   WINSRV_CONSOLE
-// #define PCONSRV_CONSOLE  PWINSRV_CONSOLE
-
+#endif
 
 #define CSR_DEFAULT_CURSOR_SIZE 25
 
@@ -33,6 +39,12 @@ typedef struct _CHAR_CELL
 } CHAR_CELL, *PCHAR_CELL;
 C_ASSERT(sizeof(CHAR_CELL) == 2);
 
+// HACK!!
+struct _WINSRV_CONSOLE;
+/* HACK: */ typedef struct _WINSRV_CONSOLE *PWINSRV_CONSOLE;
+#ifdef USE_NEW_CONSOLE_WAY
+#include "conio.h"
+#endif
 
 typedef struct _FRONTEND FRONTEND, *PFRONTEND;
 /* HACK: */ typedef struct _CONSOLE_INFO *PCONSOLE_INFO;
@@ -58,6 +70,7 @@ typedef struct _FRONTEND_VTBL
                               UINT ScrolledLines,
                               PWCHAR Buffer,
                               UINT Length);
+    VOID (NTAPI *RingBell)(IN OUT PFRONTEND This);
     BOOL (NTAPI *SetCursorInfo)(IN OUT PFRONTEND This,
                                 PCONSOLE_SCREEN_BUFFER ScreenBuffer);
     BOOL (NTAPI *SetScreenInfo)(IN OUT PFRONTEND This,
@@ -104,8 +117,8 @@ struct _FRONTEND
     NTSTATUS (NTAPI *UnloadFrontEnd)(IN OUT PFRONTEND This);
 
     struct _CONSRV_CONSOLE* Console;   /* Console to which the frontend is attached to */
-    PVOID Data;                 /* Private data  */
-    PVOID OldData;              /* Reserved      */
+    PVOID Context;              /* Private context */
+    PVOID Context2;             /* Private context */
 };
 
 /* PauseFlags values (internal only) */
@@ -117,13 +130,18 @@ typedef struct _WINSRV_CONSOLE
 {
 /******************************* Console Set-up *******************************/
     /* This **MUST** be FIRST!! */
-    // CONSOLE;
-    // PCONSOLE Console;
+#ifdef USE_NEW_CONSOLE_WAY
+    CONSOLE;
+    // CONSOLE Console;
+    // // PCONSOLE Console;
+#endif
 
     // LONG ReferenceCount;                    /* Is incremented each time a handle to something in the console (a screen-buffer or the input buffer of this console) gets referenced */
     // CRITICAL_SECTION Lock;
     // CONSOLE_STATE State;                    /* State of the console */
 
+    HANDLE InitEvents[MAX_INIT_EVENTS];         /* Initialization events */
+
     FRONTEND FrontEndIFace;                     /* Frontend-specific interface */
 
 /******************************* Process support ******************************/
@@ -168,9 +186,12 @@ typedef struct _WINSRV_CONSOLE
     HANDLE ErrorHardwareEvent;
 
 /****************************** Other properties ******************************/
-    COLORREF Colors[16];                    /* Colour palette */
+    LIST_ENTRY PopupWindows;                /* List of popup windows */
+    UNICODE_STRING OriginalTitle;           /* Original title of console, the one defined when the console leader is launched; it never changes. Always NULL-terminated */
+    UNICODE_STRING Title;                   /* Title of console. Always NULL-terminated */
+    COLORREF   Colors[16];                  /* Colour palette */
 
-} WINSRV_CONSOLE, *PWINSRV_CONSOLE;
+} WINSRV_CONSOLE; // , *PWINSRV_CONSOLE;
 
 /* console.c */
 VOID ConioPause(PCONSRV_CONSOLE Console, UINT Flags);
@@ -192,35 +213,16 @@ DWORD ConioEffectiveCursorSize(PCONSRV_CONSOLE Console,
                                DWORD Scale);
 
 NTSTATUS
-ConioAddInputEvents(PCONSRV_CONSOLE Console,
-                    PINPUT_RECORD InputRecords,
-                    ULONG NumEventsToWrite,
-                    PULONG NumEventsWritten,
-                    BOOLEAN AppendToEnd);
-NTSTATUS
 ConioProcessInputEvent(PCONSRV_CONSOLE Console,
                        PINPUT_RECORD InputEvent);
 
 /* conoutput.c */
-
-/*
- * From MSDN:
- * "The lpMultiByteStr and lpWideCharStr pointers must not be the same.
- *  If they are the same, the function fails, and GetLastError returns
- *  ERROR_INVALID_PARAMETER."
- */
-#define ConsoleUnicodeCharToAnsiChar(Console, dChar, sWChar) \
-    ASSERT((ULONG_PTR)dChar != (ULONG_PTR)sWChar); \
-    WideCharToMultiByte((Console)->OutputCodePage, 0, (sWChar), 1, (dChar), 1, NULL, NULL)
-
-#define ConsoleAnsiCharToUnicodeChar(Console, dWChar, sChar) \
-    ASSERT((ULONG_PTR)dWChar != (ULONG_PTR)sChar); \
-    MultiByteToWideChar((Console)->OutputCodePage, 0, (sChar), 1, (dWChar), 1)
-
 PCHAR_INFO ConioCoordToPointer(PTEXTMODE_SCREEN_BUFFER Buff, ULONG X, ULONG Y);
-VOID ConioDrawConsole(PCONSRV_CONSOLE Console);
-NTSTATUS ConioResizeBuffer(PCONSRV_CONSOLE Console,
+NTSTATUS ConioResizeBuffer(PCONSOLE /*PCONSRV_CONSOLE*/ Console,
                            PTEXTMODE_SCREEN_BUFFER ScreenBuffer,
                            COORD Size);
 
+/* terminal.c */
+VOID ConioDrawConsole(PCONSRV_CONSOLE Console);
+
 /* EOF */