Partial merge of condrv_restructure branch r65657.

svn path=/trunk/; revision=65660
This commit is contained in:
Hermès Bélusca-Maïto
2014-12-14 22:57:49 +00:00
54 changed files with 306 additions and 289 deletions
+1 -3
View File
@@ -1,17 +1,15 @@
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/drivers)
## spec2def(condrv.sys condrv.spec ADD_IMPORTLIB)
list(APPEND SOURCE
condrv.c
control.c
dispatch.c
condrv.h)
add_library(condrv SHARED
${SOURCE}
condrv.rc)
# ${CMAKE_CURRENT_BINARY_DIR}/condrv.def)
set_module_type(condrv kernelmodedriver)
target_link_libraries(condrv ${PSEH_LIB})
-75
View File
@@ -30,80 +30,6 @@ DRIVER_DISPATCH ConDrvCleanup;
*/
DRIVER_DISPATCH ConDrvDispatch;
NTSTATUS NTAPI
CompleteRequest(IN PIRP Irp,
IN NTSTATUS Status,
IN ULONG_PTR Information)
{
Irp->IoStatus.Status = Status;
Irp->IoStatus.Information = Information;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status;
}
NTSTATUS NTAPI
ConDrvDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
#define HANDLE_CTRL_CODE(Code) \
case Code : \
{ \
DPRINT1("ConDrv: " #Code ", stack->FileObject = 0x%p\n", stack->FileObject); \
if (stack->FileObject) \
{ \
DPRINT1("stack->FileObject->FileName = %wZ\n", &stack->FileObject->FileName); \
} \
break; \
}
PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp);
// ULONG ctrlCode = stack->Parameters.DeviceIoControl.IoControlCode;
ULONG MajorFunction = stack->MajorFunction;
/* Just display all the IRP codes for now... */
switch (MajorFunction)
{
HANDLE_CTRL_CODE(IRP_MJ_CREATE);
HANDLE_CTRL_CODE(IRP_MJ_CREATE_NAMED_PIPE);
HANDLE_CTRL_CODE(IRP_MJ_CLOSE);
HANDLE_CTRL_CODE(IRP_MJ_READ);
HANDLE_CTRL_CODE(IRP_MJ_WRITE);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_SET_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_EA);
HANDLE_CTRL_CODE(IRP_MJ_SET_EA);
HANDLE_CTRL_CODE(IRP_MJ_FLUSH_BUFFERS);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_VOLUME_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_SET_VOLUME_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_DIRECTORY_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_FILE_SYSTEM_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_DEVICE_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_INTERNAL_DEVICE_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_SHUTDOWN);
HANDLE_CTRL_CODE(IRP_MJ_LOCK_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_CLEANUP);
HANDLE_CTRL_CODE(IRP_MJ_CREATE_MAILSLOT);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_SECURITY);
HANDLE_CTRL_CODE(IRP_MJ_SET_SECURITY);
HANDLE_CTRL_CODE(IRP_MJ_POWER);
HANDLE_CTRL_CODE(IRP_MJ_SYSTEM_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_DEVICE_CHANGE);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_QUOTA);
HANDLE_CTRL_CODE(IRP_MJ_SET_QUOTA);
HANDLE_CTRL_CODE(IRP_MJ_PNP);
// case IRP_MJ_PNP_POWER:
// case IRP_MJ_MAXIMUM_FUNCTION:
default:
{
DPRINT1("Unknown Major %lu\n", MajorFunction);
break;
}
}
return CompleteRequest(Irp, STATUS_SUCCESS, 0);
}
NTSTATUS NTAPI
DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
@@ -168,5 +94,4 @@ ConDrvUnload(IN PDRIVER_OBJECT DriverObject)
return;
}
/* EOF */
+92
View File
@@ -0,0 +1,92 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver
* FILE: drivers/base/condrv/dispatch.c
* PURPOSE: Console Driver - Dispatching interface
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
/* INCLUDES *******************************************************************/
#include "condrv.h"
#define NDEBUG
#include <debug.h>
/* FUNCTIONS ******************************************************************/
NTSTATUS NTAPI
CompleteRequest(IN PIRP Irp,
IN NTSTATUS Status,
IN ULONG_PTR Information)
{
Irp->IoStatus.Status = Status;
Irp->IoStatus.Information = Information;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status;
}
NTSTATUS NTAPI
ConDrvDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
#define HANDLE_CTRL_CODE(Code) \
case Code : \
{ \
DPRINT1("ConDrv: " #Code ", stack->FileObject = 0x%p\n", stack->FileObject); \
if (stack->FileObject) \
{ \
DPRINT1("stack->FileObject->FileName = %wZ\n", &stack->FileObject->FileName); \
} \
break; \
}
PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp);
// ULONG ctrlCode = stack->Parameters.DeviceIoControl.IoControlCode;
ULONG MajorFunction = stack->MajorFunction;
/* Just display all the IRP codes for now... */
switch (MajorFunction)
{
HANDLE_CTRL_CODE(IRP_MJ_CREATE);
HANDLE_CTRL_CODE(IRP_MJ_CREATE_NAMED_PIPE);
HANDLE_CTRL_CODE(IRP_MJ_CLOSE);
HANDLE_CTRL_CODE(IRP_MJ_READ);
HANDLE_CTRL_CODE(IRP_MJ_WRITE);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_SET_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_EA);
HANDLE_CTRL_CODE(IRP_MJ_SET_EA);
HANDLE_CTRL_CODE(IRP_MJ_FLUSH_BUFFERS);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_VOLUME_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_SET_VOLUME_INFORMATION);
HANDLE_CTRL_CODE(IRP_MJ_DIRECTORY_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_FILE_SYSTEM_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_DEVICE_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_INTERNAL_DEVICE_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_SHUTDOWN);
HANDLE_CTRL_CODE(IRP_MJ_LOCK_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_CLEANUP);
HANDLE_CTRL_CODE(IRP_MJ_CREATE_MAILSLOT);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_SECURITY);
HANDLE_CTRL_CODE(IRP_MJ_SET_SECURITY);
HANDLE_CTRL_CODE(IRP_MJ_POWER);
HANDLE_CTRL_CODE(IRP_MJ_SYSTEM_CONTROL);
HANDLE_CTRL_CODE(IRP_MJ_DEVICE_CHANGE);
HANDLE_CTRL_CODE(IRP_MJ_QUERY_QUOTA);
HANDLE_CTRL_CODE(IRP_MJ_SET_QUOTA);
HANDLE_CTRL_CODE(IRP_MJ_PNP);
// case IRP_MJ_PNP_POWER:
// case IRP_MJ_MAXIMUM_FUNCTION:
default:
{
DPRINT1("Unknown Major %lu\n", MajorFunction);
break;
}
}
return CompleteRequest(Irp, STATUS_SUCCESS, 0);
}
/* EOF */
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/alias.c
* FILE: consrv/alias.c
* PURPOSE: Alias support functions
* PROGRAMMERS: Christoph Wittich
* Johannes Anderwald
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/alias.h
* FILE: consrv/alias.h
* PURPOSE: Alias support functions
* PROGRAMMERS: Christoph Wittich
* Johannes Anderwald
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/api.h
* FILE: consrv/api.h
* PURPOSE: Public server APIs definitions
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/winsrv/consrv/condrv/coninput.c
* FILE: consrv/condrv/coninput.c
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
@@ -238,10 +238,10 @@ ConDrvDeinitInputBuffer(IN PCONSOLE Console)
NTSTATUS NTAPI
ConDrvReadConsole(IN PCONSOLE Console,
IN PCONSOLE_INPUT_BUFFER InputBuffer,
/**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
IN BOOLEAN Unicode,
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN PVOID Parameter OPTIONAL,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL)
{
@@ -260,10 +260,10 @@ ConDrvReadConsole(IN PCONSOLE Console,
/* Call the line-discipline */
return TermReadStream(Console,
ExeName,
Unicode,
Buffer,
ReadControl,
Parameter,
NumCharsToRead,
NumCharsRead);
}
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/winsrv/consrv/condrv/conoutput.c
* FILE: consrv/condrv/conoutput.c
* PURPOSE: General Console Output Functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
@@ -64,8 +64,6 @@ CONSOLE_SCREEN_BUFFER_Destroy(IN OUT PCONSOLE_SCREEN_BUFFER Buffer)
}
else if (Buffer->Header.Type == SCREEN_BUFFER)
{
// TODO: Free Buffer->Data
/* Free the palette handle */
if (Buffer->PaletteHandle != NULL) DeleteObject(Buffer->PaletteHandle);
@@ -159,20 +157,6 @@ ConDrvDeleteScreenBuffer(PCONSOLE_SCREEN_BUFFER Buffer)
CONSOLE_SCREEN_BUFFER_Destroy(Buffer);
}
VOID
ConioDrawConsole(PCONSOLE Console)
{
SMALL_RECT Region;
PCONSOLE_SCREEN_BUFFER ActiveBuffer = Console->ActiveBuffer;
if (ActiveBuffer)
{
ConioInitRect(&Region, 0, 0,
ActiveBuffer->ViewSize.Y - 1, ActiveBuffer->ViewSize.X - 1);
TermDrawRegion(Console, &Region);
}
}
static VOID
ConioSetActiveScreenBuffer(PCONSOLE_SCREEN_BUFFER Buffer)
{
@@ -214,13 +198,6 @@ ConDrvGetActiveScreenBuffer(IN PCONSOLE Console)
/* PUBLIC DRIVER APIS *********************************************************/
NTSTATUS NTAPI
ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
IN PTEXTMODE_SCREEN_BUFFER Buffer,
IN PCHAR_CELL CharInfo/*Buffer*/,
IN COORD CharInfoSize,
IN OUT PSMALL_RECT WriteRegion,
IN BOOLEAN DrawRegion);
NTSTATUS NTAPI
ConDrvInvalidateBitMapRect(IN PCONSOLE Console,
IN PCONSOLE_SCREEN_BUFFER Buffer,
@@ -232,19 +209,6 @@ ConDrvInvalidateBitMapRect(IN PCONSOLE Console,
/* Validity check */
ASSERT(Console == Buffer->Header.Console);
/* In text-mode only, draw the VDM buffer if present */
if (GetType(Buffer) == TEXTMODE_BUFFER)
{
PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer;
/*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console,
TextBuffer,
Console->VDMBuffer,
Console->VDMBufferSize,
Region,
FALSE);
}
/* If the output buffer is the current one, redraw the correct portion of the screen */
if (Buffer == Console->ActiveBuffer) TermDrawRegion(Console, Region);
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/winsrv/consrv/condrv/console.c
* FILE: consrv/condrv/console.c
* PURPOSE: Console Management Functions
* PROGRAMMERS: Gé van Geldorp
* Jeffrey Morlan
@@ -297,7 +297,6 @@ ConDrvRegisterTerminal(IN PCONSOLE Console,
/* Copy buffer contents to screen */
// Terminal.Draw();
// ConioDrawConsole(Console);
DPRINT("Terminal initialization done\n");
return STATUS_SUCCESS;
@@ -31,11 +31,11 @@ DummyDeinitTerminal(IN OUT PTERMINAL This)
static NTSTATUS NTAPI
DummyReadStream(IN OUT PTERMINAL This,
/**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
IN BOOLEAN Unicode,
/**PWCHAR Buffer,**/
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN PVOID Parameter OPTIONAL,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL)
{
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/winsrv/consrv/condrv/graphics.c
* FILE: consrv/condrv/graphics.c
* PURPOSE: Console Output Functions for graphics-mode screen-buffers
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/winsrv/consrv/condrv/text.c
* FILE: consrv/condrv/text.c
* PURPOSE: Console Output Functions for text-mode screen-buffers
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
@@ -494,7 +494,8 @@ ConDrvReadConsoleOutput(IN PCONSOLE Console,
/* Make sure ReadRegion is inside the screen buffer */
ConioInitRect(&ScreenBuffer, 0, 0,
Buffer->ScreenBufferSize.Y - 1, Buffer->ScreenBufferSize.X - 1);
Buffer->ScreenBufferSize.Y - 1,
Buffer->ScreenBufferSize.X - 1);
if (!ConioGetIntersection(&CapturedReadRegion, &ScreenBuffer, &CapturedReadRegion))
{
/*
@@ -557,7 +558,8 @@ ConDrvWriteConsoleOutput(IN PCONSOLE Console,
/* Make sure WriteRegion is inside the screen buffer */
ConioInitRect(&ScreenBuffer, 0, 0,
Buffer->ScreenBufferSize.Y - 1, Buffer->ScreenBufferSize.X - 1);
Buffer->ScreenBufferSize.Y - 1,
Buffer->ScreenBufferSize.X - 1);
if (!ConioGetIntersection(&CapturedWriteRegion, &ScreenBuffer, &CapturedWriteRegion))
{
/*
@@ -597,14 +599,15 @@ ConDrvWriteConsoleOutput(IN PCONSOLE Console,
/*
* NOTE: This function is strongly inspired by ConDrvWriteConsoleOutput...
* FIXME: This function MUST be moved into consrv/conoutput.c because only
* consrv knows how to manipulate VDM screenbuffers.
*/
NTSTATUS NTAPI
ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
IN PTEXTMODE_SCREEN_BUFFER Buffer,
IN PCHAR_CELL CharInfo/*Buffer*/,
IN COORD CharInfoSize,
IN OUT PSMALL_RECT WriteRegion,
IN BOOLEAN DrawRegion)
IN PSMALL_RECT WriteRegion)
{
SHORT X, Y;
SMALL_RECT ScreenBuffer;
@@ -624,7 +627,8 @@ ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
/* Make sure WriteRegion is inside the screen buffer */
ConioInitRect(&ScreenBuffer, 0, 0,
Buffer->ScreenBufferSize.Y - 1, Buffer->ScreenBufferSize.X - 1);
Buffer->ScreenBufferSize.Y - 1,
Buffer->ScreenBufferSize.X - 1);
if (!ConioGetIntersection(&CapturedWriteRegion, &ScreenBuffer, &CapturedWriteRegion))
{
/*
@@ -650,10 +654,6 @@ ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
}
}
if (DrawRegion) TermDrawRegion(Console, &CapturedWriteRegion);
*WriteRegion = CapturedWriteRegion;
return STATUS_SUCCESS;
}
@@ -1157,7 +1157,8 @@ ConDrvScrollConsoleScreenBuffer(IN PCONSOLE Console,
/* Make sure the source rectangle is inside the screen buffer */
ConioInitRect(&ScreenBuffer, 0, 0,
Buffer->ScreenBufferSize.Y - 1, Buffer->ScreenBufferSize.X - 1);
Buffer->ScreenBufferSize.Y - 1,
Buffer->ScreenBufferSize.X - 1);
if (!ConioGetIntersection(&SrcRegion, &ScreenBuffer, ScrollRectangle))
{
return STATUS_SUCCESS;
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/coninput.c
* FILE: consrv/coninput.c
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
@@ -302,10 +302,10 @@ Quit:
NTSTATUS NTAPI
ConDrvReadConsole(IN PCONSOLE Console,
IN PCONSOLE_INPUT_BUFFER InputBuffer,
/**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
IN BOOLEAN Unicode,
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN PVOID Parameter OPTIONAL,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL);
static NTSTATUS
@@ -324,7 +324,7 @@ ReadChars(IN PGET_INPUT_INFO InputInfo,
ULONG NrCharactersRead = 0;
ULONG CharSize = (ReadConsoleRequest->Unicode ? sizeof(WCHAR) : sizeof(CHAR));
/* Compute the executable name, if needed */
/* Retrieve the executable name, if needed */
if (ReadConsoleRequest->InitialNumBytes == 0 &&
ReadConsoleRequest->ExeLength <= sizeof(ReadConsoleRequest->StaticBuffer))
{
@@ -366,10 +366,10 @@ ReadChars(IN PGET_INPUT_INFO InputInfo,
DPRINT("Calling ConDrvReadConsole(%wZ)\n", &ExeName);
Status = ConDrvReadConsole(InputBuffer->Header.Console,
InputBuffer,
&ExeName,
ReadConsoleRequest->Unicode,
Buffer,
&ReadControl,
&ExeName,
ReadConsoleRequest->NumBytes / CharSize, // NrCharactersToRead
&NrCharactersRead);
DPRINT("ConDrvReadConsole returned (%d ; Status = 0x%08x)\n",
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/coninput.h
* FILE: consrv/coninput.h
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
+23 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/conoutput.c
* FILE: consrv/conoutput.c
* PURPOSE: General Console Output Functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
@@ -16,6 +16,16 @@
/* PUBLIC SERVER APIS *********************************************************/
/*
* FIXME: This function MUST be moved fro condrv/conoutput.c because only
* consrv knows how to manipulate VDM screenbuffers.
*/
NTSTATUS NTAPI
ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
IN PTEXTMODE_SCREEN_BUFFER Buffer,
IN PCHAR_CELL CharInfo/*Buffer*/,
IN COORD CharInfoSize,
IN PSMALL_RECT WriteRegion);
NTSTATUS NTAPI
ConDrvInvalidateBitMapRect(IN PCONSOLE Console,
IN PCONSOLE_SCREEN_BUFFER Buffer,
@@ -33,6 +43,18 @@ CSR_API(SrvInvalidateBitMapRect)
&Buffer, GENERIC_READ, TRUE);
if (!NT_SUCCESS(Status)) return Status;
/* In text-mode only, draw the VDM buffer if present */
if (GetType(Buffer) == TEXTMODE_BUFFER && Buffer->Header.Console->VDMBuffer)
{
PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer;
/*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console,
TextBuffer,
Buffer->Header.Console->VDMBuffer,
Buffer->Header.Console->VDMBufferSize,
&InvalidateDIBitsRequest->Region);
}
Status = ConDrvInvalidateBitMapRect(Buffer->Header.Console,
Buffer,
&InvalidateDIBitsRequest->Region);
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/conoutput.h
* FILE: consrv/conoutput.h
* PURPOSE: Console Output functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito ([email protected])
+2 -2
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/console.c
* FILE: consrv/console.c
* PURPOSE: Console Management Functions
* PROGRAMMERS: Gé van Geldorp
* Jeffrey Morlan
@@ -738,7 +738,7 @@ ConSrvDeleteConsole(PCONSRV_CONSOLE Console)
/* Deinit the ConSrv terminal */
// FIXME!!
// ConSrvDeinitTerminal(&Terminal); // &ConSrvConsole->Console->TermIFace
// ConSrvDeinitTerminal(&Terminal);
}
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/console.h
* FILE: consrv/console.h
* PURPOSE: Console Initialization Functions
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/consrv.h
* FILE: consrv/consrv.h
* PURPOSE: Main header - Definitions
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontendctl.c
* FILE: consrv/frontendctl.c
* PURPOSE: Terminal Front-Ends Control
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/consolecpl.h
* FILE: consrv/consolecpl.h
* PURPOSE: GUI front-end settings management - Header for console.dll
* PROGRAMMERS: Hermes Belusca-Maito ([email protected])
*/
@@ -288,7 +288,7 @@ SendMenuEvent(PCONSRV_CONSOLE Console, UINT CmdId)
DPRINT("Menu item ID: %d\n", CmdId);
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
er.EventType = MENU_EVENT;
er.Event.MenuEvent.dwCommandId = CmdId;
@@ -753,7 +753,7 @@ OnFocus(PGUI_CONSOLE_DATA GuiData, BOOL SetFocus)
PCONSRV_CONSOLE Console = GuiData->Console;
INPUT_RECORD er;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
er.EventType = FOCUS_EVENT;
er.Event.FocusEvent.bSetFocus = SetFocus;
@@ -1151,7 +1151,7 @@ OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
PCONSRV_CONSOLE Console = GuiData->Console;
PCONSOLE_SCREEN_BUFFER ActiveBuffer;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
ActiveBuffer = GuiData->ActiveBuffer;
@@ -1321,7 +1321,7 @@ OnTimer(PGUI_CONSOLE_DATA GuiData)
SetTimer(GuiData->hWindow, CONGUI_UPDATE_TIMER, CURSOR_BLINK_TIME, NULL);
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
Buff = GuiData->ActiveBuffer;
@@ -1423,7 +1423,7 @@ OnClose(PGUI_CONSOLE_DATA GuiData)
{
PCONSRV_CONSOLE Console = GuiData->Console;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE))
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE))
return TRUE;
// TODO: Prompt for termination ? (Warn the user about possible apps running in this console)
@@ -1525,7 +1525,7 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
goto Quit;
}
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE))
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE))
{
Err = TRUE;
goto Quit;
@@ -1856,7 +1856,7 @@ OnGetMinMaxInfo(PGUI_CONSOLE_DATA GuiData, PMINMAXINFO minMaxInfo)
DWORD windx, windy;
UINT WidthUnit, HeightUnit;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
ActiveBuffer = GuiData->ActiveBuffer;
@@ -1888,7 +1888,7 @@ OnSize(PGUI_CONSOLE_DATA GuiData, WPARAM wParam, LPARAM lParam)
/* Do nothing if the window is hidden */
if (!GuiData->IsWindowVisible) return;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
if ((GuiData->WindowSizeLock == FALSE) &&
(wParam == SIZE_RESTORED || wParam == SIZE_MAXIMIZED || wParam == SIZE_MINIMIZED))
@@ -1998,7 +1998,7 @@ OnScroll(PGUI_CONSOLE_DATA GuiData, UINT uMsg, WPARAM wParam)
int old_pos, Maximum;
PSHORT pShowXY;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return 0;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return 0;
Buff = GuiData->ActiveBuffer;
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/fullscreen.c
* FILE: consrv/frontends/gui/fullscreen.c
* PURPOSE: GUI Terminal Full-screen Mode
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -177,7 +177,7 @@ GuiConsoleSwitchFullScreen(PGUI_CONSOLE_DATA GuiData)
PCONSRV_CONSOLE Console = GuiData->Console;
BOOL FullScreen;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
/* Switch to full-screen or to windowed mode */
FullScreen = !GuiData->GuiInfo.FullScreen;
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/graphics.c
* FILE: consrv/frontends/gui/graphics.c
* PURPOSE: GUI Terminal Front-End - Support for graphics-mode screen-buffers
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -131,7 +131,7 @@ GuiPaintGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer,
if (Buffer->BitMap == NULL) return;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
rcFramebuffer->left = Buffer->ViewOrigin.X * 1 + rcView->left;
rcFramebuffer->top = Buffer->ViewOrigin.Y * 1 + rcView->top;
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guisettings.c
* FILE: consrv/frontends/gui/guisettings.c
* PURPOSE: GUI Terminal Front-End Settings Management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -238,7 +238,7 @@ GuiConsoleShowConsoleProperties(PGUI_CONSOLE_DATA GuiData,
DPRINT("GuiConsoleShowConsoleProperties entered\n");
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
/*
* Create a memory section to share with the applet, and map it.
@@ -429,7 +429,7 @@ GuiApplyUserSettings(PGUI_CONSOLE_DATA GuiData,
PTERMINAL_INFO TermInfo = NULL;
PGUI_CONSOLE_INFO GuiInfo = NULL;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
/* Get the console leader process, our client */
ProcessData = ConSrvGetConsoleLeaderProcess(Console);
@@ -575,7 +575,7 @@ GuiApplyWindowsConsoleSettings(PGUI_CONSOLE_DATA GuiData,
SIZE_T Length;
#endif
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
/* Get the console leader process, our client */
ProcessData = ConSrvGetConsoleLeaderProcess(Console);
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/guisettings.h
* FILE: consrv/guisettings.h
* PURPOSE: GUI front-end settings management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guiterm.c
* FILE: consrv/frontends/gui/guiterm.c
* PURPOSE: GUI Terminal Front-End
* PROGRAMMERS: van Geldorp
* Johannes Anderwald
@@ -138,9 +138,9 @@ VOID
CreateSysMenu(HWND hWnd);
static DWORD NTAPI
GuiConsoleInputThread(PVOID Data)
GuiConsoleInputThread(PVOID Param)
{
PHANDLE GraphicsStartupEvent = (PHANDLE)Data;
PHANDLE GraphicsStartupEvent = (PHANDLE)Param;
LONG WindowCount = 0;
MSG msg;
@@ -348,12 +348,12 @@ GuiInitFrontEnd(IN OUT PFRONTEND This,
PGUI_CONSOLE_DATA GuiData;
GUI_CONSOLE_INFO TermInfo;
if (This == NULL || Console == NULL || This->OldData == NULL)
if (This == NULL || Console == NULL || This->Context2 == NULL)
return STATUS_INVALID_PARAMETER;
ASSERT(This->Console == Console);
GuiInitInfo = This->OldData;
GuiInitInfo = This->Context2;
if (GuiInitInfo->ConsoleInfo == NULL || GuiInitInfo->ConsoleStartInfo == NULL)
return STATUS_INVALID_PARAMETER;
@@ -368,7 +368,7 @@ GuiInitFrontEnd(IN OUT PFRONTEND This,
DPRINT1("CONSRV: Failed to create GUI_CONSOLE_DATA\n");
return STATUS_UNSUCCESSFUL;
}
///// /* HACK */ Console->FrontEndIFace.Data = (PVOID)GuiData; /* HACK */
///// /* HACK */ Console->FrontEndIFace.Context = (PVOID)GuiData; /* HACK */
GuiData->Console = Console;
GuiData->ActiveBuffer = Console->ActiveBuffer;
GuiData->hWindow = NULL;
@@ -472,9 +472,9 @@ GuiInitFrontEnd(IN OUT PFRONTEND This,
// TODO: Retrieve the selection mode via the registry.
/* Finally, finish to initialize the frontend structure */
This->Data = GuiData;
if (This->OldData) ConsoleFreeHeap(This->OldData);
This->OldData = NULL;
This->Context = GuiData;
if (This->Context2) ConsoleFreeHeap(This->Context2);
This->Context2 = NULL;
/*
* We need to wait until the GUI has been fully initialized
@@ -512,7 +512,7 @@ GuiInitFrontEnd(IN OUT PFRONTEND This,
static VOID NTAPI
GuiDeinitFrontEnd(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
DPRINT("Send PM_DESTROY_CONSOLE message and wait on hGuiTermEvent...\n");
PostThreadMessageW(dwInputThreadId, PM_DESTROY_CONSOLE, 0, (LPARAM)GuiData);
@@ -534,7 +534,7 @@ GuiDeinitFrontEnd(IN OUT PFRONTEND This)
DestroyIcon(GuiData->hIconSm);
}
This->Data = NULL;
This->Context = NULL;
DeleteCriticalSection(&GuiData->Lock);
ConsoleFreeHeap(GuiData);
@@ -545,7 +545,7 @@ static VOID NTAPI
GuiDrawRegion(IN OUT PFRONTEND This,
SMALL_RECT* Region)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Do nothing if the window is hidden */
if (!GuiData->IsWindowVisible) return;
@@ -562,7 +562,7 @@ GuiWriteStream(IN OUT PFRONTEND This,
PWCHAR Buffer,
UINT Length)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
PCONSOLE_SCREEN_BUFFER Buff;
SHORT CursorEndX, CursorEndY;
RECT ScrollRect;
@@ -619,7 +619,7 @@ GuiWriteStream(IN OUT PFRONTEND This,
/* static */ VOID NTAPI
GuiRingBell(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Emit an error beep sound */
SendNotifyMessage(GuiData->hWindow, PM_CONSOLE_BEEP, 0, 0);
@@ -629,7 +629,7 @@ static BOOL NTAPI
GuiSetCursorInfo(IN OUT PFRONTEND This,
PCONSOLE_SCREEN_BUFFER Buff)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Do nothing if the window is hidden */
if (!GuiData->IsWindowVisible) return TRUE;
@@ -648,7 +648,7 @@ GuiSetScreenInfo(IN OUT PFRONTEND This,
SHORT OldCursorX,
SHORT OldCursorY)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Do nothing if the window is hidden */
if (!GuiData->IsWindowVisible) return TRUE;
@@ -667,7 +667,7 @@ GuiSetScreenInfo(IN OUT PFRONTEND This,
static VOID NTAPI
GuiResizeTerminal(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Resize the window to the user's values */
PostMessageW(GuiData->hWindow, PM_RESIZE_TERMINAL, 0, 0);
@@ -676,7 +676,7 @@ GuiResizeTerminal(IN OUT PFRONTEND This)
static VOID NTAPI
GuiSetActiveScreenBuffer(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
PCONSOLE_SCREEN_BUFFER ActiveBuffer;
HPALETTE hPalette;
@@ -720,7 +720,7 @@ static VOID NTAPI
GuiReleaseScreenBuffer(IN OUT PFRONTEND This,
IN PCONSOLE_SCREEN_BUFFER ScreenBuffer)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/*
* If we were notified to release a screen buffer that is not actually
@@ -767,7 +767,7 @@ GuiSetMouseCursor(IN OUT PFRONTEND This,
static VOID NTAPI
GuiRefreshInternalInfo(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Update the console leader information held by the window */
SetConWndConsoleLeaderCID(GuiData);
@@ -789,7 +789,7 @@ GuiRefreshInternalInfo(IN OUT PFRONTEND This)
static VOID NTAPI
GuiChangeTitle(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
// PostMessageW(GuiData->hWindow, PM_CONSOLE_SET_TITLE, 0, 0);
SetWindowText(GuiData->hWindow, GuiData->Console->Title.Buffer);
}
@@ -798,7 +798,7 @@ static BOOL NTAPI
GuiChangeIcon(IN OUT PFRONTEND This,
HICON IconHandle)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
HICON hIcon, hIconSm;
if (IconHandle == NULL)
@@ -842,7 +842,7 @@ GuiChangeIcon(IN OUT PFRONTEND This,
static HWND NTAPI
GuiGetConsoleWindowHandle(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
return GuiData->hWindow;
}
@@ -850,7 +850,7 @@ static VOID NTAPI
GuiGetLargestConsoleWindowSize(IN OUT PFRONTEND This,
PCOORD pSize)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
PCONSOLE_SCREEN_BUFFER ActiveBuffer;
RECT WorkArea;
LONG width, height;
@@ -893,7 +893,7 @@ static BOOL NTAPI
GuiGetSelectionInfo(IN OUT PFRONTEND This,
PCONSOLE_SELECTION_INFO pSelectionInfo)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
if (pSelectionInfo == NULL) return FALSE;
@@ -909,7 +909,7 @@ GuiSetPalette(IN OUT PFRONTEND This,
HPALETTE PaletteHandle,
UINT PaletteUsage)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
HPALETTE OldPalette;
// if (GetType(GuiData->ActiveBuffer) != GRAPHICS_BUFFER) return FALSE;
@@ -934,7 +934,7 @@ GuiSetPalette(IN OUT PFRONTEND This,
static ULONG NTAPI
GuiGetDisplayMode(IN OUT PFRONTEND This)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
ULONG DisplayMode = 0;
if (GuiData->GuiInfo.FullScreen)
@@ -949,7 +949,7 @@ static BOOL NTAPI
GuiSetDisplayMode(IN OUT PFRONTEND This,
ULONG NewMode)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
BOOL FullScreen;
if (NewMode & ~(CONSOLE_FULLSCREEN_MODE | CONSOLE_WINDOWED_MODE))
@@ -972,7 +972,7 @@ static INT NTAPI
GuiShowMouseCursor(IN OUT PFRONTEND This,
BOOL Show)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
if (GuiData->IsWindowVisible)
{
@@ -991,7 +991,7 @@ static BOOL NTAPI
GuiSetMouseCursor(IN OUT PFRONTEND This,
HCURSOR CursorHandle)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
/* Do nothing if the window is hidden */
if (!GuiData->IsWindowVisible) return TRUE;
@@ -1013,7 +1013,7 @@ GuiMenuControl(IN OUT PFRONTEND This,
UINT CmdIdLow,
UINT CmdIdHigh)
{
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
GuiData->CmdIdLow = CmdIdLow ;
GuiData->CmdIdHigh = CmdIdHigh;
@@ -1031,7 +1031,7 @@ GuiSetMenuClose(IN OUT PFRONTEND This,
* for more information.
*/
PGUI_CONSOLE_DATA GuiData = This->Data;
PGUI_CONSOLE_DATA GuiData = This->Context;
HMENU hSysMenu = GetSystemMenu(GuiData->hWindow, FALSE);
if (hSysMenu == NULL) return FALSE;
@@ -1100,9 +1100,9 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
GuiInitInfo->IsWindowVisible = ConsoleInitInfo->IsWindowVisible;
/* Finally, initialize the frontend structure */
FrontEnd->Vtbl = &GuiVtbl;
FrontEnd->Data = NULL;
FrontEnd->OldData = GuiInitInfo;
FrontEnd->Vtbl = &GuiVtbl;
FrontEnd->Context = NULL;
FrontEnd->Context2 = GuiInitInfo;
return STATUS_SUCCESS;
}
@@ -1112,8 +1112,8 @@ GuiUnloadFrontEnd(IN OUT PFRONTEND FrontEnd)
{
if (FrontEnd == NULL) return STATUS_INVALID_PARAMETER;
if (FrontEnd->Data) GuiDeinitFrontEnd(FrontEnd);
if (FrontEnd->OldData) ConsoleFreeHeap(FrontEnd->OldData);
if (FrontEnd->Context ) GuiDeinitFrontEnd(FrontEnd);
if (FrontEnd->Context2) ConsoleFreeHeap(FrontEnd->Context2);
return STATUS_SUCCESS;
}
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guiterm.h
* FILE: consrv/frontends/gui/guiterm.h
* PURPOSE: GUI Terminal Front-End
* PROGRAMMERS: van Geldorp
* Johannes Anderwald
@@ -1,8 +1,8 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/resource.h
* PURPOSE: Resource #defines
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: consrv/resource.h
* PURPOSE: Resource #defines
*/
#pragma once
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/gui/text.c
* FILE: consrv/frontends/gui/text.c
* PURPOSE: GUI Terminal Front-End - Support for text-mode screen-buffers
* PROGRAMMERS: van Geldorp
* Johannes Anderwald
@@ -354,7 +354,7 @@ GuiPaintTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer,
if (Buffer->Buffer == NULL) return;
if (!ConDrvValidateConsoleUnsafe(Console, CONSOLE_RUNNING, TRUE)) return;
if (!ConDrvValidateConsoleUnsafe((PCONSOLE)Console, CONSOLE_RUNNING, TRUE)) return;
rcFramebuffer->left = Buffer->ViewOrigin.X * GuiData->CharWidth + rcView->left;
rcFramebuffer->top = Buffer->ViewOrigin.Y * GuiData->CharHeight + rcView->top;
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/input.c
* FILE: consrv/frontends/input.c
* PURPOSE: Common Front-Ends Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -71,7 +71,7 @@ ConioProcessKey(PCONSRV_CONSOLE Console, MSG* msg)
INPUT_RECORD er;
if (NULL == Console)
if (Console == NULL)
{
DPRINT1("No Active Console!\n");
return;
@@ -169,7 +169,7 @@ ConioProcessKey(PCONSRV_CONSOLE Console, MSG* msg)
}
}
ConioDrawConsole((PCONSOLE)Console);
ConioDrawConsole(Console);
return;
}
@@ -230,7 +230,7 @@ ConSrvInitTerminal(IN OUT PTERMINAL Terminal,
/* Initialize the ConSrv terminal */
Terminal->Vtbl = &ConSrvTermVtbl;
// Terminal->Console will be initialized by ConDrvRegisterTerminal
Terminal->Data = FrontEnd; /* We store the frontend pointer in the terminal private data */
Terminal->Context = FrontEnd; /* We store the frontend pointer in the terminal private context */
return STATUS_SUCCESS;
}
@@ -239,10 +239,10 @@ NTSTATUS NTAPI
ConSrvDeinitTerminal(IN OUT PTERMINAL Terminal)
{
NTSTATUS Status = STATUS_SUCCESS;
PFRONTEND FrontEnd = Terminal->Data;
PFRONTEND FrontEnd = Terminal->Context;
/* Reset the ConSrv terminal */
Terminal->Data = NULL;
Terminal->Context = NULL;
Terminal->Vtbl = NULL;
/* Unload the frontend */
@@ -263,7 +263,7 @@ ConSrvTermInitTerminal(IN OUT PTERMINAL This,
IN PCONSOLE Console)
{
NTSTATUS Status;
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
/* Initialize the console pointer for our frontend */
FrontEnd->Console = Console;
@@ -286,7 +286,7 @@ ConSrvTermInitTerminal(IN OUT PTERMINAL This,
static VOID NTAPI
ConSrvTermDeinitTerminal(IN OUT PTERMINAL This)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->DeinitFrontEnd(FrontEnd);
}
@@ -296,17 +296,18 @@ ConSrvTermDeinitTerminal(IN OUT PTERMINAL This)
static NTSTATUS NTAPI
ConSrvTermReadStream(IN OUT PTERMINAL This,
/**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
IN BOOLEAN Unicode,
/**PWCHAR Buffer,**/
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN PVOID Parameter OPTIONAL,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
PCONSRV_CONSOLE Console = FrontEnd->Console;
PCONSOLE_INPUT_BUFFER InputBuffer = &Console->InputBuffer;
PUNICODE_STRING ExeName = Parameter;
// STATUS_PENDING : Wait if more to read ; STATUS_SUCCESS : Don't wait.
NTSTATUS Status = STATUS_PENDING;
@@ -636,7 +637,7 @@ ConSrvTermWriteStream(IN OUT PTERMINAL This,
DWORD Length,
BOOL Attrib)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
return ConioWriteConsole(FrontEnd,
Buff,
Buffer,
@@ -648,11 +649,26 @@ ConSrvTermWriteStream(IN OUT PTERMINAL This,
VOID
ConioDrawConsole(PCONSRV_CONSOLE Console)
{
SMALL_RECT Region;
PCONSOLE_SCREEN_BUFFER ActiveBuffer = Console->ActiveBuffer;
if (!ActiveBuffer) return;
ConioInitRect(&Region, 0, 0,
ActiveBuffer->ViewSize.Y - 1,
ActiveBuffer->ViewSize.X - 1);
TermDrawRegion(Console, &Region);
// Console->FrontEndIFace.Vtbl->DrawRegion(&Console->FrontEndIFace, &Region);
}
static VOID NTAPI
ConSrvTermDrawRegion(IN OUT PTERMINAL This,
SMALL_RECT* Region)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->DrawRegion(FrontEnd, Region);
}
@@ -660,7 +676,7 @@ static BOOL NTAPI
ConSrvTermSetCursorInfo(IN OUT PTERMINAL This,
PCONSOLE_SCREEN_BUFFER ScreenBuffer)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
return FrontEnd->Vtbl->SetCursorInfo(FrontEnd, ScreenBuffer);
}
@@ -670,7 +686,7 @@ ConSrvTermSetScreenInfo(IN OUT PTERMINAL This,
SHORT OldCursorX,
SHORT OldCursorY)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
return FrontEnd->Vtbl->SetScreenInfo(FrontEnd,
ScreenBuffer,
OldCursorX,
@@ -680,14 +696,14 @@ ConSrvTermSetScreenInfo(IN OUT PTERMINAL This,
static VOID NTAPI
ConSrvTermResizeTerminal(IN OUT PTERMINAL This)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->ResizeTerminal(FrontEnd);
}
static VOID NTAPI
ConSrvTermSetActiveScreenBuffer(IN OUT PTERMINAL This)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->SetActiveScreenBuffer(FrontEnd);
}
@@ -695,7 +711,7 @@ static VOID NTAPI
ConSrvTermReleaseScreenBuffer(IN OUT PTERMINAL This,
IN PCONSOLE_SCREEN_BUFFER ScreenBuffer)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->ReleaseScreenBuffer(FrontEnd, ScreenBuffer);
}
@@ -703,7 +719,7 @@ static VOID NTAPI
ConSrvTermGetLargestConsoleWindowSize(IN OUT PTERMINAL This,
PCOORD pSize)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
FrontEnd->Vtbl->GetLargestConsoleWindowSize(FrontEnd, pSize);
}
@@ -712,7 +728,7 @@ ConSrvTermSetPalette(IN OUT PTERMINAL This,
HPALETTE PaletteHandle,
UINT PaletteUsage)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
return FrontEnd->Vtbl->SetPalette(FrontEnd, PaletteHandle, PaletteUsage);
}
@@ -720,7 +736,7 @@ static INT NTAPI
ConSrvTermShowMouseCursor(IN OUT PTERMINAL This,
BOOL Show)
{
PFRONTEND FrontEnd = This->Data;
PFRONTEND FrontEnd = This->Context;
return FrontEnd->Vtbl->ShowMouseCursor(FrontEnd, Show);
}
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/tui/tuiterm.c
* FILE: consrv/frontends/tui/tuiterm.c
* PURPOSE: TUI Terminal Front-End - Virtual Consoles...
* PROGRAMMERS: David Welch
* van Geldorp
@@ -291,7 +291,7 @@ TuiConsoleWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
}
#endif
if (ConDrvValidateConsoleUnsafe(ActiveConsole->Console, CONSOLE_RUNNING, TRUE))
if (ConDrvValidateConsoleUnsafe((PCONSOLE)ActiveConsole->Console, CONSOLE_RUNNING, TRUE))
{
MSG Message;
Message.hwnd = hWnd;
@@ -307,7 +307,7 @@ TuiConsoleWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_ACTIVATE:
{
if (ConDrvValidateConsoleUnsafe(ActiveConsole->Console, CONSOLE_RUNNING, TRUE))
if (ConDrvValidateConsoleUnsafe((PCONSOLE)ActiveConsole->Console, CONSOLE_RUNNING, TRUE))
{
if (LOWORD(wParam) != WA_INACTIVE)
{
@@ -327,9 +327,9 @@ TuiConsoleWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
}
static DWORD NTAPI
TuiConsoleThread(PVOID Data)
TuiConsoleThread(PVOID Param)
{
PTUI_CONSOLE_DATA TuiData = (PTUI_CONSOLE_DATA)Data;
PTUI_CONSOLE_DATA TuiData = (PTUI_CONSOLE_DATA)Param;
PCONSRV_CONSOLE Console = TuiData->Console;
HWND NewWindow;
MSG msg;
@@ -482,7 +482,7 @@ TuiInitFrontEnd(IN OUT PFRONTEND This,
DPRINT1("CONSRV: Failed to create TUI_CONSOLE_DATA\n");
return STATUS_UNSUCCESSFUL;
}
// Console->FrontEndIFace.Data = (PVOID)TuiData;
// Console->FrontEndIFace.Context = (PVOID)TuiData;
TuiData->Console = Console;
TuiData->hWindow = NULL;
@@ -530,8 +530,8 @@ TuiInitFrontEnd(IN OUT PFRONTEND This,
LeaveCriticalSection(&ActiveVirtConsLock);
/* Finally, initialize the frontend structure */
This->Data = TuiData;
This->OldData = NULL;
This->Context = TuiData;
This->Context2 = NULL;
return STATUS_SUCCESS;
}
@@ -540,7 +540,7 @@ static VOID NTAPI
TuiDeinitFrontEnd(IN OUT PFRONTEND This)
{
// PCONSRV_CONSOLE Console = This->Console;
PTUI_CONSOLE_DATA TuiData = This->Data; // Console->FrontEndIFace.Data;
PTUI_CONSOLE_DATA TuiData = This->Context; // Console->FrontEndIFace.Context;
/* Close the notification window */
DestroyWindow(TuiData->hWindow);
@@ -571,8 +571,8 @@ TuiDeinitFrontEnd(IN OUT PFRONTEND This)
/* Switch to the next console */
if (NULL != ActiveConsole) ConioDrawConsole(ActiveConsole->Console);
// Console->FrontEndIFace.Data = NULL;
This->Data = NULL;
// Console->FrontEndIFace.Context = NULL;
This->Context = NULL;
DeleteCriticalSection(&TuiData->Lock);
ConsoleFreeHeap(TuiData);
}
@@ -723,7 +723,7 @@ TuiChangeIcon(IN OUT PFRONTEND This,
static HWND NTAPI
TuiGetConsoleWindowHandle(IN OUT PFRONTEND This)
{
PTUI_CONSOLE_DATA TuiData = This->Data;
PTUI_CONSOLE_DATA TuiData = This->Context;
return TuiData->hWindow;
}
@@ -845,9 +845,9 @@ TuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
if (!TuiInit(ConsoleInfo->CodePage)) return STATUS_UNSUCCESSFUL;
/* Finally, initialize the frontend structure */
FrontEnd->Vtbl = &TuiVtbl;
FrontEnd->Data = NULL;
FrontEnd->OldData = NULL;
FrontEnd->Vtbl = &TuiVtbl;
FrontEnd->Context = NULL;
FrontEnd->Context2 = NULL;
return STATUS_SUCCESS;
}
@@ -856,7 +856,7 @@ NTSTATUS NTAPI
TuiUnloadFrontEnd(IN OUT PFRONTEND FrontEnd)
{
if (FrontEnd == NULL) return STATUS_INVALID_PARAMETER;
if (FrontEnd->Data) TuiDeinitFrontEnd(FrontEnd);
if (FrontEnd->Context) TuiDeinitFrontEnd(FrontEnd);
return STATUS_SUCCESS;
}
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/frontends/tui/tuiterm.h
* FILE: consrv/frontends/tui/tuiterm.h
* PURPOSE: TUI Terminal Front-End
* PROGRAMMERS: David Welch
* van Geldorp
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/handle.c
* FILE: consrv/handle.c
* PURPOSE: Console I/O Handles functions
* PROGRAMMERS: David Welch
* Jeffrey Morlan
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/handle.h
* FILE: consrv/handle.h
* PURPOSE: Console I/O Handles functions
* PROGRAMMERS: David Welch
* Jeffrey Morlan
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/heap.h
* FILE: consrv/heap.h
* PURPOSE: Heap Helpers
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/history.c
* FILE: consrv/history.c
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/history.h
* FILE: consrv/history.h
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/
@@ -108,8 +108,6 @@ struct _CONSOLE_SCREEN_BUFFER
// WORD ScreenDefaultAttrib; /* Default screen char attribute */
// WORD PopupDefaultAttrib; /* Default popup char attribute */
USHORT Mode; /* Output buffer modes */
// PVOID Data; /* Private data for the frontend to use */
};
@@ -217,13 +215,13 @@ typedef struct _TERMINAL_VTBL
/* Interface used only for text-mode screen buffers */
NTSTATUS (NTAPI *ReadStream)(IN OUT PTERMINAL This,
/**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
IN BOOLEAN Unicode,
/**PWCHAR Buffer,**/
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL);
IN BOOLEAN Unicode,
/**PWCHAR Buffer,**/
OUT PVOID Buffer,
IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
IN PVOID Parameter OPTIONAL,
IN ULONG NumCharsToRead,
OUT PULONG NumCharsRead OPTIONAL);
NTSTATUS (NTAPI *WriteStream)(IN OUT PTERMINAL This,
PTEXTMODE_SCREEN_BUFFER Buff,
PWCHAR Buffer,
@@ -259,7 +257,7 @@ typedef struct _TERMINAL_VTBL
INT (NTAPI *ShowMouseCursor)(IN OUT PTERMINAL This,
BOOL Show);
#if 0 // Possible future front-end interface
#if 0 // Possible future terminal interface
BOOL (NTAPI *GetTerminalProperty)(IN OUT PTERMINAL This,
ULONG Flag,
PVOID Info,
@@ -274,8 +272,8 @@ typedef struct _TERMINAL_VTBL
struct _TERMINAL
{
PTERMINAL_VTBL Vtbl; /* Virtual table */
struct _CONSOLE* Console; /* Console to which the frontend is attached to */
PVOID Data; /* Private data */
struct _CONSOLE* Console; /* Console to which the terminal is attached to */
PVOID Context; /* Private context */
};
/*
@@ -307,12 +305,12 @@ typedef struct _CONSOLE
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 */
TERMINAL TermIFace; /* Frontend-specific interface */
ULONG ConsoleID; /* The ID of the console */
LIST_ENTRY ListEntry; /* Entry in the list of consoles */
CONSOLE_STATE State; /* State of the console */
TERMINAL TermIFace; /* Terminal-specific interface */
HANDLE UnpauseEvent; /* When != NULL, event for pausing the console */
/******************************** Input buffer ********************************/
@@ -347,7 +345,6 @@ ConSrvConsoleCtrlEvent(IN ULONG CtrlEvent,
/* conoutput.c */
PCHAR_INFO ConioCoordToPointer(PTEXTMODE_SCREEN_BUFFER Buff, ULONG X, ULONG Y);
VOID ConioDrawConsole(PCONSOLE /*PCONSRV_CONSOLE*/ Console);
NTSTATUS ConioResizeBuffer(PCONSOLE /*PCONSRV_CONSOLE*/ Console,
PTEXTMODE_SCREEN_BUFFER ScreenBuffer,
COORD Size);
@@ -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: van Geldorp
* Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -116,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) */
@@ -217,9 +218,11 @@ ConioProcessInputEvent(PCONSRV_CONSOLE Console,
/* conoutput.c */
PCHAR_INFO ConioCoordToPointer(PTEXTMODE_SCREEN_BUFFER Buff, ULONG X, ULONG Y);
VOID ConioDrawConsole(PCONSOLE /*PCONSRV_CONSOLE*/ Console);
NTSTATUS ConioResizeBuffer(PCONSOLE /*PCONSRV_CONSOLE*/ Console,
PTEXTMODE_SCREEN_BUFFER ScreenBuffer,
COORD Size);
/* terminal.c */
VOID ConioDrawConsole(PCONSRV_CONSOLE Console);
/* EOF */
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/include/console.h
* FILE: consrv/include/console.h
* PURPOSE: Public Console Management Interface
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/include/settings.h
* FILE: consrv/include/settings.h
* PURPOSE: Public Console Settings Management Interface
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/include/term.h
* FILE: consrv/include/term.h
* PURPOSE: Internal Frontend Interface
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -10,9 +10,9 @@
/* Macros used to call functions in the TERMINAL_VTBL virtual table */
#define TermReadStream(Console, ExeName, /**/ Unicode, /**/ Buffer, ReadControl, NumCharsToRead, NumCharsRead) \
(Console)->TermIFace.Vtbl->ReadStream(&(Console)->TermIFace, (ExeName), /**/ (Unicode), /**/ \
(Buffer), (ReadControl), (NumCharsToRead), (NumCharsRead))
#define TermReadStream(Console, /**/ Unicode, /**/ Buffer, ReadControl, Parameter, NumCharsToRead, NumCharsRead) \
(Console)->TermIFace.Vtbl->ReadStream(&(Console)->TermIFace, /**/ (Unicode), /**/ \
(Buffer), (ReadControl), (Parameter), (NumCharsToRead), (NumCharsRead))
#define TermWriteStream(Console, ScreenBuffer, Buffer, Length, Attrib) \
(Console)->TermIFace.Vtbl->WriteStream(&(Console)->TermIFace, (ScreenBuffer), (Buffer), \
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/init.c
* FILE: consrv/init.c
* PURPOSE: Initialization
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/lineinput.c
* FILE: consrv/lineinput.c
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/lineinput.h
* FILE: consrv/lineinput.h
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/popup.c
* FILE: consrv/popup.c
* PURPOSE: Console popup windows
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/popup.h
* FILE: consrv/popup.h
* PURPOSE: Console popup windows
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/procinit.h
* FILE: consrv/procinit.h
* PURPOSE: Functions for console processes initialization
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/resource.h
* FILE: consrv/resource.h
* PURPOSE: Resource #defines
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/settings.c
* FILE: consrv/settings.c
* PURPOSE: Console settings management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/shutdown.c
* FILE: consrv/shutdown.c
* PURPOSE: Processes Shutdown
* PROGRAMMERS: Alex Ionescu
*/
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/subsysreg.c
* FILE: consrv/subsysreg.c
* PURPOSE: Registration APIs for VDM, OS2 and IME subsystems
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/