From 3fd38cd98ca72a6c39cbca7e4d10acf3dbef665d Mon Sep 17 00:00:00 2001 From: Sir Richard Date: Fri, 17 Jun 2011 11:04:45 +0000 Subject: [PATCH] Patch by Anton Yarotsky: [SACDRV]: Implement SAC EMS stub driver. Thanks to Aleksey Bragin for MC file. svn path=/trunk/; revision=52304 --- reactos/drivers/drivers.rbuild | 3 + reactos/drivers/sac/directory.rbuild | 7 + reactos/drivers/sac/driver/chanmgr.c | 176 ++++++ reactos/drivers/sac/driver/channel.c | 243 ++++++++ reactos/drivers/sac/driver/cmdchan.c | 60 ++ reactos/drivers/sac/driver/concmd.c | 243 ++++++++ reactos/drivers/sac/driver/conmgr.c | 191 ++++++ reactos/drivers/sac/driver/data.c | 56 ++ reactos/drivers/sac/driver/dispatch.c | 89 +++ reactos/drivers/sac/driver/init.c | 24 + reactos/drivers/sac/driver/memory.c | 48 ++ reactos/drivers/sac/driver/rawchan.c | 143 +++++ reactos/drivers/sac/driver/sacdrv.h | 118 ++++ reactos/drivers/sac/driver/sacdrv.rbuild | 29 + reactos/drivers/sac/driver/sacdrv.rc | 25 + reactos/drivers/sac/driver/util.c | 239 ++++++++ reactos/drivers/sac/driver/vtutf8chan.c | 181 ++++++ reactos/include/reactos/mc/mc.rbuild | 4 + reactos/include/reactos/mc/sacmsg.mc | 707 +++++++++++++++++++++++ 19 files changed, 2586 insertions(+) create mode 100644 reactos/drivers/sac/directory.rbuild create mode 100644 reactos/drivers/sac/driver/chanmgr.c create mode 100644 reactos/drivers/sac/driver/channel.c create mode 100644 reactos/drivers/sac/driver/cmdchan.c create mode 100644 reactos/drivers/sac/driver/concmd.c create mode 100644 reactos/drivers/sac/driver/conmgr.c create mode 100644 reactos/drivers/sac/driver/data.c create mode 100644 reactos/drivers/sac/driver/dispatch.c create mode 100644 reactos/drivers/sac/driver/init.c create mode 100644 reactos/drivers/sac/driver/memory.c create mode 100644 reactos/drivers/sac/driver/rawchan.c create mode 100644 reactos/drivers/sac/driver/sacdrv.h create mode 100644 reactos/drivers/sac/driver/sacdrv.rbuild create mode 100644 reactos/drivers/sac/driver/sacdrv.rc create mode 100644 reactos/drivers/sac/driver/util.c create mode 100644 reactos/drivers/sac/driver/vtutf8chan.c create mode 100644 reactos/include/reactos/mc/sacmsg.mc diff --git a/reactos/drivers/drivers.rbuild b/reactos/drivers/drivers.rbuild index 7e6a925055f..4e3c60fa548 100644 --- a/reactos/drivers/drivers.rbuild +++ b/reactos/drivers/drivers.rbuild @@ -34,6 +34,9 @@ + + + diff --git a/reactos/drivers/sac/directory.rbuild b/reactos/drivers/sac/directory.rbuild new file mode 100644 index 00000000000..cbcdcfd9011 --- /dev/null +++ b/reactos/drivers/sac/directory.rbuild @@ -0,0 +1,7 @@ + + + + + + + diff --git a/reactos/drivers/sac/driver/chanmgr.c b/reactos/drivers/sac/driver/chanmgr.c new file mode 100644 index 00000000000..1a655d92c02 --- /dev/null +++ b/reactos/drivers/sac/driver/chanmgr.c @@ -0,0 +1,176 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/chanmgr.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +ChanMgrInitialize( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetChannelIndex( + IN PSAC_CHANNEL Channel, + IN PULONG ChannelIndex + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrReleaseChannel( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetByHandle( + IN PSAC_CHANNEL_ID ChannelId, + OUT PSAC_CHANNEL pChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetByHandleAndFileObject( + IN PSAC_CHANNEL_ID ChannelId, + IN PFILE_OBJECT FileObject, + OUT PSAC_CHANNEL pChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetChannelByName( + IN PWCHAR Name, + OUT PSAC_CHANNEL pChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetByIndex( + IN ULONG TargetIndex, + IN PSAC_CHANNEL *TargetChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetNextActiveChannel( + IN PSAC_CHANNEL CurrentChannel, + IN PULONG TargetIndex, + OUT PSAC_CHANNEL *TargetChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +ChanMgrChannelDestroy( + IN PSAC_CHANNEL Channel + ) +{ + +} + +NTSTATUS +ChanMgrCloseChannel( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrReapChannel( + IN ULONG ChannelIndex + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrReapChannels( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrGetChannelCount( + OUT PULONG ChannelCount + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrIsFull( + OUT PBOOLEAN IsFull + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrShutdown( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +ChanMgrIsUniqueName( + IN PWCHAR ChannelName + ) +{ + return FALSE; +} + +NTSTATUS +ChanMgrGenerateUniqueCmdName( + IN PWCHAR ChannelName + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrCreateChannel( + OUT PSAC_CHANNEL *Channel, + IN PSAC_CHANNEL_ATTRIBUTES Attributes + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChanMgrCloseChannelsWithFileObject( + IN PFILE_OBJECT FileObject + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/channel.c b/reactos/drivers/sac/driver/channel.c new file mode 100644 index 00000000000..7159458fdfe --- /dev/null +++ b/reactos/drivers/sac/driver/channel.c @@ -0,0 +1,243 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/channel.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +BOOLEAN +ChannelIsValidType( + IN SAC_CHANNEL_TYPE ChannelType + ) +{ + return FALSE; +} + +BOOLEAN +ChannelIsEqual( + IN PSAC_CHANNEL Channel, + IN PSAC_CHANNEL_ID ChannelId + ) +{ + return FALSE; +} + +NTSTATUS +ChannelInitializeVTable( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelDereferenceHandles( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelDestroy( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelOWrite( + IN PSAC_CHANNEL Channel, + IN PWCHAR Buffer, + IN ULONG BufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelOFlush( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelIWrite( + IN PSAC_CHANNEL Channel, + IN PWCHAR Buffer, + IN ULONG BufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +ChannelIRead( + IN PSAC_CHANNEL Channel, + PWCHAR Buffer, + ULONG BufferSize, + OUT PULONG ResultBufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelIReadLast( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +ChannelIBufferLength( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelGetName( + IN PSAC_CHANNEL Channel, + OUT PWCHAR *Name + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelSetName( + IN PSAC_CHANNEL Channel, + IN PWCHAR Name + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelGetDescription( + IN PSAC_CHANNEL Channel, + OUT PWCHAR *Description + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelSetDescription( + IN PSAC_CHANNEL Channel, + IN PWCHAR Description + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelSetStatus( + IN PSAC_CHANNEL Channel, + IN SAC_CHANNEL_STATUS ChannelStatus + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelGetStatus( + IN PSAC_CHANNEL Channel, + OUT PSAC_CHANNEL_STATUS ChannelStatus + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelGetApplicationType( + IN PSAC_CHANNEL Channel, + OUT PGUID ApplicationType + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +NTAPI +ChannelSetLockEvent( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +NTAPI +ChannelSetRedrawEvent( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelClearRedrawEvent( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelHasRedrawEvent( + IN PSAC_CHANNEL Channel, + OUT PBOOLEAN Present + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +ChannelIsActive( + IN PSAC_CHANNEL Channel + ) +{ + return FALSE; +} + +BOOLEAN +ChannelIsClosed( + IN PSAC_CHANNEL Channel + ) +{ + return FALSE; +} + +NTSTATUS +ChannelCreate( + IN PSAC_CHANNEL Channel, + IN PSAC_CHANNEL_ATTRIBUTES Attributes, + IN SAC_CHANNEL_ID ChannelId + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ChannelClose( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/cmdchan.c b/reactos/drivers/sac/driver/cmdchan.c new file mode 100644 index 00000000000..de6e2953f2f --- /dev/null +++ b/reactos/drivers/sac/driver/cmdchan.c @@ -0,0 +1,60 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/cmdchan.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +CmdChannelCreate( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CmdChannelDestroy( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CmdChannelOWrite( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Size + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CmdChannelOFlush( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CmdChannelORead( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize, + OUT PULONG ByteCount + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/concmd.c b/reactos/drivers/sac/driver/concmd.c new file mode 100644 index 00000000000..42b87ca2795 --- /dev/null +++ b/reactos/drivers/sac/driver/concmd.c @@ -0,0 +1,243 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/concmd.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +GetTListInfo( + IN PVOID TListData, + IN ULONG InputSize, + IN ULONG TotalSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +PrintTListInfo( + IN PVOID TListData + ) +{ + +} + +VOID +PutMore( + OUT PBOOLEAN ScreenFull + ) +{ + +} + +BOOLEAN +RetrieveIpAddressFromString( + IN PWCHAR IpString, + OUT PULONG IpAddress + ) +{ + return FALSE; +} + +NTSTATUS +CallQueryIPIOCTL( + IN HANDLE DriverHandle, + IN PVOID DriverObject, + IN HANDLE WaitEvent, + IN PIO_STATUS_BLOCK IoStatusBlock, + IN PVOID InputBuffer, + IN ULONG InputBufferLength, + IN PVOID OutputBuffer, + IN ULONG OutputBufferLength, + IN BOOLEAN PrintMessage, + OUT PBOOLEAN MessagePrinted + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +DoFullInfoCommand( + VOID + ) +{ + +} + +VOID +DoPagingCommand( + VOID + ) +{ + +} + +VOID +DoSetTimeCommand( + IN PCHAR InputTime + ) +{ + +} + +VOID +DoKillCommand( + IN PCHAR KillString + ) +{ + +} + +VOID +DoLowerPriorityCommand( + IN PCHAR PrioString + ) +{ + +} + +VOID +DoRaisePriorityCommand( + IN PCHAR PrioString + ) +{ + +} + +VOID +DoLimitMemoryCommand( + IN PCHAR LimitString + ) +{ + +} + +VOID +DoRebootCommand( + IN BOOLEAN Reboot + ) +{ + +} + +VOID +DoCrashCommand( + VOID + ) +{ + +} + +VOID +DoMachineInformationCommand( + VOID + ) +{ + +} + +NTSTATUS +DoChannelListCommand( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DoChannelCloseByNameCommand( + IN PCHAR Count + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DoChannelCloseByIndexCommand( + IN ULONG ChannelIndex + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DoChannelSwitchByNameCommand( + IN PCHAR Count + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DoChannelSwitchByIndexCommand( + IN ULONG ChannelIndex + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +DoChannelCommand( + IN PCHAR ChannelString + ) +{ + +} + +VOID +DoCmdCommand( + VOID + ) +{ + +} + +VOID +DoLockCommand( + VOID + ) +{ + +} + +VOID +DoHelpCommand( + VOID + ) +{ + +} + +VOID +DoGetNetInfo( + IN BOOLEAN DoPrint + ) +{ + +} + +VOID +DoSetIpAddressCommand( + IN PCHAR IpString + ) +{ + +} + +VOID +DoTlistCommand( + VOID + ) +{ + +} \ No newline at end of file diff --git a/reactos/drivers/sac/driver/conmgr.c b/reactos/drivers/sac/driver/conmgr.c new file mode 100644 index 00000000000..a01819394af --- /dev/null +++ b/reactos/drivers/sac/driver/conmgr.c @@ -0,0 +1,191 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/conmgr.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +ConMgrShutdown( + VOID) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrDisplayFastChannelSwitchingInterface( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrSetCurrentChannel( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrDisplayCurrentChannel( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrAdvanceCurrentChannel( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +ConMgrIsWriteEnabled( + IN PSAC_CHANNEL Channel + ) +{ + return FALSE; +} + +VOID +SacPutString( + IN PWCHAR String + ) +{ + +} + +BOOLEAN +SacPutSimpleMessage( + IN ULONG MessageIndex + ) +{ + return FALSE; +} + +NTSTATUS +ConMgrChannelOWrite( + IN PSAC_CHANNEL Channel, + IN PVOID WriteBuffer + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrGetChannelCloseMessage( + IN PSAC_CHANNEL Channel, + IN NTSTATUS CloseStatus, + OUT PWCHAR OutputBuffer + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrWriteData( + IN PSAC_CHANNEL Channel, + IN PVOID Buffer, + IN ULONG BufferLength + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrFlushData( + IN PSAC_CHANNEL Channel + ) +{ + return FALSE; +} + +BOOLEAN +ConMgrIsSacChannel( + IN PSAC_CHANNEL Channel + ) +{ + return FALSE; +} + +NTSTATUS +ConMgrInitialize( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrResetCurrentChannel( + IN BOOLEAN KeepChannel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +ConMgrProcessInputLine( + VOID + ) +{ + +} + +VOID +ConMgrEventMessage( + IN PWCHAR EventMessage, + IN BOOLEAN LockHeld + ) +{ + +} + +BOOLEAN +ConMgrSimpleEventMessage( + IN ULONG MessageIndex, + IN BOOLEAN LockHeld + ) +{ + return FALSE; +} + +NTSTATUS +ConMgrChannelClose( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ConMgrHandleEvent( + IN ULONG EventCode, + IN PSAC_CHANNEL Channel, + OUT PVOID Data + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +ConMgrWorkerProcessEvents( + IN PSAC_CHANNEL Channel + ) +{ + +} diff --git a/reactos/drivers/sac/driver/data.c b/reactos/drivers/sac/driver/data.c new file mode 100644 index 00000000000..040a7b9f45f --- /dev/null +++ b/reactos/drivers/sac/driver/data.c @@ -0,0 +1,56 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/data.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +VOID +FreeGlobalData( + VOID + ) +{ + +} + +VOID +FreeDeviceData( + IN PDEVICE_OBJECT DeviceObject + ) +{ + +} + +NTSTATUS +WorkerThreadStartUp( + IN PVOID Context + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +InitializeDeviceData( + IN PDEVICE_OBJECT DeviceObject + ) +{ + return FALSE; +} + +BOOLEAN +InitalizeGlobalData( + IN PUNICODE_STRING RegistryPath, + IN PDRIVER_OBJECT DriverObject + ) +{ + return FALSE; +} diff --git a/reactos/drivers/sac/driver/dispatch.c b/reactos/drivers/sac/driver/dispatch.c new file mode 100644 index 00000000000..524a5eb95a1 --- /dev/null +++ b/reactos/drivers/sac/driver/dispatch.c @@ -0,0 +1,89 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/dispatch.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +NTAPI +DispatchDeviceControl( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DispatchShutdownControl( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DispatchCreate( + IN PSAC_DEVICE_EXTENSION DeviceExtension, + IN PIRP Irp + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +DispatchClose( + IN PSAC_DEVICE_EXTENSION DeviceExtension, + IN PIRP Irp + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +Dispatch( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +WorkerProcessEvents( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +TimerDpcRoutine( + IN PKDPC Dpc, + IN PVOID DeferredContext, + IN PVOID SystemArgument1, + IN PVOID SystemArgument2 + ) +{ + +} + +VOID +NTAPI +UnloadHandler( + IN PDRIVER_OBJECT DriverObject + ) +{ + +} diff --git a/reactos/drivers/sac/driver/init.c b/reactos/drivers/sac/driver/init.c new file mode 100644 index 00000000000..67323e0937b --- /dev/null +++ b/reactos/drivers/sac/driver/init.c @@ -0,0 +1,24 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/init.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +DriverEntry( + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPath + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/memory.c b/reactos/drivers/sac/driver/memory.c new file mode 100644 index 00000000000..eadf646d68b --- /dev/null +++ b/reactos/drivers/sac/driver/memory.c @@ -0,0 +1,48 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/memory.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +BOOLEAN +InitializeMemoryManagement(VOID) +{ + return FALSE; +} + +VOID +FreeMemoryManagement( + VOID + ) +{ + +} + +PVOID +MyAllocatePool( + IN SIZE_T PoolSize, + IN ULONG Tag, + IN PCHAR File, + IN ULONG Line + ) +{ + return NULL; +} + +VOID +MyFreePool( + IN PVOID *Block + ) +{ + +} diff --git a/reactos/drivers/sac/driver/rawchan.c b/reactos/drivers/sac/driver/rawchan.c new file mode 100644 index 00000000000..6a38bd0a97c --- /dev/null +++ b/reactos/drivers/sac/driver/rawchan.c @@ -0,0 +1,143 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/rawchan.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +RawChannelCreate( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelDestroy( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelORead( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize, + OUT PULONG ByteCount + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelOEcho( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Length + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelOWrite2( + IN PSAC_CHANNEL Channel, + IN PCHAR String, + IN ULONG Size + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelOFlush( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +RawChannelGetIBufferIndex( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +VOID +RawChannelSetIBufferIndex( + IN PSAC_CHANNEL Channel, + IN ULONG BufferIndex + ) +{ + +} + +NTSTATUS +RawChannelOWrite( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Length + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelIRead( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize, + IN PULONG ReturnBufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RawChannelIBufferIsFull( + IN PSAC_CHANNEL Channel, + PBOOLEAN BufferStatus + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +RawChannelIBufferLength( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +CHAR +RawChannelIReadLast( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +NTSTATUS +RawChannelIWrite( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/sacdrv.h b/reactos/drivers/sac/driver/sacdrv.h new file mode 100644 index 00000000000..a8da32be5a6 --- /dev/null +++ b/reactos/drivers/sac/driver/sacdrv.h @@ -0,0 +1,118 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/sacdrv.h + * PURPOSE: Header for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ +#include + +typedef enum _SAC_CHANNEL_TYPE +{ + VtUtf8, + Cmd, + Raw +} SAC_CHANNEL_TYPE; + +typedef enum _SAC_CHANNEL_STATUS +{ + Inactive, + Active +} SAC_CHANNEL_STATUS, *PSAC_CHANNEL_STATUS; + +typedef struct _SAC_CHANNEL_ID +{ + GUID ChannelGuid; + ULONG ChannelId; +} SAC_CHANNEL_ID, *PSAC_CHANNEL_ID; + +typedef struct _SAC_CHANNEL_LOCK +{ + LONG RefCount; + KSEMAPHORE Semaphore; +} SAC_CHANNEL_LOCK, *PSAC_CHANNEL_LOCK; + +typedef struct _SAC_CHANNEL +{ + ULONG Index; + SAC_CHANNEL_ID ChannelId; + HANDLE CloseEvent; + PVOID CloseEventObjectBody; + PKEVENT CloseEventWaitObjectBody; + HANDLE HasNewDataEvent; + PVOID HasNewDataEventObjectBody; + PKEVENT HasNewDataEventWaitObjectBody; + HANDLE LockEvent; + PVOID LockEventObjectBody; + PKEVENT LockEventWaitObjectBody; + HANDLE RedrawEvent; + PVOID RedrawEventObjectBody; + PKEVENT RedrawEventWaitObjectBody; + PFILE_OBJECT FileObject; + SAC_CHANNEL_TYPE ChannelType; + SAC_CHANNEL_STATUS ChannelStatus; + WCHAR NameBuffer[64 + 1]; + WCHAR DescriptionBuffer[256 + 1]; + ULONG Flags; + GUID ApplicationType; + BOOLEAN WriteEnabled; + ULONG IBufferIndex; + PVOID IBuffer; + BOOLEAN ChannelHasNewIBufferData; + UCHAR CursorRow; + UCHAR CursorCol; + UCHAR CursorY; + UCHAR CursorX; + UCHAR CursorVisible; + PVOID OBuffer; + ULONG OBufferIndex; + ULONG OBufferFirstGoodIndex; + BOOLEAN ChannelHasNewOBufferData; + //PSAC_CHANNEL_CREATE ChannelCreate; + //PSAC_CHANNEL_DESTROY ChannelDestroy; + //PSAC_CHANNEL_OFLUSH ChannelOutputFlush; + //PSAC_CHANNEL_OECHO ChannelOutputEcho; + //PSAC_CHANNEL_OWRITE ChannelOutputWrite; + //PSAC_CHANNEL_OREAD ChannelOutputRead; + //PSAC_CHANNEL_OWRITE ChannelInputWrite; + //PSAC_CHANNEL_IREAD ChannelInputRead; + //PSAC_CHANNEL_IREAD_LAST ChannelInputReadLast; + //PSAC_CHANNEL_IBUFFER_FULL ChannelInputBufferIsFull; + //PSAC_CHANNEL_IBUFFER_LENGTH IBufferLength; + SAC_CHANNEL_LOCK ChannelAttributeLock; + SAC_CHANNEL_LOCK ChannelOBufferLock; + SAC_CHANNEL_LOCK ChannelBufferLock; +} SAC_CHANNEL, *PSAC_CHANNEL; + +typedef struct _SAC_DEVICE_EXTENSION +{ + PDEVICE_OBJECT DeviceObject; + BOOLEAN Initialized; + BOOLEAN Rundown; + BOOLEAN PriorityFail; + KPRIORITY PriorityBoost; + PEPROCESS Process; + KSPIN_LOCK Lock; + KEVENT RundownEvent; + KEVENT Event; + HANDLE WorkerThreadHandle; + KEVENT WorkerThreadEvent; + KTIMER Timer; + KDPC Dpc; + LIST_ENTRY List; +} SAC_DEVICE_EXTENSION, *PSAC_DEVICE_EXTENSION; + +typedef struct _SAC_CHANNEL_ATTRIBUTES +{ + SAC_CHANNEL_TYPE ChannelType; + WCHAR NameBuffer[64 + 1]; + WCHAR DescriptionBuffer[256 + 1]; + ULONG Flag; + PKEVENT CloseEvent; + PKEVENT HasNewDataEvent; + PKEVENT LockEvent; + PKEVENT RedrawEvent; + GUID ChannelId; +} SAC_CHANNEL_ATTRIBUTES, *PSAC_CHANNEL_ATTRIBUTES; diff --git a/reactos/drivers/sac/driver/sacdrv.rbuild b/reactos/drivers/sac/driver/sacdrv.rbuild new file mode 100644 index 00000000000..8357c1d440c --- /dev/null +++ b/reactos/drivers/sac/driver/sacdrv.rbuild @@ -0,0 +1,29 @@ + + + + + . + ntoskrnl + hal + sacmsg + + + -mrtd + -fno-builtin + + + sacdrv.h + chanmgr.c + channel.c + cmdchan.c + concmd.c + conmgr.c + data.c + dispatch.c + init.c + memory.c + rawchan.c + util.c + vtutf8chan.c + sacdrv.rc + diff --git a/reactos/drivers/sac/driver/sacdrv.rc b/reactos/drivers/sac/driver/sacdrv.rc new file mode 100644 index 00000000000..ceb819a9005 --- /dev/null +++ b/reactos/drivers/sac/driver/sacdrv.rc @@ -0,0 +1,25 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/base/sac/driver/sacdrv.rc + * PURPOSE: Resource File for EMS SAC Driver + * PROGRAMMERS: ReactOS Portable Systems Group + */ +#include +#include + +// +// Version Data +// +#define VER_FILETYPE VFT_DRV +#define VER_FILESUBTYPE VFT2_DRV_SYSTEM +#define VER_FILEDESCRIPTION_STR "Windows SAC Driver" +#define VER_INTERNALNAME_STR "sacdrv.sys" +#define VER_ORIGINALFILENAME_STR "sacdrv.sys" +#define VER_LANGNEUTRAL +#include "common.ver" + +// +// Bug Codes and Bitmaps +// +#include "sacmsg.rc" diff --git a/reactos/drivers/sac/driver/util.c b/reactos/drivers/sac/driver/util.c new file mode 100644 index 00000000000..b40f058c592 --- /dev/null +++ b/reactos/drivers/sac/driver/util.c @@ -0,0 +1,239 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/util.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +ULONG +ConvertAnsiToUnicode( + IN PWCHAR pwch, + IN PCHAR pch, + IN ULONG length + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +IsCmdEventRegistrationProcess( + IN PFILE_OBJECT FileObject + ) +{ + return FALSE; +} + +VOID +InitializeCmdEventInfo( + VOID + ) +{ + +} + +BOOLEAN +VerifyEventWaitable( + IN PVOID Object, + OUT PVOID *WaitObject, + OUT PVOID *ActualWaitObject + ) +{ + return FALSE; +} + +NTSTATUS +InvokeUserModeService( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +SacFormatMessage( + IN PWCHAR FormattedString, + IN PWCHAR MessageString, + IN ULONG MessageSize + ) +{ + +} + +NTSTATUS +TearDownGlobalMessageTable( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +PWCHAR +GetMessage( + IN ULONG MessageIndex + ) +{ + return NULL; +} + +BOOLEAN +SacTranslateUtf8ToUnicode( + IN CHAR Utf8Char, + IN PCHAR UnicodeBuffer, + OUT PCHAR Utf8Value + ) +{ + return FALSE; +} + +BOOLEAN +SacTranslateUnicodeToUtf8( + IN PWCHAR SourceBuffer, + IN ULONG SourceBufferLength, + OUT PCHAR DestinationBuffer, + IN ULONG DestinationBufferSize, + IN ULONG UTF8Count, + OUT PULONG ProcessedCount + ) +{ + return FALSE; +} + +NTSTATUS +GetRegistryValueBuffer( + IN PCWSTR KeyName, + IN PWCHAR ValueName, + IN PKEY_VALUE_PARTIAL_INFORMATION ValueBuffer + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +SetRegistryValue( + IN PCWSTR KeyName, + IN PWCHAR ValueName, + IN ULONG Type, + IN PVOID Data, + IN ULONG DataSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CopyRegistryValueData( + IN PVOID Dest, + IN PKEY_VALUE_PARTIAL_INFORMATION ValueBuffer + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +TranslateMachineInformationText( + IN PWCHAR Buffer) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +TranslateMachineInformationXML( + IN PWCHAR Buffer, + IN PWCHAR ExtraData + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +RegisterBlueScreenMachineInformation( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +VOID +FreeMachineInformation( + VOID + ) +{ + +} + +NTSTATUS +SerialBufferGetChar( + OUT PCHAR Char + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +GetCommandConsoleLaunchingPermission( + OUT PBOOLEAN Permission + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +ImposeSacCmdServiceStartTypePolicy( + VOID + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +CopyAndInsertStringAtInterval( + IN PWCHAR SourceStr, + IN ULONG Interval, + IN PWCHAR InsertStr, + OUT PWCHAR pDestStr + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +GetMessageLineCount( + IN ULONG MessageIndex + ) +{ + return 0; +} + +NTSTATUS +RegisterSacCmdEvent( + IN PVOID Object, + IN PKEVENT SetupCmdEvent[] + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +UnregisterSacCmdEvent( + IN PFILE_OBJECT FileObject + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +UTF8EncodeAndSend( + IN PWCHAR String + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/drivers/sac/driver/vtutf8chan.c b/reactos/drivers/sac/driver/vtutf8chan.c new file mode 100644 index 00000000000..26f80d8b448 --- /dev/null +++ b/reactos/drivers/sac/driver/vtutf8chan.c @@ -0,0 +1,181 @@ +/* + * PROJECT: ReactOS Boot Loader + * LICENSE: BSD - See COPYING.ARM in the top level directory + * FILE: drivers/sac/driver/vtutf8chan.c + * PURPOSE: Driver for the Server Administration Console (SAC) for EMS + * PROGRAMMERS: ReactOS Portable Systems Group + */ + +/* INCLUDES *******************************************************************/ + +#include "sacdrv.h" + +/* GLOBALS ********************************************************************/ + +/* FUNCTIONS ******************************************************************/ + +NTSTATUS +VTUTF8ChannelCreate( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelDestroy( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelORead( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize, + OUT PULONG ByteCount + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelOEcho( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Size + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +BOOLEAN +VTUTF8ChannelScanForNumber( + IN PWCHAR String, + OUT PULONG Number + ) +{ + return FALSE; +} + +NTSTATUS +VTUTF8ChannelAnsiDispatch( + IN NTSTATUS Status, + IN ULONG AnsiCode, + IN PWCHAR Data, + IN ULONG Length + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelProcessAttributes( + IN PSAC_CHANNEL Channel, + IN UCHAR Attribute + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +ULONG +VTUTF8ChannelGetIBufferIndex( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +VOID +VTUTF8ChannelSetIBufferIndex( + IN PSAC_CHANNEL Channel, + IN ULONG BufferIndex + ) +{ + +} + +NTSTATUS +VTUTF8ChannelConsumeEscapeSequence( + IN PSAC_CHANNEL Channel, + IN PWCHAR String + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelOFlush( + IN PSAC_CHANNEL Channel + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelIRead( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize, + IN PULONG ReturnBufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelIBufferIsFull( + IN PSAC_CHANNEL Channel, + OUT PBOOLEAN BufferStatus + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +WCHAR +VTUTF8ChannelIReadLast( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +ULONG +VTUTF8ChannelIBufferLength( + IN PSAC_CHANNEL Channel + ) +{ + return 0; +} + +NTSTATUS +VTUTF8ChannelOWrite2( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Size + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelIWrite( + IN PSAC_CHANNEL Channel, + IN PCHAR Buffer, + IN ULONG BufferSize + ) +{ + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +VTUTF8ChannelOWrite( + IN PSAC_CHANNEL Channel, + IN PWCHAR String, + IN ULONG Length + ) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/reactos/include/reactos/mc/mc.rbuild b/reactos/include/reactos/mc/mc.rbuild index 28c70f0a5fe..bcd153e6021 100644 --- a/reactos/include/reactos/mc/mc.rbuild +++ b/reactos/include/reactos/mc/mc.rbuild @@ -24,4 +24,8 @@ ntiologc.mc + + + sacmsg.mc + \ No newline at end of file diff --git a/reactos/include/reactos/mc/sacmsg.mc b/reactos/include/reactos/mc/sacmsg.mc new file mode 100644 index 00000000000..dce4a07f41f --- /dev/null +++ b/reactos/include/reactos/mc/sacmsg.mc @@ -0,0 +1,707 @@ +MessageId=1 +SymbolicName=SACDRV_1 +Language=English +Computer is booting, SAC started and initialized.\n\nUse the \"ch -?\" command for information about using channels.\nUse the \"?\" command for general help. +. + +MessageId=2 +SymbolicName=SACDRV_2 +Language=English + +. + +MessageId=3 +SymbolicName=SACDRV_3 +Language=English +SAC>%0 +. + +MessageId=4 +SymbolicName=SACDRV_4 +Language=English +The SAC is unavailable, it was directly unloaded. +. + +MessageId=5 +SymbolicName=SACDRV_5 +Language=English +The SAC will become unavailable soon. The computer is shutting down.\n +. + +MessageId=6 +SymbolicName=SACDRV_6 +Language=English +A parameter was incorrect or missing. Try the 'help' command for more details. +. + +MessageId=7 +SymbolicName=SACDRV_7 +Language=English +Thread information is now ON. +. + +MessageId=8 +SymbolicName=SACDRV_8 +Language=English +Thread information is now OFF. +. + +MessageId=9 +SymbolicName=SACDRV_9 +Language=English +Paging is now ON. +. + +MessageId=10 +SymbolicName=SACDRV_10 +Language=English +Paging is now OFF. +. + +MessageId=11 +SymbolicName=SACDRV_11 +Language=English +Paging is now OFF. +. + +MessageId=12 +SymbolicName=SACDRV_12 +Language=English +d Dump the current kernel log. +. + +MessageId=13 +SymbolicName=SACDRV_13 +Language=English +f Toggle detailed or abbreviated tlist info. +. + +MessageId=14 +SymbolicName=SACDRV_14 +Language=English +? or help Display this list. +. + +MessageId=15 +SymbolicName=SACDRV_15 +Language=English +i List all IP network numbers and their IP addresses. +. + +MessageId=16 +SymbolicName=SACDRV_16 +Language=English +i <#> Set IP addr., subnet and gateway. +. + +MessageId=18 +SymbolicName=SACDRV_18 +Language=English +k Kill the given process. +. + +MessageId=19 +SymbolicName=SACDRV_19 +Language=English +l Lower the priority of a process to the lowest possible. +. + +MessageId=20 +SymbolicName=SACDRV_20 +Language=English +m Limit the memory usage of a process to . +. + +MessageId=21 +SymbolicName=SACDRV_21 +Language=English +p Toggle paging the display. +. + +MessageId=22 +SymbolicName=SACDRV_22 +Language=English +r Raise the priority of a process by one. +. + +MessageId=23 +SymbolicName=SACDRV_23 +Language=English +s Display the current time and date (24 hour clock used). +. + +MessageId=24 +SymbolicName=SACDRV_24 +Language=English +s mm/dd/yyyy hh:mm Set the current time and date (24 hour clock used). +. + +MessageId=25 +SymbolicName=SACDRV_25 +Language=English +t Tlist. +. + +MessageId=27 +SymbolicName=SACDRV_27 +Language=English +restart Restart the system immediately. +. + +MessageId=28 +SymbolicName=SACDRV_28 +Language=English +shutdown Shutdown the system immediately. +. + +MessageId=29 +SymbolicName=SACDRV_29 +Language=English +crashdump Crash the system. You must have crash dump enabled. +. + +MessageId=31 +SymbolicName=SACDRV_31 +Language=English +id Display the computer identification information. +. + +MessageId=32 +SymbolicName=SACDRV_32 +Language=English +lock Lock access to Command Prompt channels. +. + +MessageId=48 +SymbolicName=SACDRV_48 +Language=English +Failed with status 0x%%X. +. + +MessageId=49 +SymbolicName=SACDRV_49 +Language=English +Date: %%02d/%%02d/%%02d Time (GMT): %%02d:%%02d:%%02d:%%04d +. + +MessageId=50 +SymbolicName=SACDRV_50 +Language=English +SAC could not retrieve the IP Address. +. + +MessageId=51 +SymbolicName=SACDRV_51 +Language=English +SAC could not clear the existing IP Address. +. + +MessageId=52 +SymbolicName=SACDRV_52 +Language=English +SAC could not set the IP Address. +. + +MessageId=54 +SymbolicName=SACDRV_54 +Language=English +SAC successfully set the IP Address, subnet mask, and gateway. +. + +MessageId=55 +SymbolicName=SACDRV_55 +Language=English +SAC failed to terminate the process. +. + +MessageId=56 +SymbolicName=SACDRV_56 +Language=English +SAC successfully terminated the process. +. + +MessageId=57 +SymbolicName=SACDRV_57 +Language=English +SAC failed to lower the process priority. +. + +MessageId=58 +SymbolicName=SACDRV_58 +Language=English +SAC successfully lowered the process priority. +. + +MessageId=59 +SymbolicName=SACDRV_59 +Language=English +SAC failed to raise the process priority. +. + +MessageId=60 +SymbolicName=SACDRV_60 +Language=English +SAC successfully raised the process priority. +. + +MessageId=61 +SymbolicName=SACDRV_61 +Language=English +SAC failed to limit the available process memory. +. + +MessageId=62 +SymbolicName=SACDRV_62 +Language=English +SAC successfully limited the available process memory. +. + +MessageId=63 +SymbolicName=SACDRV_63 +Language=English +SAC cannot raise the priority of a process that was not previously lowered. +. + +MessageId=64 +SymbolicName=SACDRV_64 +Language=English +SAC cannot raise the process priority any higher. +. + +MessageId=65 +SymbolicName=SACDRV_65 +Language=English +SAC failed to shutdown the system. +. + +MessageId=66 +SymbolicName=SACDRV_66 +Language=English +SAC failed to restart the system. +. + +MessageId=67 +SymbolicName=SACDRV_67 +Language=English +SAC failed to crashdump the system. +. + +MessageId=68 +SymbolicName=SACDRV_68 +Language=English +SAC failed to retrieve the task list. +. + +MessageId=69 +SymbolicName=SACDRV_69 +Language=English +memory: %%4ld kb uptime:%%3ld %%2ld:%%02ld:%%02ld.%%03ld\n\n +. + +MessageId=70 +SymbolicName=SACDRV_70 +Language=English +No pagefile in use. +. + +MessageId=71 +SymbolicName=SACDRV_71 +Language=English +PageFile: %%wZ +. + +MessageId=72 +SymbolicName=SACDRV_72 +Language=English + Current Size: %%6ld kb Total Used: %%6ld kb Peak Used %%6ld kb +. + +MessageId=73 +SymbolicName=SACDRV_73 +Language=English +\n Memory:%%7ldK Avail:%%7ldK TotalWs:%%7ldK InRam Kernel:%%5ldK P:%%5ldK +. + +MessageId=74 +SymbolicName=SACDRV_74 +Language=English + Commit:%%7ldK/%%7ldK Limit:%%7ldK Peak:%%7ldK Pool N:%%5ldK P:%%5ldK +. + +MessageId=75 +SymbolicName=SACDRV_75 +Language=English + User Time Kernel Time Ws Faults Commit Pri Hnd Thd Pid Name +. + +MessageId=76 +SymbolicName=SACDRV_76 +Language=English + %%6ld %%8ld File Cache +. + +MessageId=77 +SymbolicName=SACDRV_77 +Language=English +%%3ld:%%02ld:%%02ld.%%03ld %%3ld:%%02ld:%%02ld.%%03ld%%6ld %%8ld %%7ld %%2ld %%4ld %%3ld %%4ld %%wZ +. + +MessageId=78 +SymbolicName=SACDRV_78 +Language=English +%%3ld:%%02ld:%%02ld.%%03ld %%3ld:%%02ld:%%02ld.%%03ld +. + +MessageId=79 +SymbolicName=SACDRV_79 +Language=English +pid:%%3lx pri:%%2ld Hnd:%%5ld Pf:%%7ld Ws:%%7ldK %%wZ +. + +MessageId=80 +SymbolicName=SACDRV_80 +Language=English + tid pri Ctx Swtch StrtAddr User Time Kernel Time State +. + +MessageId=81 +SymbolicName=SACDRV_81 +Language=English + %%3lx %%2ld %%9ld %%p %%2ld:%%02ld:%%02ld.%%03ld %%2ld:%%02ld:%%02ld.%%03ld %%s%%s +. + +MessageId=82 +SymbolicName=SACDRV_82 +Language=English +----Press for more---- +. + +MessageId=83 +SymbolicName=SACDRV_83 +Language=English +SAC is retrieving IP Addresses... +. + +MessageId=84 +SymbolicName=SACDRV_84 +Language=English +Could not retrieve IP Address(es). +. + +MessageId=85 +SymbolicName=SACDRV_85 +Language=English +There are no IP Addresses available. +. + +MessageId=86 +SymbolicName=SACDRV_86 +Language=English +Net: %%d, Ip=%%d.%%d.%%d.%%d Subnet=%%d.%%d.%%d.%%d Gateway=%%d.%%d.%%d.%%d +. + +MessageId=87 +SymbolicName=SACDRV_87 +Language=English +Date: %%02d/%%02d/%%02d Time (GMT): %%02d:%%02d +. + +MessageId=88 +SymbolicName=SACDRV_88 +Language=English +The year is restricted from 1980 to 2099. +. + +MessageId=89 +SymbolicName=SACDRV_89 +Language=English +That process has been killed and is being cleaned up by the system. +. + +MessageId=90 +SymbolicName=SACDRV_90 +Language=English +A duplicate process id is being cleaned up by the system. Try the \ncommand again in a few seconds. +. + +MessageId=92 +SymbolicName=SACDRV_92 +Language=English + Computer Name: %%ws +. + +MessageId=93 +SymbolicName=SACDRV_93 +Language=English + Computer GUID: %%ws +. + +MessageId=94 +SymbolicName=SACDRV_94 +Language=English + Processor Architecture: %%ws +. + +MessageId=95 +SymbolicName=SACDRV_95 +Language=English + Build Number: %%ws +. + +MessageId=96 +SymbolicName=SACDRV_96 +Language=English + Product: %%ws +. + +MessageId=97 +SymbolicName=SACDRV_97 +Language=English + Applied Service Pack: %%ws +. + +MessageId=98 +SymbolicName=SACDRV_98 +Language=English +None%0 +. + +MessageId=99 +SymbolicName=SACDRV_99 +Language=English + Version Number: %%ws +. + +MessageId=100 +SymbolicName=SACDRV_100 +Language=English +Windows Server 2003 Datacenter Edition%0 +. + +MessageId=101 +SymbolicName=SACDRV_101 +Language=English +Windows Server 2003 Embedded%0 +. + +MessageId=102 +SymbolicName=SACDRV_102 +Language=English +Windows Server 2003 Enterprise Edition%0 +. + +MessageId=103 +SymbolicName=SACDRV_103 +Language=English +Windows Server 2003%0 +. + +MessageId=104 +SymbolicName=SACDRV_104 +Language=English +Computer identification information is unavailable. +. + +MessageId=105 +SymbolicName=SACDRV_105 +Language=English +Unrecognized command. Try the 'help' command for more details. +. + +MessageId=106 +SymbolicName=SACDRV_106 +Language=English +Error: The SAC channel cannot be closed. +. + +MessageId=107 +SymbolicName=SACDRV_107 +Language=English +Error: Could not find a channel with that name. +. + +MessageId=108 +SymbolicName=SACDRV_108 +Language=English +Channel List\n \n(Use \"ch -?\" for information on using channels)\n\n# Status Channel Name +. + +MessageId=109 +SymbolicName=SACDRV_109 +Language=English +EVENT: A new channel has been created. Use \"ch -?\" for channel help.\nChannel: %%s +. + +MessageId=110 +SymbolicName=SACDRV_110 +Language=English +EVENT: A channel has been closed.\nChannel: %%s +. + +MessageId=111 +SymbolicName=SACDRV_111 +Language=English +Name: %%s\nDescription: %%s\nType: %%s\nChannel GUID: %%08lx-%%04x-%%04x-%%02x%%02x-%%02x%%02x%%02x%%02x%%02x%%02x\nApplication Type GUID: %%08lx-%%04x-%%04x-%%02x%%02x-%%02x%%02x%%02x%%02x%%02x%%02x\n\nPress for next channel.\nPress 0 to return to the SAC channel.\nUse any other key to view this channel.\n +. + +MessageId=112 +SymbolicName=SACDRV_112 +Language=English +ch Channel management commands. Use ch -? for more help. +. + +MessageId=113 +SymbolicName=SACDRV_113 +Language=English + Time since last reboot: %%d:%%02d:%%02d +. + +MessageId=114 +SymbolicName=SACDRV_114 +Language=English +SAC preparing to restart the system. +. + +MessageId=115 +SymbolicName=SACDRV_115 +Language=English +SAC preparing to shutdown the system. +. + +MessageId=116 +SymbolicName=SACDRV_116 +Language=English +Error! Failed to remove channel! \n\nPlease contact your system administrator.\n +. + +MessageId=119 +SymbolicName=SACDRV_119 +Language=English +cmd Create a Command Prompt channel. +. + +MessageId=120 +SymbolicName=SACDRV_120 +Language=English +Timeout: Unable to launch a Command Prompt. The service responsible for \n launching Command Prompt channels has timed out. This may be \n because the service is malfunctioning or is unresponsive. +. + +MessageId=121 +SymbolicName=SACDRV_121 +Language=English +The Command Prompt session was successfully launched. +. + +MessageId=128 +SymbolicName=SACDRV_128 +Language=English +Error: The SAC Command Console session failed to be created. +. + +MessageId=131 +SymbolicName=SACDRV_131 +Language=English +Error: Unable to launch a Command Prompt. The service responsible for launching\n Command Prompt channels has not yet registered. This may be because the\n service is not yet started, is disabled by the administrator, is\n malfunctioning or is unresponsive. +. + +MessageId=132 +SymbolicName=SACDRV_132 +Language=English +EVENT: The CMD command is now available. +. + +MessageId=133 +SymbolicName=SACDRV_133 +Language=English +EVENT: The CMD command is unavailable. +. + +MessageId=134 +SymbolicName=SACDRV_134 +Language=English +EVENT: An attempt was made to close a channel but failed.\nChannel: %%s +. + +MessageId=135 +SymbolicName=SACDRV_135 +Language=English +EVENT: An attempt to close a channel failed because it is already closed.\nChannel: %%s +. + +MessageId=136 +SymbolicName=SACDRV_136 +Language=English +Channel management commands:\n\nch List all channels.\n\nStatus Legend: (AB)\nA: Channel operational status\n 'A' = Channel is active.\n 'I' = Channel is inactive.\nB: Channel Type\n 'V' = VT-UTF8 emulation.\n 'R' = Raw - no emulation.\n\nch -si <#> Switch to a channel by its number.\nch -sn Switch to a channel by its name.\nch -ci <#> Close a channel by its number.\nch -cn Close a channel by its name.\n\nPress to select a channel.\nPress 0 to return to the SAC channel. +. + +MessageId=137 +SymbolicName=SACDRV_137 +Language=English +Error: There is no channel present at the specified index. +. + +MessageId=144 +SymbolicName=SACDRV_144 +Language=English +SAC%0 +. + +MessageId=145 +SymbolicName=SACDRV_145 +Language=English +Special Administration Console%0 +. + +MessageId=146 +SymbolicName=SACDRV_146 +Language=English +Command Prompt%0 +. + +MessageId=147 +SymbolicName=SACDRV_147 +Language=English +Locked access to all Command Prompt channels. +. + +MessageId=148 +SymbolicName=SACDRV_148 +Language=English +Launching of Command Prompt channels is disabled. +. + +MessageId=149 +SymbolicName=SACDRV_149 +Language=English +The specified subnet mask is invalid. +. + +MessageId=150 +SymbolicName=SACDRV_150 +Language=English +Error, missing network interface number. +. + +MessageId=151 +SymbolicName=SACDRV_151 +Language=English +The specified IP address is invalid. +. + +MessageId=152 +SymbolicName=SACDRV_152 +Language=English +The specified gateway IP address is invalid. +. + +MessageId=153 +SymbolicName=SACDRV_153 +Language=English +not yet initialized%0 +. + +MessageId=154 +SymbolicName=SACDRV_154 +Language=English +The maximum number of channels has been reached. +.