Sync to trunk revision 63857.
[reactos.git] / subsystems / ntvdm / hardware / ps2.h
1 /*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: ps2.h
5 * PURPOSE: PS/2 controller emulation
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 */
8
9 #ifndef _PS2_H_
10 #define _PS2_H_
11
12 /* INCLUDES *******************************************************************/
13
14 #include "ntvdm.h"
15
16 /* DEFINES ********************************************************************/
17
18 #define KEYBOARD_BUFFER_SIZE 32
19 #define PS2_DATA_PORT 0x60
20 #define PS2_CONTROL_PORT 0x64
21 #define PS2_DEFAULT_CONFIG 0x05
22 #define KEYBOARD_ACK 0xFA
23 #define KEYBOARD_RESEND 0xFE
24
25 /* FUNCTIONS ******************************************************************/
26
27 BOOLEAN KeyboardQueuePush(BYTE ScanCode);
28 BOOLEAN KeyboardQueuePop(BYTE *ScanCode);
29 VOID PS2Dispatch(PINPUT_RECORD InputRecord);
30 VOID GenerateKeyboardInterrupts(VOID);
31
32 BOOLEAN PS2Initialize(HANDLE ConsoleInput);
33 VOID PS2Cleanup(VOID);
34
35 #endif // _PS2_H_
36
37 /* EOF */