Patch by Anton Yarotsky:

[SACDRV]: Implement SAC EMS stub driver. Thanks to Aleksey Bragin for MC file.

svn path=/trunk/; revision=52304
This commit is contained in:
Sir Richard 2011-06-17 11:04:45 +00:00
parent 42c3b191e3
commit 3fd38cd98c
19 changed files with 2586 additions and 0 deletions

View file

@ -34,6 +34,9 @@
<directory name="parallel">
<xi:include href="parallel/directory.rbuild" />
</directory>
<directory name="sac">
<xi:include href="sac/directory.rbuild" />
</directory>
<directory name="serial">
<xi:include href="serial/directory.rbuild" />
</directory>

View file

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
<group xmlns:xi="http://www.w3.org/2001/XInclude">
<directory name="driver">
<xi:include href="driver/sacdrv.rbuild" />
</directory>
</group>

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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
)
{
}

View file

@ -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
)
{
}

View file

@ -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;
}

View file

@ -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
)
{
}

View file

@ -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;
}

View file

@ -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
)
{
}

View file

@ -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;
}

View file

@ -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 <ntddk.h>
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;

View file

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="sacdrv" type="kernelmodedriver" installbase="system32/drivers" installname="sacdrv.sys">
<bootstrap installbase="$(CDOUTPUT)/system32/drivers" />
<include base="sacdrv">.</include>
<library>ntoskrnl</library>
<library>hal</library>
<dependency>sacmsg</dependency>
<if property="ARCH" value="i386">
<group compilerset="gcc">
<compilerflag>-mrtd</compilerflag>
<compilerflag>-fno-builtin</compilerflag>
</group>
</if>
<pch>sacdrv.h</pch>
<file>chanmgr.c</file>
<file>channel.c</file>
<file>cmdchan.c</file>
<file>concmd.c</file>
<file>conmgr.c</file>
<file>data.c</file>
<file>dispatch.c</file>
<file>init.c</file>
<file>memory.c</file>
<file>rawchan.c</file>
<file>util.c</file>
<file>vtutf8chan.c</file>
<file>sacdrv.rc</file>
</module>

View file

@ -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 <winver.h>
#include <ntverp.h>
//
// 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"

View file

@ -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;
}

View file

@ -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;
}

View file

@ -24,4 +24,8 @@
<module name="ntiologc" type="messageheader">
<file>ntiologc.mc</file>
</module>
<module name="sacmsg" type="messageheader">
<file>sacmsg.mc</file>
</module>
</group>

View file

@ -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 <#> <ip> <subnet> <gateway> Set IP addr., subnet and gateway.
.
MessageId=18
SymbolicName=SACDRV_18
Language=English
k <pid> Kill the given process.
.
MessageId=19
SymbolicName=SACDRV_19
Language=English
l <pid> Lower the priority of a process to the lowest possible.
.
MessageId=20
SymbolicName=SACDRV_20
Language=English
m <pid> <MB-allow> Limit the memory usage of a process to <MB-allow>.
.
MessageId=21
SymbolicName=SACDRV_21
Language=English
p Toggle paging the display.
.
MessageId=22
SymbolicName=SACDRV_22
Language=English
r <pid> 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 <Enter> 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 <esc><tab> for next channel.\nPress <esc><tab>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 <name> Switch to a channel by its name.\nch -ci <#> Close a channel by its number.\nch -cn <name> Close a channel by its name.\n\nPress <esc><tab> to select a channel.\nPress <esc><tab>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.
.