]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h
Add in Ps2keyboard.inf and Ps2Mouse.inf to IntelFrameworkModuelPkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2MouseDxe / Ps2Mouse.h
CommitLineData
05fbd06d 1/*++\r
2\r
3Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved. \r
4This software and associated documentation (if any) is furnished\r
5under a license and may only be used or copied in accordance\r
6with the terms of the license. Except as permitted by such\r
7license, no part of this software or documentation may be\r
8reproduced, stored in a retrieval system, or transmitted in any\r
9form or by any means without the express written consent of\r
10Intel Corporation.\r
11\r
12\r
13Module Name:\r
14\r
15 Ps2Mouse.h\r
16\r
17Abstract:\r
18\r
19 PS/2 Mouse driver header file\r
20\r
21Revision History\r
22\r
23--*/\r
24\r
25#ifndef _PS2MOUSE_H\r
26#define _PS2MOUSE_H\r
27\r
28//\r
29// Include common header file for this module.\r
30//\r
31#include "CommonHeader.h"\r
32\r
33//\r
34// PS/2 mouse sample rate\r
35//\r
36typedef enum {\r
37 SSR_10,\r
38 SSR_20,\r
39 SSR_40,\r
40 SSR_60,\r
41 SSR_80,\r
42 SSR_100,\r
43 SSR_200,\r
44 MAX_SR\r
45} MOUSE_SR;\r
46\r
47//\r
48// PS/2 mouse resolution\r
49//\r
50typedef enum {\r
51 CMR1,\r
52 CMR2,\r
53 CMR4,\r
54 CMR8,\r
55 MAX_CMR\r
56} MOUSE_RE;\r
57\r
58//\r
59// PS/2 mouse scaling\r
60//\r
61typedef enum {\r
62 SF1,\r
63 SF2\r
64} MOUSE_SF;\r
65\r
66//\r
67// Driver Private Data\r
68//\r
69#define PS2_MOUSE_DEV_SIGNATURE EFI_SIGNATURE_32 ('p', 's', '2', 'm')\r
70\r
71typedef struct {\r
72 UINTN Signature;\r
73\r
74 EFI_HANDLE Handle;\r
75 EFI_SIMPLE_POINTER_PROTOCOL SimplePointerProtocol;\r
76 EFI_SIMPLE_POINTER_STATE State;\r
77 EFI_SIMPLE_POINTER_MODE Mode;\r
78 BOOLEAN StateChanged;\r
79\r
80 //\r
81 // PS2 Mouse device specific information\r
82 //\r
83 MOUSE_SR SampleRate;\r
84 MOUSE_RE Resolution;\r
85 MOUSE_SF Scaling;\r
86 UINT8 DataPackageSize;\r
87\r
88 EFI_ISA_IO_PROTOCOL *IsaIo;\r
89\r
90 EFI_EVENT TimerEvent;\r
91\r
92 EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
93 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
94} PS2_MOUSE_DEV;\r
95\r
96#define PS2_MOUSE_DEV_FROM_THIS(a) CR (a, PS2_MOUSE_DEV, SimplePointerProtocol, PS2_MOUSE_DEV_SIGNATURE)\r
97\r
98//\r
99// Global Variables\r
100//\r
101extern EFI_DRIVER_BINDING_PROTOCOL gPS2MouseDriver;\r
102extern EFI_COMPONENT_NAME_PROTOCOL gPs2MouseComponentName;\r
103\r
104//\r
105// Function prototypes\r
106//\r
107EFI_STATUS\r
108EFIAPI\r
109PS2MouseDriverSupported (\r
110 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
111 IN EFI_HANDLE Controller,\r
112 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
113 );\r
114\r
115EFI_STATUS\r
116EFIAPI\r
117PS2MouseDriverStart (\r
118 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
119 IN EFI_HANDLE Controller,\r
120 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
121 );\r
122\r
123EFI_STATUS\r
124EFIAPI\r
125PS2MouseDriverStop (\r
126 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
127 IN EFI_HANDLE Controller,\r
128 IN UINTN NumberOfChildren,\r
129 IN EFI_HANDLE *ChildHandleBuffer\r
130 );\r
131\r
132//\r
133// EFI Component Name Functions\r
134//\r
135EFI_STATUS\r
136EFIAPI\r
137Ps2MouseComponentNameGetDriverName (\r
138 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
139 IN CHAR8 *Language,\r
140 OUT CHAR16 **DriverName\r
141 );\r
142\r
143EFI_STATUS\r
144EFIAPI\r
145Ps2MouseComponentNameGetControllerName (\r
146 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
147 IN EFI_HANDLE ControllerHandle,\r
148 IN EFI_HANDLE ChildHandle OPTIONAL,\r
149 IN CHAR8 *Language,\r
150 OUT CHAR16 **ControllerName\r
151 );\r
152\r
153EFI_STATUS\r
154EFIAPI\r
155MouseReset (\r
156 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
157 IN BOOLEAN ExtendedVerification\r
158 );\r
159\r
160EFI_STATUS\r
161EFIAPI\r
162MouseGetState (\r
163 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
164 IN OUT EFI_SIMPLE_POINTER_STATE *State\r
165 );\r
166\r
167VOID\r
168EFIAPI\r
169MouseWaitForInput (\r
170 IN EFI_EVENT Event,\r
171 IN VOID *Context\r
172 );\r
173\r
174VOID\r
175EFIAPI\r
176PollMouse (\r
177 IN EFI_EVENT Event,\r
178 IN VOID *Context\r
179 );\r
180\r
181EFI_STATUS\r
182In8042Data (\r
183 IN EFI_ISA_IO_PROTOCOL *IsaIo,\r
184 IN OUT UINT8 *Data\r
185 );\r
186BOOLEAN\r
187CheckMouseConnect (\r
188 IN PS2_MOUSE_DEV *MouseDev\r
189 );\r
190\r
191#endif\r