mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:42:57 +00:00
Revert r39517, as there is no reason for such a change: files are consistently formatted, don't belong to ntoskrnl, use tabs only for indenting and not for formatting, and formatting revisions complicate svn blame feature usage.
svn path=/trunk/; revision=39553
This commit is contained in:
parent
b4f50046ff
commit
0560eef6ec
11 changed files with 3380 additions and 3295 deletions
|
@ -13,7 +13,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042Create(IN PDEVICE_OBJECT DeviceObject,
|
i8042Create(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
TRACE_(I8042PRT, "IRP_MJ_CREATE\n");
|
TRACE_(I8042PRT, "IRP_MJ_CREATE\n");
|
||||||
|
@ -25,7 +26,8 @@ i8042Create(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042Cleanup(IN PDEVICE_OBJECT DeviceObject,
|
i8042Cleanup(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
TRACE_(I8042PRT, "IRP_MJ_CLEANUP\n");
|
TRACE_(I8042PRT, "IRP_MJ_CLEANUP\n");
|
||||||
|
@ -37,7 +39,8 @@ i8042Cleanup(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042Close(IN PDEVICE_OBJECT DeviceObject,
|
i8042Close(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
TRACE_(I8042PRT, "IRP_MJ_CLOSE\n");
|
TRACE_(I8042PRT, "IRP_MJ_CLOSE\n");
|
||||||
|
|
|
@ -23,7 +23,8 @@ static DRIVER_DISPATCH i8042InternalDeviceControl;
|
||||||
DRIVER_INITIALIZE DriverEntry;
|
DRIVER_INITIALIZE DriverEntry;
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042AddDevice(IN PDRIVER_OBJECT DriverObject,
|
i8042AddDevice(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PDEVICE_OBJECT Pdo)
|
IN PDEVICE_OBJECT Pdo)
|
||||||
{
|
{
|
||||||
PI8042_DRIVER_EXTENSION DriverExtension;
|
PI8042_DRIVER_EXTENSION DriverExtension;
|
||||||
|
@ -90,7 +91,8 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID NTAPI
|
VOID NTAPI
|
||||||
i8042SendHookWorkItem(IN PDEVICE_OBJECT DeviceObject,
|
i8042SendHookWorkItem(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PVOID Context)
|
IN PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_HOOK_WORKITEM WorkItemData;
|
PI8042_HOOK_WORKITEM WorkItemData;
|
||||||
|
@ -214,7 +216,8 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042StartIo(IN PDEVICE_OBJECT DeviceObject,
|
i8042StartIo(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PFDO_DEVICE_EXTENSION DeviceExtension;
|
PFDO_DEVICE_EXTENSION DeviceExtension;
|
||||||
|
@ -236,7 +239,8 @@ i8042StartIo(IN PDEVICE_OBJECT DeviceObject,
|
||||||
* of problems.
|
* of problems.
|
||||||
*/
|
*/
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
i8042PacketWrite(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042PacketWrite(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
UCHAR Port = DeviceExtension->PacketPort;
|
UCHAR Port = DeviceExtension->PacketPort;
|
||||||
|
|
||||||
|
@ -258,7 +262,8 @@ i8042PacketWrite(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042PacketIsr(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042PacketIsr(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Output)
|
IN UCHAR Output)
|
||||||
{
|
{
|
||||||
if (DeviceExtension->Packet.State == Idle)
|
if (DeviceExtension->Packet.State == Idle)
|
||||||
|
@ -315,7 +320,8 @@ i8042PacketIsr(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
* correct DIRQL.
|
* correct DIRQL.
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042StartPacket(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042StartPacket(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN PFDO_DEVICE_EXTENSION FdoDeviceExtension,
|
IN PFDO_DEVICE_EXTENSION FdoDeviceExtension,
|
||||||
IN PUCHAR Bytes,
|
IN PUCHAR Bytes,
|
||||||
IN ULONG ByteCount,
|
IN ULONG ByteCount,
|
||||||
|
@ -375,7 +381,8 @@ done:
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS NTAPI
|
static NTSTATUS NTAPI
|
||||||
IrpStub(IN PDEVICE_OBJECT DeviceObject,
|
IrpStub(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
NTSTATUS Status = Irp->IoStatus.Status;
|
NTSTATUS Status = Irp->IoStatus.Status;
|
||||||
|
@ -387,7 +394,8 @@ IrpStub(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS NTAPI
|
static NTSTATUS NTAPI
|
||||||
i8042DeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
i8042DeviceControl(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PFDO_DEVICE_EXTENSION DeviceExtension;
|
PFDO_DEVICE_EXTENSION DeviceExtension;
|
||||||
|
@ -409,7 +417,8 @@ i8042DeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS NTAPI
|
static NTSTATUS NTAPI
|
||||||
i8042InternalDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
i8042InternalDeviceControl(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PFDO_DEVICE_EXTENSION DeviceExtension;
|
PFDO_DEVICE_EXTENSION DeviceExtension;
|
||||||
|
@ -458,7 +467,8 @@ i8042InternalDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
DriverEntry(IN PDRIVER_OBJECT DriverObject,
|
DriverEntry(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PUNICODE_STRING RegistryPath)
|
IN PUNICODE_STRING RegistryPath)
|
||||||
{
|
{
|
||||||
PI8042_DRIVER_EXTENSION DriverExtension;
|
PI8042_DRIVER_EXTENSION DriverExtension;
|
||||||
|
|
|
@ -305,7 +305,8 @@ DRIVER_DISPATCH i8042Close;
|
||||||
/* keyboard.c */
|
/* keyboard.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchWritePortKbd(IN PVOID Context,
|
i8042SynchWritePortKbd(
|
||||||
|
IN PVOID Context,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN BOOLEAN WaitForAck);
|
IN BOOLEAN WaitForAck);
|
||||||
|
|
||||||
|
@ -322,11 +323,13 @@ KSERVICE_ROUTINE i8042KbdInterruptService;
|
||||||
DRIVER_ADD_DEVICE i8042AddDevice;
|
DRIVER_ADD_DEVICE i8042AddDevice;
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042PacketIsr(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042PacketIsr(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Output);
|
IN UCHAR Output);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042StartPacket(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042StartPacket(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN PFDO_DEVICE_EXTENSION FdoDeviceExtension,
|
IN PFDO_DEVICE_EXTENSION FdoDeviceExtension,
|
||||||
IN PUCHAR Bytes,
|
IN PUCHAR Bytes,
|
||||||
IN ULONG ByteCount,
|
IN ULONG ByteCount,
|
||||||
|
@ -339,22 +342,26 @@ DRIVER_DISPATCH ForwardIrpAndForget;
|
||||||
DRIVER_DISPATCH ForwardIrpAndWait;
|
DRIVER_DISPATCH ForwardIrpAndWait;
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
DuplicateUnicodeString(IN ULONG Flags,
|
DuplicateUnicodeString(
|
||||||
|
IN ULONG Flags,
|
||||||
IN PCUNICODE_STRING SourceString,
|
IN PCUNICODE_STRING SourceString,
|
||||||
OUT PUNICODE_STRING DestinationString);
|
OUT PUNICODE_STRING DestinationString);
|
||||||
|
|
||||||
/* mouse.c */
|
/* mouse.c */
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandle(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandle(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Output);
|
IN UCHAR Output);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandleButtons(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandleButtons(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN USHORT Mask);
|
IN USHORT Mask);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042MouInitialize(IN PI8042_MOUSE_EXTENSION DeviceExtension);
|
i8042MouInitialize(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension);
|
||||||
|
|
||||||
DRIVER_DISPATCH i8042MouInternalDeviceControl;
|
DRIVER_DISPATCH i8042MouInternalDeviceControl;
|
||||||
|
|
||||||
|
@ -363,7 +370,8 @@ KSERVICE_ROUTINE i8042MouInterruptService;
|
||||||
/* pnp.c */
|
/* pnp.c */
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042ChangeMode(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ChangeMode(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR FlagsToDisable,
|
IN UCHAR FlagsToDisable,
|
||||||
IN UCHAR FlagsToEnable);
|
IN UCHAR FlagsToEnable);
|
||||||
|
|
||||||
|
@ -371,21 +379,25 @@ DRIVER_DISPATCH i8042Pnp;
|
||||||
|
|
||||||
/* ps2pp.c */
|
/* ps2pp.c */
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandlePs2pp(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandlePs2pp(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Input);
|
IN UCHAR Input);
|
||||||
|
|
||||||
/* readwrite.c */
|
/* readwrite.c */
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042Flush(IN PPORT_DEVICE_EXTENSION DeviceExtension);
|
i8042Flush(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042IsrWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042IsrWritePort(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN UCHAR SelectCmd OPTIONAL);
|
IN UCHAR SelectCmd OPTIONAL);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadData(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadData(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR StatusFlags,
|
IN UCHAR StatusFlags,
|
||||||
OUT PUCHAR Data);
|
OUT PUCHAR Data);
|
||||||
#define i8042ReadKeyboardData(DeviceExtension, Data) \
|
#define i8042ReadKeyboardData(DeviceExtension, Data) \
|
||||||
|
@ -394,42 +406,50 @@ i8042ReadData(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
i8042ReadData(DeviceExtension, MOU_OBF, Data)
|
i8042ReadData(DeviceExtension, MOU_OBF, Data)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadDataWait(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadDataWait(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
OUT PUCHAR Data);
|
OUT PUCHAR Data);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadStatus(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadStatus(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
OUT PUCHAR Status);
|
OUT PUCHAR Status);
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchReadPort(IN PVOID Context,
|
i8042SynchReadPort(
|
||||||
|
IN PVOID Context,
|
||||||
OUT PUCHAR Value,
|
OUT PUCHAR Value,
|
||||||
IN BOOLEAN WaitForAck);
|
IN BOOLEAN WaitForAck);
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042SynchWritePort(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Port,
|
IN UCHAR Port,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN BOOLEAN WaitForAck);
|
IN BOOLEAN WaitForAck);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042Write(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042Write(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN PUCHAR addr,
|
IN PUCHAR addr,
|
||||||
IN UCHAR data);
|
IN UCHAR data);
|
||||||
|
|
||||||
/* registry.c */
|
/* registry.c */
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
ReadRegistryEntries(IN PUNICODE_STRING RegistryPath,
|
ReadRegistryEntries(
|
||||||
|
IN PUNICODE_STRING RegistryPath,
|
||||||
OUT PI8042_SETTINGS Settings);
|
OUT PI8042_SETTINGS Settings);
|
||||||
|
|
||||||
/* setup.c */
|
/* setup.c */
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
IsFirstStageSetup(VOID);
|
IsFirstStageSetup(
|
||||||
|
VOID);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042AddLegacyKeyboard(IN PDRIVER_OBJECT DriverObject,
|
i8042AddLegacyKeyboard(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PUNICODE_STRING RegistryPath);
|
IN PUNICODE_STRING RegistryPath);
|
||||||
|
|
||||||
#endif // _I8042PRT_H_
|
#endif // _I8042PRT_H_
|
||||||
|
|
|
@ -35,7 +35,8 @@ static LOCAL_KEYBOARD_INDICATOR_TRANSLATION IndicatorTranslation = { 3, {
|
||||||
#define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
|
#define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042DebugWorkItem(IN PDEVICE_OBJECT DeviceObject,
|
i8042DebugWorkItem(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PVOID Key)
|
IN PVOID Key)
|
||||||
{
|
{
|
||||||
INFO_(I8042PRT, "Debug key: p\n", Key);
|
INFO_(I8042PRT, "Debug key: p\n", Key);
|
||||||
|
@ -73,7 +74,8 @@ i8042IsrWritePort(Context, Value, 0);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042KbdQueuePacket(IN PVOID Context)
|
i8042KbdQueuePacket(
|
||||||
|
IN PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
||||||
|
|
||||||
|
@ -96,11 +98,13 @@ i8042KbdQueuePacket(IN PVOID Context)
|
||||||
* initialization routines.
|
* initialization routines.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchWritePortKbd(IN PVOID Context,
|
i8042SynchWritePortKbd(
|
||||||
|
IN PVOID Context,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN BOOLEAN WaitForAck)
|
IN BOOLEAN WaitForAck)
|
||||||
{
|
{
|
||||||
return i8042SynchWritePort((PPORT_DEVICE_EXTENSION)Context,
|
return i8042SynchWritePort(
|
||||||
|
(PPORT_DEVICE_EXTENSION)Context,
|
||||||
0,
|
0,
|
||||||
Value,
|
Value,
|
||||||
WaitForAck);
|
WaitForAck);
|
||||||
|
@ -110,7 +114,8 @@ i8042SynchWritePortKbd(IN PVOID Context,
|
||||||
* Process the keyboard internal device requests
|
* Process the keyboard internal device requests
|
||||||
*/
|
*/
|
||||||
VOID NTAPI
|
VOID NTAPI
|
||||||
i8042KbdStartIo(IN PDEVICE_OBJECT DeviceObject,
|
i8042KbdStartIo(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
|
@ -160,7 +165,8 @@ i8042KbdStartIo(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
i8042PacketDpc(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042PacketDpc(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
BOOLEAN FinishIrp = FALSE;
|
BOOLEAN FinishIrp = FALSE;
|
||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
|
@ -197,7 +203,8 @@ i8042PacketDpc(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042PowerWorkItem(IN PDEVICE_OBJECT DeviceObject,
|
i8042PowerWorkItem(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PVOID Context)
|
IN PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
||||||
|
@ -280,7 +287,8 @@ i8042PowerWorkItem(IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
/* Return TRUE if it was a power key */
|
/* Return TRUE if it was a power key */
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
HandlePowerKeys(IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
HandlePowerKeys(
|
||||||
|
IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
PKEYBOARD_INPUT_DATA InputData;
|
PKEYBOARD_INPUT_DATA InputData;
|
||||||
ULONG KeyPress;
|
ULONG KeyPress;
|
||||||
|
@ -320,7 +328,8 @@ HandlePowerKeys(IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042KbdDpcRoutine(IN PKDPC Dpc,
|
i8042KbdDpcRoutine(
|
||||||
|
IN PKDPC Dpc,
|
||||||
IN PVOID DeferredContext,
|
IN PVOID DeferredContext,
|
||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2)
|
IN PVOID SystemArgument2)
|
||||||
|
@ -395,7 +404,8 @@ i8042KbdDpcRoutine(IN PKDPC Dpc,
|
||||||
* Runs the keyboard IOCTL dispatch.
|
* Runs the keyboard IOCTL dispatch.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042KbdDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
i8042KbdDeviceControl(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
|
@ -496,7 +506,8 @@ i8042KbdDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
||||||
* Runs the keyboard IOCTL_INTERNAL dispatch.
|
* Runs the keyboard IOCTL_INTERNAL dispatch.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042KbdInternalDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
i8042KbdInternalDeviceControl(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
|
@ -705,7 +716,8 @@ cleanup:
|
||||||
* should try to handle the interrupt)
|
* should try to handle the interrupt)
|
||||||
*/
|
*/
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
i8042KbdCallIsrHook(IN PI8042_KEYBOARD_EXTENSION DeviceExtension,
|
i8042KbdCallIsrHook(
|
||||||
|
IN PI8042_KEYBOARD_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Status,
|
IN UCHAR Status,
|
||||||
IN UCHAR Input,
|
IN UCHAR Input,
|
||||||
OUT PBOOLEAN ToReturn)
|
OUT PBOOLEAN ToReturn)
|
||||||
|
@ -735,7 +747,8 @@ i8042KbdCallIsrHook(IN PI8042_KEYBOARD_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN NTAPI
|
BOOLEAN NTAPI
|
||||||
i8042KbdInterruptService(IN PKINTERRUPT Interrupt,
|
i8042KbdInterruptService(
|
||||||
|
IN PKINTERRUPT Interrupt,
|
||||||
PVOID Context)
|
PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
PI8042_KEYBOARD_EXTENSION DeviceExtension;
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject,
|
ForwardIrpAndWait(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PDEVICE_OBJECT LowerDevice = ((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->LowerDevice;
|
PDEVICE_OBJECT LowerDevice = ((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->LowerDevice;
|
||||||
|
@ -27,7 +28,8 @@ ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
ForwardIrpAndForget(IN PDEVICE_OBJECT DeviceObject,
|
ForwardIrpAndForget(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PDEVICE_OBJECT LowerDevice = ((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->LowerDevice;
|
PDEVICE_OBJECT LowerDevice = ((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->LowerDevice;
|
||||||
|
@ -39,7 +41,8 @@ ForwardIrpAndForget(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
DuplicateUnicodeString(IN ULONG Flags,
|
DuplicateUnicodeString(
|
||||||
|
IN ULONG Flags,
|
||||||
IN PCUNICODE_STRING SourceString,
|
IN PCUNICODE_STRING SourceString,
|
||||||
OUT PUNICODE_STRING DestinationString)
|
OUT PUNICODE_STRING DestinationString)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
* service routines.
|
* service routines.
|
||||||
*/
|
*/
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042MouIsrWritePort(IN PVOID Context,
|
i8042MouIsrWritePort(
|
||||||
|
IN PVOID Context,
|
||||||
IN UCHAR Value)
|
IN UCHAR Value)
|
||||||
{
|
{
|
||||||
PI8042_MOUSE_EXTENSION DeviceExtension;
|
PI8042_MOUSE_EXTENSION DeviceExtension;
|
||||||
|
@ -39,7 +40,8 @@ i8042MouIsrWritePort(IN PVOID Context,
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042MouQueuePacket(IN PVOID Context)
|
i8042MouQueuePacket(
|
||||||
|
IN PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_MOUSE_EXTENSION DeviceExtension;
|
PI8042_MOUSE_EXTENSION DeviceExtension;
|
||||||
|
|
||||||
|
@ -58,7 +60,8 @@ i8042MouQueuePacket(IN PVOID Context)
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandle(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandle(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Output)
|
IN UCHAR Output)
|
||||||
{
|
{
|
||||||
PMOUSE_INPUT_DATA MouseInput;
|
PMOUSE_INPUT_DATA MouseInput;
|
||||||
|
@ -180,7 +183,8 @@ i8042MouHandle(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
* Only takes in account the bits that are set in Mask
|
* Only takes in account the bits that are set in Mask
|
||||||
*/
|
*/
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandleButtons(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandleButtons(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN USHORT Mask)
|
IN USHORT Mask)
|
||||||
{
|
{
|
||||||
PMOUSE_INPUT_DATA MouseInput;
|
PMOUSE_INPUT_DATA MouseInput;
|
||||||
|
@ -212,7 +216,8 @@ i8042MouHandleButtons(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
* is called just before connecting the interrupt.
|
* is called just before connecting the interrupt.
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042MouInitialize(IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
i8042MouInitialize(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UCHAR Value;
|
UCHAR Value;
|
||||||
|
@ -245,7 +250,8 @@ i8042MouInitialize(IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042MouDpcRoutine(IN PKDPC Dpc,
|
i8042MouDpcRoutine(
|
||||||
|
IN PKDPC Dpc,
|
||||||
IN PVOID DeferredContext,
|
IN PVOID DeferredContext,
|
||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2)
|
IN PVOID SystemArgument2)
|
||||||
|
@ -332,7 +338,8 @@ i8042MouDpcRoutine(IN PKDPC Dpc,
|
||||||
* and say the mouse doesn't exist.
|
* and say the mouse doesn't exist.
|
||||||
*/
|
*/
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
i8042DpcRoutineMouseTimeout(IN PKDPC Dpc,
|
i8042DpcRoutineMouseTimeout(
|
||||||
|
IN PKDPC Dpc,
|
||||||
IN PVOID DeferredContext,
|
IN PVOID DeferredContext,
|
||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2)
|
IN PVOID SystemArgument2)
|
||||||
|
@ -362,7 +369,8 @@ i8042DpcRoutineMouseTimeout(IN PKDPC Dpc,
|
||||||
* Runs the mouse IOCTL_INTERNAL dispatch.
|
* Runs the mouse IOCTL_INTERNAL dispatch.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042MouInternalDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
i8042MouInternalDeviceControl(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
|
@ -505,7 +513,8 @@ cleanup:
|
||||||
* drop invalid input packets.
|
* drop invalid input packets.
|
||||||
*/
|
*/
|
||||||
static VOID
|
static VOID
|
||||||
i8042MouInputTestTimeout(IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
i8042MouInputTestTimeout(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
ULARGE_INTEGER Now;
|
ULARGE_INTEGER Now;
|
||||||
|
|
||||||
|
@ -536,7 +545,8 @@ i8042MouInputTestTimeout(IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
||||||
* should try to handle the interrupt)
|
* should try to handle the interrupt)
|
||||||
*/
|
*/
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
i8042MouCallIsrHook(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouCallIsrHook(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Status,
|
IN UCHAR Status,
|
||||||
IN UCHAR Input,
|
IN UCHAR Input,
|
||||||
OUT PBOOLEAN ToReturn)
|
OUT PBOOLEAN ToReturn)
|
||||||
|
@ -567,7 +577,8 @@ i8042MouCallIsrHook(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
i8042MouResetIsr(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouResetIsr(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Status,
|
IN UCHAR Status,
|
||||||
IN UCHAR Value)
|
IN UCHAR Value)
|
||||||
{
|
{
|
||||||
|
@ -817,7 +828,8 @@ i8042MouResetIsr(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN NTAPI
|
BOOLEAN NTAPI
|
||||||
i8042MouInterruptService(IN PKINTERRUPT Interrupt,
|
i8042MouInterruptService(
|
||||||
|
IN PKINTERRUPT Interrupt,
|
||||||
PVOID Context)
|
PVOID Context)
|
||||||
{
|
{
|
||||||
PI8042_MOUSE_EXTENSION DeviceExtension;
|
PI8042_MOUSE_EXTENSION DeviceExtension;
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
* some kvm switches.
|
* some kvm switches.
|
||||||
*/
|
*/
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042ChangeMode(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ChangeMode(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR FlagsToDisable,
|
IN UCHAR FlagsToDisable,
|
||||||
IN UCHAR FlagsToEnable)
|
IN UCHAR FlagsToEnable)
|
||||||
{
|
{
|
||||||
|
@ -71,7 +72,8 @@ i8042ChangeMode(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
i8042BasicDetect(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042BasicDetect(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ULONG ResendIterations;
|
ULONG ResendIterations;
|
||||||
|
@ -122,7 +124,8 @@ i8042BasicDetect(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
i8042DetectKeyboard(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042DetectKeyboard(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
@ -157,7 +160,8 @@ i8042DetectKeyboard(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
i8042DetectMouse(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042DetectMouse(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UCHAR Value;
|
UCHAR Value;
|
||||||
|
@ -258,7 +262,8 @@ failure:
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
i8042ConnectKeyboardInterrupt(IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
i8042ConnectKeyboardInterrupt(
|
||||||
|
IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
PPORT_DEVICE_EXTENSION PortDeviceExtension;
|
PPORT_DEVICE_EXTENSION PortDeviceExtension;
|
||||||
KIRQL DirqlMax;
|
KIRQL DirqlMax;
|
||||||
|
@ -303,7 +308,8 @@ i8042ConnectKeyboardInterrupt(IN PI8042_KEYBOARD_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
i8042ConnectMouseInterrupt(IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
i8042ConnectMouseInterrupt(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
PPORT_DEVICE_EXTENSION PortDeviceExtension;
|
PPORT_DEVICE_EXTENSION PortDeviceExtension;
|
||||||
KIRQL DirqlMax;
|
KIRQL DirqlMax;
|
||||||
|
@ -365,7 +371,8 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
EnableInterrupts(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
EnableInterrupts(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR FlagsToDisable,
|
IN UCHAR FlagsToDisable,
|
||||||
IN UCHAR FlagsToEnable)
|
IN UCHAR FlagsToEnable)
|
||||||
{
|
{
|
||||||
|
@ -388,7 +395,8 @@ EnableInterrupts(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
StartProcedure(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
StartProcedure(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UCHAR FlagsToDisable = 0;
|
UCHAR FlagsToDisable = 0;
|
||||||
|
@ -468,7 +476,8 @@ StartProcedure(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
i8042PnpStartDevice(IN PDEVICE_OBJECT DeviceObject,
|
i8042PnpStartDevice(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PCM_RESOURCE_LIST AllocatedResources,
|
IN PCM_RESOURCE_LIST AllocatedResources,
|
||||||
IN PCM_RESOURCE_LIST AllocatedResourcesTranslated)
|
IN PCM_RESOURCE_LIST AllocatedResourcesTranslated)
|
||||||
{
|
{
|
||||||
|
@ -622,7 +631,8 @@ i8042PnpStartDevice(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042Pnp(IN PDEVICE_OBJECT DeviceObject,
|
i8042Pnp(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp)
|
IN PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042MouHandlePs2pp(IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
i8042MouHandlePs2pp(
|
||||||
|
IN PI8042_MOUSE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Input)
|
IN UCHAR Input)
|
||||||
{
|
{
|
||||||
UCHAR PktType;
|
UCHAR PktType;
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
i8042Flush(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
i8042Flush(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
UCHAR Ignore;
|
UCHAR Ignore;
|
||||||
|
|
||||||
|
@ -34,7 +35,8 @@ i8042Flush(IN PPORT_DEVICE_EXTENSION DeviceExtension)
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042IsrWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042IsrWritePort(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN UCHAR SelectCmd OPTIONAL)
|
IN UCHAR SelectCmd OPTIONAL)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +51,8 @@ i8042IsrWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
* FUNCTION: Read data from port 0x60
|
* FUNCTION: Read data from port 0x60
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadData(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadData(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR StatusFlags,
|
IN UCHAR StatusFlags,
|
||||||
OUT PUCHAR Data)
|
OUT PUCHAR Data)
|
||||||
{
|
{
|
||||||
|
@ -74,7 +77,8 @@ i8042ReadData(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadStatus(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadStatus(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
OUT PUCHAR Status)
|
OUT PUCHAR Status)
|
||||||
{
|
{
|
||||||
ASSERT(DeviceExtension->ControlPort != NULL);
|
ASSERT(DeviceExtension->ControlPort != NULL);
|
||||||
|
@ -86,7 +90,8 @@ i8042ReadStatus(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
* FUNCTION: Read data from data port
|
* FUNCTION: Read data from data port
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042ReadDataWait(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042ReadDataWait(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
OUT PUCHAR Data)
|
OUT PUCHAR Data)
|
||||||
{
|
{
|
||||||
ULONG Counter;
|
ULONG Counter;
|
||||||
|
@ -115,7 +120,8 @@ i8042ReadDataWait(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
* WaitForAck parameter to be ignored.
|
* WaitForAck parameter to be ignored.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchReadPort(IN PVOID Context,
|
i8042SynchReadPort(
|
||||||
|
IN PVOID Context,
|
||||||
OUT PUCHAR Value,
|
OUT PUCHAR Value,
|
||||||
IN BOOLEAN WaitForAck)
|
IN BOOLEAN WaitForAck)
|
||||||
{
|
{
|
||||||
|
@ -131,7 +137,8 @@ i8042SynchReadPort(IN PVOID Context,
|
||||||
* initialization routines.
|
* initialization routines.
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
i8042SynchWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042SynchWritePort(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN UCHAR Port,
|
IN UCHAR Port,
|
||||||
IN UCHAR Value,
|
IN UCHAR Value,
|
||||||
IN BOOLEAN WaitForAck)
|
IN BOOLEAN WaitForAck)
|
||||||
|
@ -185,7 +192,8 @@ i8042SynchWritePort(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
* FUNCTION: Write data to a port, waiting first for it to become ready
|
* FUNCTION: Write data to a port, waiting first for it to become ready
|
||||||
*/
|
*/
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
i8042Write(IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
i8042Write(
|
||||||
|
IN PPORT_DEVICE_EXTENSION DeviceExtension,
|
||||||
IN PUCHAR addr,
|
IN PUCHAR addr,
|
||||||
IN UCHAR data)
|
IN UCHAR data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
ReadRegistryEntries(IN PUNICODE_STRING RegistryPath,
|
ReadRegistryEntries(
|
||||||
|
IN PUNICODE_STRING RegistryPath,
|
||||||
OUT PI8042_SETTINGS Settings)
|
OUT PI8042_SETTINGS Settings)
|
||||||
{
|
{
|
||||||
RTL_QUERY_REGISTRY_TABLE Parameters[17];
|
RTL_QUERY_REGISTRY_TABLE Parameters[17];
|
||||||
|
|
|
@ -23,7 +23,8 @@
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
IsFirstStageSetup(VOID)
|
IsFirstStageSetup(
|
||||||
|
VOID)
|
||||||
{
|
{
|
||||||
UNICODE_STRING PathU = RTL_CONSTANT_STRING(L"\\REGISTRY\\MACHINE\\SYSTEM\\Setup");
|
UNICODE_STRING PathU = RTL_CONSTANT_STRING(L"\\REGISTRY\\MACHINE\\SYSTEM\\Setup");
|
||||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||||
|
@ -46,7 +47,8 @@ IsFirstStageSetup(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID NTAPI
|
static VOID NTAPI
|
||||||
SendStartDevice(IN PDRIVER_OBJECT DriverObject,
|
SendStartDevice(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PVOID Context,
|
IN PVOID Context,
|
||||||
IN ULONG Count)
|
IN ULONG Count)
|
||||||
{
|
{
|
||||||
|
@ -162,7 +164,8 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS
|
static NTSTATUS
|
||||||
AddRegistryEntry(IN PCWSTR PortTypeName,
|
AddRegistryEntry(
|
||||||
|
IN PCWSTR PortTypeName,
|
||||||
IN PUNICODE_STRING DeviceName,
|
IN PUNICODE_STRING DeviceName,
|
||||||
IN PCWSTR RegistryPath)
|
IN PCWSTR RegistryPath)
|
||||||
{
|
{
|
||||||
|
@ -208,7 +211,8 @@ cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
i8042AddLegacyKeyboard(IN PDRIVER_OBJECT DriverObject,
|
i8042AddLegacyKeyboard(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PUNICODE_STRING RegistryPath)
|
IN PUNICODE_STRING RegistryPath)
|
||||||
{
|
{
|
||||||
UNICODE_STRING KeyboardName = RTL_CONSTANT_STRING(L"\\Device\\KeyboardPort8042");
|
UNICODE_STRING KeyboardName = RTL_CONSTANT_STRING(L"\\Device\\KeyboardPort8042");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue