ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

i8042prt.h File Reference
#include <ntifs.h>
#include <kbdmou.h>
#include <ntdd8042.h>
#include <ntddkbd.h>
#include <bugcodes.h>
#include <poclass.h>
#include <kdfuncs.h>
#include <debug.h>

Go to the source code of this file.

Data Structures

struct  PI8042_SETTINGS
struct  PINTERRUPT_DATA
struct  PPORT_DEVICE_EXTENSION
struct  PI8042_DRIVER_EXTENSION
struct  PFDO_DEVICE_EXTENSION
struct  I8042_KEYBOARD_EXTENSION
struct  I8042_MOUSE_EXTENSION
struct  PI8042_HOOK_WORKITEM

Defines

#define I8042PRT_TAG   '2408'
#define WHEEL_DELTA   120
#define KEYBOARD_PRESENT   0x01 /* A keyboard is attached */
#define KEYBOARD_CONNECTED   0x02 /* Keyboard received IOCTL_INTERNAL_KEYBOARD_CONNECT */
#define KEYBOARD_STARTED   0x04 /* Keyboard FDO received IRP_MN_START_DEVICE */
#define KEYBOARD_INITIALIZED   0x08 /* Keyboard interrupt is connected */
#define MOUSE_PRESENT   0x10 /* A mouse is attached */
#define MOUSE_CONNECTED   0x20 /* Mouse received IOCTL_INTERNAL_MOUSE_CONNECT */
#define MOUSE_STARTED   0x40 /* Mouse FDO received IRP_MN_START_DEVICE */
#define MOUSE_INITIALIZED   0x80 /* Mouse interrupt is connected */
#define MAX(a, b)   ((a) >= (b) ? (a) : (b))
#define KEYBOARD_POWER_CODE   0x5E
#define KEYBOARD_SLEEP_CODE   0x5F
#define KEYBOARD_WAKE_CODE   0x63
#define KBD_READ_MODE   0x20
#define KBD_WRITE_MODE   0x60
#define MOUSE_ENAB   0xA8
#define MOUSE_LINE_TEST   0xA9
#define CTRL_SELF_TEST   0xAA
#define CTRL_WRITE_MOUSE   0xD4
#define KBD_CMD_SET_LEDS   0xED
#define KBD_CMD_GET_ID   0xF2
#define KBD_SELF_TEST_OK   0x55
#define KBD_ACK   0xFA
#define KBD_NACK   0xFC
#define KBD_RESEND   0xFE
#define KBD_OBF   0x01
#define KBD_IBF   0x02
#define MOU_OBF   0x20
#define KBD_PERR   0x80
#define CCB_KBD_INT_ENAB   0x01
#define CCB_MOUSE_INT_ENAB   0x02
#define CCB_SYSTEM_FLAG   0x04
#define CCB_KBD_DISAB   0x10
#define CCB_MOUSE_DISAB   0x20
#define CCB_TRANSLATE   0x40
#define KBD_LED_SCROLL   0x01
#define KBD_LED_NUM   0x02
#define KBD_LED_CAPS   0x04
#define MOU_ENAB   0xF4
#define MOU_CMD_RESET   0xFF
#define MOUSE_ACK   0xFA
#define MOUSE_ERROR   0xFC
#define MOUSE_NACK   0xFE
#define i8042ReadKeyboardData(DeviceExtension, Data)   i8042ReadData(DeviceExtension, KBD_OBF, Data)
#define i8042ReadMouseData(DeviceExtension, Data)   i8042ReadData(DeviceExtension, MOU_OBF, Data)

Typedefs

typedef enum _MOUSE_TIMEOUT_STATE * PMOUSE_TIMEOUT_STATE
typedef struct
_I8042_KEYBOARD_EXTENSION * 
PI8042_KEYBOARD_EXTENSION
typedef struct
_I8042_MOUSE_EXTENSION * 
PI8042_MOUSE_EXTENSION
typedef enum _I8042_DEVICE_TYPE * PI8042_DEVICE_TYPE
typedef enum _I8042_MOUSE_TYPE * PI8042_MOUSE_TYPE

