ReactOS  0.4.15-dev-2703-g05fb0f1
mouse32.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: GPL - See COPYING in the top level directory
3  * PROJECT: ReactOS Virtual DOS Machine
4  * FILE: subsystems/mvdm/ntvdm/dos/mouse32.h
5  * PURPOSE: VDM 32-bit compatible PS/2 MOUSE.COM driver
6  * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7  */
8 
9 #ifndef _MOUSE32_H_
10 #define _MOUSE32_H_
11 
12 /* DEFINES ********************************************************************/
13 
14 //
15 // We are ReactOS PS/2 Mouse Driver Version 6.26, compatible MS-MOUSE 6.26
16 //
17 #define MOUSE_VERSION MAKEWORD(0x26, 0x06)
18 
19 #define DOS_MOUSE_INTERRUPT 0x33
20 #define MOUSE_IRQ_INT 0x74
21 #define MOUSE_MAX_HORIZ 640
22 #define MOUSE_MAX_VERT 200
23 
24 enum
25 {
30 };
31 
32 typedef struct _MOUSE_USER_HANDLER
33 {
34  /*
35  * CallMask format: see table: http://www.ctyme.com/intr/rb-5968.htm#Table3171
36  * Alternatively, see table: http://www.ctyme.com/intr/rb-5981.htm#Table3174
37  */
39  ULONG Callback; // Far pointer to the callback
41 
42 typedef struct _MOUSE_DRIVER_STATE
43 {
55 
56  /*
57  * User Subroutine Handlers called on mouse events
58  */
59  MOUSE_USER_HANDLER Handler0; // Handler compatible MS MOUSE v1.0+
60  MOUSE_USER_HANDLER Handlers[3]; // Handlers compatible MS MOUSE v6.0+
61 
62  struct
63  {
66  } TextCursor;
67 
68  struct
69  {
71  WORD ScreenMask[16];
72  WORD CursorMask[16];
74 
77 
78 /* FUNCTIONS ******************************************************************/
79 
82 
83 #endif /* _MOUSE32_H_ */
struct _MOUSE_DRIVER_STATE MOUSE_DRIVER_STATE
COORD LastPress[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:49
VOID DosMouseCleanup(VOID)
Definition: mouse32.c:1296
struct _MOUSE_USER_HANDLER MOUSE_USER_HANDLER
short SHORT
Definition: pedump.c:59
COORD LastRelease[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:51
unsigned char BOOLEAN
struct _MOUSE_DRIVER_STATE::@4851 TextCursor
unsigned short WORD
Definition: ntddk_ex.h:93
MOUSE_USER_HANDLER Handlers[3]
Definition: mouse32.h:60
BOOLEAN DosMouseInitialize(VOID)
Definition: mouse32.c:1260
struct _MOUSE_DRIVER_STATE::@4852 GraphicsCursor
struct _MOUSE_USER_HANDLER * PMOUSE_USER_HANDLER
Definition: bl.h:1338
unsigned char BYTE
Definition: xxhash.c:193
WORD PressCount[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:48
unsigned short USHORT
Definition: pedump.c:61
struct _MOUSE_DRIVER_STATE * PMOUSE_DRIVER_STATE
MOUSE_USER_HANDLER Handler0
Definition: mouse32.h:59
unsigned int ULONG
Definition: retypes.h:1
BYTE GraphicsData[256]
Definition: mouse32.h:75
WORD ReleaseCount[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:50