]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h
mass cleanup inf name
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2MouseDxe / Ps2Mouse.h
CommitLineData
05fbd06d 1/*++\r
2\r
92a428e1 3Copyright (c) 2006 - 2007, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
05fbd06d 8\r
92a428e1 9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
05fbd06d 11\r
12Module Name:\r
13\r
14 Ps2Mouse.h\r
15\r
16Abstract:\r
17\r
18 PS/2 Mouse driver header file\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _PS2MOUSE_H\r
25#define _PS2MOUSE_H\r
26\r
2fdd0eaf 27#include <PiDxe.h>\r
28#include <Framework/StatusCode.h>\r
29\r
30#include <Protocol/SimplePointer.h>\r
31#include <Protocol/IsaIo.h>\r
32#include <Protocol/DevicePath.h>\r
33\r
34#include <Library/DebugLib.h>\r
35#include <Library/UefiDriverEntryPoint.h>\r
36#include <Library/UefiLib.h>\r
37#include <Library/BaseMemoryLib.h>\r
38#include <Library/MemoryAllocationLib.h>\r
39#include <Library/UefiBootServicesTableLib.h>\r
40#include <Library/ReportStatusCodeLib.h>\r
05fbd06d 41\r
42//\r
43// PS/2 mouse sample rate\r
44//\r
45typedef enum {\r
46 SSR_10,\r
47 SSR_20,\r
48 SSR_40,\r
49 SSR_60,\r
50 SSR_80,\r
51 SSR_100,\r
52 SSR_200,\r
53 MAX_SR\r
54} MOUSE_SR;\r
55\r
56//\r
57// PS/2 mouse resolution\r
58//\r
59typedef enum {\r
60 CMR1,\r
61 CMR2,\r
62 CMR4,\r
63 CMR8,\r
64 MAX_CMR\r
65} MOUSE_RE;\r
66\r
67//\r
68// PS/2 mouse scaling\r
69//\r
70typedef enum {\r
71 SF1,\r
72 SF2\r
73} MOUSE_SF;\r
74\r
75//\r
76// Driver Private Data\r
77//\r
78#define PS2_MOUSE_DEV_SIGNATURE EFI_SIGNATURE_32 ('p', 's', '2', 'm')\r
79\r
80typedef struct {\r
81 UINTN Signature;\r
82\r
83 EFI_HANDLE Handle;\r
84 EFI_SIMPLE_POINTER_PROTOCOL SimplePointerProtocol;\r
85 EFI_SIMPLE_POINTER_STATE State;\r
86 EFI_SIMPLE_POINTER_MODE Mode;\r
87 BOOLEAN StateChanged;\r
88\r
89 //\r
90 // PS2 Mouse device specific information\r
91 //\r
92 MOUSE_SR SampleRate;\r
93 MOUSE_RE Resolution;\r
94 MOUSE_SF Scaling;\r
95 UINT8 DataPackageSize;\r
96\r
97 EFI_ISA_IO_PROTOCOL *IsaIo;\r
98\r
99 EFI_EVENT TimerEvent;\r
100\r
101 EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
102 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
103} PS2_MOUSE_DEV;\r
104\r
105#define PS2_MOUSE_DEV_FROM_THIS(a) CR (a, PS2_MOUSE_DEV, SimplePointerProtocol, PS2_MOUSE_DEV_SIGNATURE)\r
106\r
107//\r
108// Global Variables\r
109//\r
110extern EFI_DRIVER_BINDING_PROTOCOL gPS2MouseDriver;\r
111extern EFI_COMPONENT_NAME_PROTOCOL gPs2MouseComponentName;\r
112\r
113//\r
114// Function prototypes\r
115//\r
116EFI_STATUS\r
117EFIAPI\r
118PS2MouseDriverSupported (\r
119 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
120 IN EFI_HANDLE Controller,\r
121 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
122 );\r
123\r
124EFI_STATUS\r
125EFIAPI\r
126PS2MouseDriverStart (\r
127 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
128 IN EFI_HANDLE Controller,\r
129 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
130 );\r
131\r
132EFI_STATUS\r
133EFIAPI\r
134PS2MouseDriverStop (\r
135 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
136 IN EFI_HANDLE Controller,\r
137 IN UINTN NumberOfChildren,\r
138 IN EFI_HANDLE *ChildHandleBuffer\r
139 );\r
140\r
141//\r
142// EFI Component Name Functions\r
143//\r
144EFI_STATUS\r
145EFIAPI\r
146Ps2MouseComponentNameGetDriverName (\r
147 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
148 IN CHAR8 *Language,\r
149 OUT CHAR16 **DriverName\r
150 );\r
151\r
152EFI_STATUS\r
153EFIAPI\r
154Ps2MouseComponentNameGetControllerName (\r
155 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
156 IN EFI_HANDLE ControllerHandle,\r
157 IN EFI_HANDLE ChildHandle OPTIONAL,\r
158 IN CHAR8 *Language,\r
159 OUT CHAR16 **ControllerName\r
160 );\r
161\r
162EFI_STATUS\r
163EFIAPI\r
164MouseReset (\r
165 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
166 IN BOOLEAN ExtendedVerification\r
167 );\r
168\r
169EFI_STATUS\r
170EFIAPI\r
171MouseGetState (\r
172 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
173 IN OUT EFI_SIMPLE_POINTER_STATE *State\r
174 );\r
175\r
176VOID\r
177EFIAPI\r
178MouseWaitForInput (\r
179 IN EFI_EVENT Event,\r
180 IN VOID *Context\r
181 );\r
182\r
183VOID\r
184EFIAPI\r
185PollMouse (\r
186 IN EFI_EVENT Event,\r
187 IN VOID *Context\r
188 );\r
189\r
190EFI_STATUS\r
191In8042Data (\r
192 IN EFI_ISA_IO_PROTOCOL *IsaIo,\r
193 IN OUT UINT8 *Data\r
194 );\r
195BOOLEAN\r
196CheckMouseConnect (\r
197 IN PS2_MOUSE_DEV *MouseDev\r
198 );\r
199\r
200#endif\r