Enumerations

enum  DEVICE_STATE {
  dsStopped, dsStarted, dsPaused, dsRemoved,
  dsSurpriseRemoved, NotStarted = 0, Started, StopPending,
  Stopped, RemovePending, SurpriseRemovePending, Deleted
}
enum  MOUSE_TIMEOUT_STATE { NoChange, TimeoutStart, TimeoutCancel }
enum  I8042_DEVICE_TYPE { Unknown, Keyboard, Mouse, PhysicalDeviceObject }
enum  I8042_MOUSE_TYPE { GenericPS2, Intellimouse, IntellimouseExplorer, Ps2pp }

Functions

NTSTATUS NTAPI i8042SynchWritePortKbd (IN PVOID Context, IN UCHAR Value, IN BOOLEAN WaitForAck)
BOOLEAN i8042PacketIsr (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR Output)
NTSTATUS i8042StartPacket (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN PFDO_DEVICE_EXTENSION FdoDeviceExtension, IN PUCHAR Bytes, IN ULONG ByteCount, IN PIRP Irp)
NTSTATUS DuplicateUnicodeString (IN ULONG Flags, IN PCUNICODE_STRING SourceString, OUT PUNICODE_STRING DestinationString)
VOID i8042MouHandle (IN PI8042_MOUSE_EXTENSION DeviceExtension, IN UCHAR Output)
VOID i8042MouHandleButtons (IN PI8042_MOUSE_EXTENSION DeviceExtension, IN USHORT Mask)
NTSTATUS i8042MouInitialize (IN PI8042_MOUSE_EXTENSION DeviceExtension)
BOOLEAN i8042ChangeMode (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR FlagsToDisable, IN UCHAR FlagsToEnable)
VOID i8042MouHandlePs2pp (IN PI8042_MOUSE_EXTENSION DeviceExtension, IN UCHAR Input)
VOID i8042Flush (IN PPORT_DEVICE_EXTENSION DeviceExtension)
BOOLEAN i8042IsrWritePort (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR Value, IN UCHAR SelectCmd OPTIONAL)
NTSTATUS i8042ReadData (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR StatusFlags, OUT PUCHAR Data)
NTSTATUS i8042ReadDataWait (IN PPORT_DEVICE_EXTENSION DeviceExtension, OUT PUCHAR Data)
NTSTATUS i8042ReadStatus (IN PPORT_DEVICE_EXTENSION DeviceExtension, OUT PUCHAR Status)
NTSTATUS NTAPI i8042SynchReadPort (IN PVOID Context, OUT PUCHAR Value, IN BOOLEAN WaitForAck)
NTSTATUS NTAPI i8042SynchWritePort (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR Port, IN UCHAR Value, IN BOOLEAN WaitForAck)
BOOLEAN i8042Write (IN PPORT_DEVICE_EXTENSION DeviceExtension, IN PUCHAR addr, IN UCHAR data)
NTSTATUS ReadRegistryEntries (IN PUNICODE_STRING RegistryPath, OUT PI8042_SETTINGS Settings)

Variables

IO_WORKITEM_ROUTINE i8042SendHookWorkItem
DRIVER_DISPATCH i8042Create
DRIVER_DISPATCH i8042Cleanup
DRIVER_DISPATCH i8042Close
DRIVER_STARTIO i8042KbdStartIo
DRIVER_DISPATCH i8042KbdDeviceControl
DRIVER_DISPATCH i8042KbdInternalDeviceControl
KSERVICE_ROUTINE i8042KbdInterruptService
DRIVER_ADD_DEVICE i8042AddDevice
DRIVER_DISPATCH ForwardIrpAndForget
DRIVER_DISPATCH ForwardIrpAndWait
DRIVER_DISPATCH i8042MouInternalDeviceControl
KSERVICE_ROUTINE i8042MouInterruptService
DRIVER_DISPATCH i8042Pnp

Generated on Sat May 26 2012 05:23:04 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.