TianoCore EDK2 master
Loading...
Searching...
No Matches
ConSplitter.h
Go to the documentation of this file.
1
9#ifndef _CON_SPLITTER_H_
10#define _CON_SPLITTER_H_
11
12#include <Uefi.h>
13#include <PiDxe.h>
14
15#include <Protocol/DevicePath.h>
24#include <Protocol/UgaDraw.h>
25
30
31#include <Library/PcdLib.h>
32#include <Library/DebugLib.h>
34#include <Library/UefiLib.h>
35#include <Library/BaseLib.h>
40
41//
42// Driver Binding Externs
43//
44extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConInDriverBinding;
45extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConInComponentName;
46extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterConInComponentName2;
47extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterSimplePointerDriverBinding;
48extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterSimplePointerComponentName;
49extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterSimplePointerComponentName2;
50extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterAbsolutePointerDriverBinding;
51extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterAbsolutePointerComponentName;
52extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterAbsolutePointerComponentName2;
53extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConOutDriverBinding;
54extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConOutComponentName;
55extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterConOutComponentName2;
56extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterStdErrDriverBinding;
57extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterStdErrComponentName;
58extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterStdErrComponentName2;
59
60//
61// These definitions were in the old Hii protocol, but are not in the new UEFI
62// version. So they are defined locally.
63//
64#define UNICODE_NARROW_CHAR 0xFFF0
65#define UNICODE_WIDE_CHAR 0xFFF1
66
67//
68// Private Data Structures
69//
70#define CONSOLE_SPLITTER_ALLOC_UNIT 32
71
72typedef struct {
73 UINTN Column;
74 UINTN Row;
76
77typedef struct {
78 UINTN Columns;
79 UINTN Rows;
81
82#define KEY_STATE_VALID_EXPOSED (EFI_TOGGLE_STATE_VALID | EFI_KEY_STATE_EXPOSED)
83
84#define TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE SIGNATURE_32 ('T', 'i', 'S', 'n')
85
86//
87// Private data for Text In Ex Splitter Notify
88//
90 UINTN Signature;
91 VOID **NotifyHandleList;
92 EFI_KEY_DATA KeyData;
93 EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;
94 LIST_ENTRY NotifyEntry;
96
97#define TEXT_IN_EX_SPLITTER_NOTIFY_FROM_THIS(a) \
98 CR ((a), \
99 TEXT_IN_EX_SPLITTER_NOTIFY, \
100 NotifyEntry, \
101 TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE \
102 )
103
104#define TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('T', 'i', 'S', 'p')
105
106//
107// Private data for the Console In splitter
108//
109typedef struct {
110 UINT64 Signature;
111 EFI_HANDLE VirtualHandle;
112
114 UINTN CurrentNumberOfConsoles;
116 UINTN TextInListCount;
117
119 UINTN CurrentNumberOfExConsoles;
121 UINTN TextInExListCount;
122 LIST_ENTRY NotifyList;
123 EFI_KEY_DATA *KeyQueue;
124 UINTN CurrentNumberOfKeys;
125 //
126 // It will be initialized and synced between console input devices
127 // for toggle state sync.
128 //
129 EFI_KEY_TOGGLE_STATE PhysicalKeyToggleState;
130 //
131 // It will be initialized and used to record if virtual KeyState
132 // has been required to be exposed.
133 //
134 BOOLEAN VirtualKeyStateExported;
135
136 EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;
137 EFI_SIMPLE_POINTER_MODE SimplePointerMode;
138 UINTN CurrentNumberOfPointers;
139 EFI_SIMPLE_POINTER_PROTOCOL **PointerList;
140 UINTN PointerListCount;
141
142 EFI_ABSOLUTE_POINTER_PROTOCOL AbsolutePointer;
143 EFI_ABSOLUTE_POINTER_MODE AbsolutePointerMode;
144 UINTN CurrentNumberOfAbsolutePointers;
145 EFI_ABSOLUTE_POINTER_PROTOCOL **AbsolutePointerList;
146 UINTN AbsolutePointerListCount;
147 BOOLEAN AbsoluteInputEventSignalState;
148
149 BOOLEAN KeyEventSignalState;
150 BOOLEAN InputEventSignalState;
151 EFI_EVENT ConnectConInEvent;
153
154#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
155 CR ((a), \
156 TEXT_IN_SPLITTER_PRIVATE_DATA, \
157 TextIn, \
158 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
159 )
160
161#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_SIMPLE_POINTER_THIS(a) \
162 CR ((a), \
163 TEXT_IN_SPLITTER_PRIVATE_DATA, \
164 SimplePointer, \
165 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
166 )
167#define TEXT_IN_EX_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
168 CR (a, \
169 TEXT_IN_SPLITTER_PRIVATE_DATA, \
170 TextInEx, \
171 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
172 )
173
174#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_ABSOLUTE_POINTER_THIS(a) \
175 CR (a, \
176 TEXT_IN_SPLITTER_PRIVATE_DATA, \
177 AbsolutePointer, \
178 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
179 )
180
181#define TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('T', 'o', 'S', 'p')
182
183typedef struct {
184 EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
185 EFI_UGA_DRAW_PROTOCOL *UgaDraw;
188
189//
190// Private data for the Console Out splitter
191//
192typedef struct {
193 UINT64 Signature;
194 EFI_HANDLE VirtualHandle;
196 EFI_SIMPLE_TEXT_OUTPUT_MODE TextOutMode;
197
198 EFI_UGA_DRAW_PROTOCOL UgaDraw;
199 UINT32 UgaHorizontalResolution;
200 UINT32 UgaVerticalResolution;
201 UINT32 UgaColorDepth;
202 UINT32 UgaRefreshRate;
203
204 EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
205 EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *GraphicsOutputModeBuffer;
206 UINTN CurrentNumberOfGraphicsOutput;
207 UINTN CurrentNumberOfUgaDraw;
208
209 UINTN CurrentNumberOfConsoles;
210 TEXT_OUT_AND_GOP_DATA *TextOutList;
211 UINTN TextOutListCount;
212 TEXT_OUT_SPLITTER_QUERY_DATA *TextOutQueryData;
213 UINTN TextOutQueryDataCount;
214 INT32 *TextOutModeMap;
215
216 BOOLEAN AddingConOutDevice;
218
219#define TEXT_OUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
220 CR ((a), \
221 TEXT_OUT_SPLITTER_PRIVATE_DATA, \
222 TextOut, \
223 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
224 )
225
226#define GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
227 CR ((a), \
228 TEXT_OUT_SPLITTER_PRIVATE_DATA, \
229 GraphicsOutput, \
230 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
231 )
232
233#define UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
234 CR ((a), \
235 TEXT_OUT_SPLITTER_PRIVATE_DATA, \
236 UgaDraw, \
237 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
238 )
239
240#define CONSOLE_CONTROL_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
241 CR ((a), \
242 TEXT_OUT_SPLITTER_PRIVATE_DATA, \
243 ConsoleControl, \
244 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
245 )
246
247//
248// Function Prototypes
249//
250
267EFIAPI
269 IN EFI_HANDLE ImageHandle,
270 IN EFI_SYSTEM_TABLE *SystemTable
271 );
272
287 );
288
301 TEXT_OUT_SPLITTER_PRIVATE_DATA *ConOutPrivate
302 );
303
317EFIAPI
320 IN EFI_HANDLE ControllerHandle,
321 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
322 );
323
337EFIAPI
340 IN EFI_HANDLE ControllerHandle,
341 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
342 );
343
357EFIAPI
360 IN EFI_HANDLE ControllerHandle,
361 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
362 );
363
377EFIAPI
380 IN EFI_HANDLE ControllerHandle,
381 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
382 );
383
397EFIAPI
400 IN EFI_HANDLE ControllerHandle,
401 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
402 );
403
417EFIAPI
420 IN EFI_HANDLE ControllerHandle,
421 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
422 );
423
437EFIAPI
440 IN EFI_HANDLE ControllerHandle,
441 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
442 );
443
457EFIAPI
460 IN EFI_HANDLE ControllerHandle,
461 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
462 );
463
478EFIAPI
481 IN EFI_HANDLE ControllerHandle,
482 IN UINTN NumberOfChildren,
483 IN EFI_HANDLE *ChildHandleBuffer
484 );
485
501EFIAPI
504 IN EFI_HANDLE ControllerHandle,
505 IN UINTN NumberOfChildren,
506 IN EFI_HANDLE *ChildHandleBuffer
507 );
508
523EFIAPI
526 IN EFI_HANDLE ControllerHandle,
527 IN UINTN NumberOfChildren,
528 IN EFI_HANDLE *ChildHandleBuffer
529 );
530
545EFIAPI
548 IN EFI_HANDLE ControllerHandle,
549 IN UINTN NumberOfChildren,
550 IN EFI_HANDLE *ChildHandleBuffer
551 );
552
566EFIAPI
569 IN EFI_HANDLE ControllerHandle,
570 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
571 );
572
586EFIAPI
589 IN EFI_HANDLE ControllerHandle,
590 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
591 );
592
608EFIAPI
611 IN EFI_HANDLE ControllerHandle,
612 IN UINTN NumberOfChildren,
613 IN EFI_HANDLE *ChildHandleBuffer
614 );
615
629 IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer
630 );
631
645 IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer
646 );
647
648//
649// Absolute Pointer protocol interfaces
650//
651
664EFIAPI
667 IN BOOLEAN ExtendedVerification
668 );
669
686EFIAPI
690 );
691
703VOID
704EFIAPI
706 IN EFI_EVENT Event,
707 IN VOID *Context
708 );
709
750EFIAPI
753 IN CHAR8 *Language,
754 OUT CHAR16 **DriverName
755 );
756
826EFIAPI
829 IN EFI_HANDLE ControllerHandle,
830 IN EFI_HANDLE ChildHandle OPTIONAL,
831 IN CHAR8 *Language,
832 OUT CHAR16 **ControllerName
833 );
834
904EFIAPI
907 IN EFI_HANDLE ControllerHandle,
908 IN EFI_HANDLE ChildHandle OPTIONAL,
909 IN CHAR8 *Language,
910 OUT CHAR16 **ControllerName
911 );
912
958EFIAPI
961 IN EFI_HANDLE ControllerHandle,
962 IN EFI_HANDLE ChildHandle OPTIONAL,
963 IN CHAR8 *Language,
964 OUT CHAR16 **ControllerName
965 );
966
1036EFIAPI
1039 IN EFI_HANDLE ControllerHandle,
1040 IN EFI_HANDLE ChildHandle OPTIONAL,
1041 IN CHAR8 *Language,
1042 OUT CHAR16 **ControllerName
1043 );
1044
1114EFIAPI
1117 IN EFI_HANDLE ControllerHandle,
1118 IN EFI_HANDLE ChildHandle OPTIONAL,
1119 IN CHAR8 *Language,
1120 OUT CHAR16 **ControllerName
1121 );
1122
1123//
1124// TextIn Constructor/Destructor functions
1125//
1126
1141 );
1142
1157 );
1158
1159//
1160// SimplePointer Constuctor/Destructor functions
1161//
1162
1176 IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer
1177 );
1178
1192 IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer
1193 );
1194
1195//
1196// TextOut Constuctor/Destructor functions
1197//
1198
1215 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
1216 IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
1217 );
1218
1233 );
1234
1235//
1236// TextIn I/O Functions
1237//
1238
1251EFIAPI
1254 IN BOOLEAN ExtendedVerification
1255 );
1256
1273EFIAPI
1276 OUT EFI_INPUT_KEY *Key
1277 );
1278
1293 );
1294
1309 );
1310
1311//
1312// Simple Text Input Ex protocol function prototypes
1313//
1314
1327EFIAPI
1330 IN BOOLEAN ExtendedVerification
1331 );
1332
1352EFIAPI
1355 OUT EFI_KEY_DATA *KeyData
1356 );
1357
1374EFIAPI
1377 IN EFI_KEY_TOGGLE_STATE *KeyToggleState
1378 );
1379
1403EFIAPI
1406 IN EFI_KEY_DATA *KeyData,
1407 IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
1408 OUT VOID **NotifyHandle
1409 );
1410
1425EFIAPI
1428 IN VOID *NotificationHandle
1429 );
1430
1442VOID
1443EFIAPI
1445 IN EFI_EVENT Event,
1446 IN VOID *Context
1447 );
1448
1465EFIAPI
1468 OUT EFI_INPUT_KEY *Key
1469 );
1470
1483EFIAPI
1486 IN BOOLEAN ExtendedVerification
1487 );
1488
1503EFIAPI
1507 );
1508
1519VOID
1520EFIAPI
1522 IN EFI_EVENT Event,
1523 IN VOID *Context
1524 );
1525
1526//
1527// TextOut I/O Functions
1528//
1529
1543EFIAPI
1546 IN BOOLEAN ExtendedVerification
1547 );
1548
1569EFIAPI
1572 IN CHAR16 *WString
1573 );
1574
1591EFIAPI
1594 IN CHAR16 *WString
1595 );
1596
1615EFIAPI
1618 IN UINTN ModeNumber,
1619 OUT UINTN *Columns,
1620 OUT UINTN *Rows
1621 );
1622
1636EFIAPI
1639 IN UINTN ModeNumber
1640 );
1641
1660EFIAPI
1663 IN UINTN Attribute
1664 );
1665
1679EFIAPI
1682 );
1683
1704EFIAPI
1707 IN UINTN Column,
1708 IN UINTN Row
1709 );
1710
1726EFIAPI
1729 IN BOOLEAN Visible
1730 );
1731
1749 IN UINTN ElementSize,
1750 IN OUT UINTN *Count,
1751 IN OUT VOID **Buffer
1752 );
1753
1771EFIAPI
1774 IN UINT32 ModeNumber,
1775 OUT UINTN *SizeOfInfo,
1777 );
1778
1793EFIAPI
1796 IN UINT32 ModeNumber
1797 );
1798
1846EFIAPI
1849 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,
1851 IN UINTN SourceX,
1852 IN UINTN SourceY,
1853 IN UINTN DestinationX,
1854 IN UINTN DestinationY,
1855 IN UINTN Width,
1856 IN UINTN Height,
1857 IN UINTN Delta OPTIONAL
1858 );
1859
1875EFIAPI
1878 OUT UINT32 *HorizontalResolution,
1879 OUT UINT32 *VerticalResolution,
1880 OUT UINT32 *ColorDepth,
1881 OUT UINT32 *RefreshRate
1882 );
1883
1899EFIAPI
1902 IN UINT32 HorizontalResolution,
1903 IN UINT32 VerticalResolution,
1904 IN UINT32 ColorDepth,
1905 IN UINT32 RefreshRate
1906 );
1907
1958EFIAPI
1961 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
1962 IN EFI_UGA_BLT_OPERATION BltOperation,
1963 IN UINTN SourceX,
1964 IN UINTN SourceY,
1965 IN UINTN DestinationX,
1966 IN UINTN DestinationY,
1967 IN UINTN Width,
1968 IN UINTN Height,
1969 IN UINTN Delta OPTIONAL
1970 );
1971
1979VOID
1982 IN UINTN ModeNumber
1983 );
1984
1985#endif
UINT64 UINTN
EFI_STATUS EFIAPI ConSplitterTextInReset(IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: ConSplitter.c:3472
EFI_STATUS EFIAPI ConSplitterConInComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI ConSplitterTextOutSetCursorPosition(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)
Definition: ConSplitter.c:5032
EFI_STATUS EFIAPI ConSplitterUgaDrawGetMode(IN EFI_UGA_DRAW_PROTOCOL *This, OUT UINT32 *HorizontalResolution, OUT UINT32 *VerticalResolution, OUT UINT32 *ColorDepth, OUT UINT32 *RefreshRate)
EFI_STATUS EFIAPI ConSplitterConOutDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1329
EFI_STATUS EFIAPI ConSplitterConOutDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: ConSplitter.c:1733
EFI_STATUS ConSplitterAbsolutePointerAddDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer)
Definition: ConSplitter.c:2169
EFI_STATUS EFIAPI ConSplitterAbsolutePointerDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:990
EFI_STATUS EFIAPI ConSplitterTextOutOutputString(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *WString)
Definition: ConSplitter.c:4635
EFI_STATUS EFIAPI ConSplitterConInDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1171
EFI_STATUS EFIAPI ConSplitterSimplePointerDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:963
EFI_STATUS EFIAPI ConSplitterTextOutSetAttribute(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)
Definition: ConSplitter.c:4927
EFI_STATUS EFIAPI ConSplitterTextOutTestString(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *WString)
Definition: ConSplitter.c:4736
EFI_STATUS ConSplitterGrowBuffer(IN UINTN ElementSize, IN OUT UINTN *Count, IN OUT VOID **Buffer)
Definition: ConSplitter.c:1834
EFI_STATUS EFIAPI ConSplitterTextOutQueryMode(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)
Definition: ConSplitter.c:4788
EFI_STATUS EFIAPI ConSplitterConOutComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI ConSplitterTextOutReset(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: ConSplitter.c:4579
EFI_STATUS EFIAPI ConSplitterTextInResetEx(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: ConSplitter.c:3760
EFI_STATUS EFIAPI ConSplitterStdErrDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: ConSplitter.c:1783
VOID EFIAPI ConSplitterSimplePointerWaitForInput(IN EFI_EVENT Event, IN VOID *Context)
Definition: ConSplitter.c:4319
EFI_STATUS ConSplitterSimplePointerDeleteDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer)
Definition: ConSplitter.c:2133
EFI_STATUS EFIAPI ConSplitterConInDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: ConSplitter.c:1561
EFI_STATUS EFIAPI ConSplitterGraphicsOutputBlt(IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta OPTIONAL)
EFI_STATUS ConSplitterTextOutDeleteDevice(IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut)
Definition: ConSplitter.c:3337
VOID EFIAPI ConSplitterTextInWaitForKey(IN EFI_EVENT Event, IN VOID *Context)
Definition: ConSplitter.c:3670
EFI_STATUS EFIAPI ConSplitterTextInReadKeyStrokeEx(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, OUT EFI_KEY_DATA *KeyData)
Definition: ConSplitter.c:3818
EFI_STATUS EFIAPI ConSplitterComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
EFI_STATUS EFIAPI ConSplitterTextOutEnableCursor(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)
Definition: ConSplitter.c:5110
EFI_STATUS EFIAPI ConSplitterConOutDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1017
EFI_STATUS EFIAPI ConSplitterSimplePointerReset(IN EFI_SIMPLE_POINTER_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: ConSplitter.c:4170
EFI_STATUS ConSplitterTextOutAddDevice(IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut, IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput, IN EFI_UGA_DRAW_PROTOCOL *UgaDraw)
Definition: ConSplitter.c:3140
EFI_STATUS ConSplitterTextInAddDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn)
Definition: ConSplitter.c:1872
VOID TextOutSetMode(IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private, IN UINTN ModeNumber)
EFI_STATUS EFIAPI ConSplitterConInDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:936
EFI_STATUS EFIAPI ConSplitterSimplePointerComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI ConSplitterTextOutSetMode(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)
Definition: ConSplitter.c:4847
EFI_STATUS ConSplitterAbsolutePointerDeleteDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer)
Definition: ConSplitter.c:2210
EFI_STATUS EFIAPI ConSplitterStdErrDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1044
VOID EFIAPI ConSplitterAbsolutePointerWaitForInput(IN EFI_EVENT Event, IN VOID *Context)
Definition: ConSplitter.c:4533
EFI_STATUS EFIAPI ConSplitterGraphicsOutputSetMode(IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber)
EFI_STATUS EFIAPI ConSplitterSimplePointerGetState(IN EFI_SIMPLE_POINTER_PROTOCOL *This, IN OUT EFI_SIMPLE_POINTER_STATE *State)
Definition: ConSplitter.c:4293
EFI_STATUS ConSplitterTextInConstructor(TEXT_IN_SPLITTER_PRIVATE_DATA *ConInPrivate)
Definition: ConSplitter.c:603
EFI_STATUS EFIAPI ConSplitterAbsolutePointerDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: ConSplitter.c:1683
EFI_STATUS EFIAPI ConSplitterAbsolutePointerReset(IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: ConSplitter.c:4363
EFI_STATUS EFIAPI ConSplitterStdErrDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1445
EFI_STATUS EFIAPI ConSplitterGraphicsOutputQueryMode(IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber, OUT UINTN *SizeOfInfo, OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info)
EFI_STATUS EFIAPI ConSplitterAbsolutePointerGetState(IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, IN OUT EFI_ABSOLUTE_POINTER_STATE *State)
Definition: ConSplitter.c:4414
EFI_STATUS EFIAPI ConSplitterSimplePointerDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1238
EFI_STATUS EFIAPI ConSplitterAbsolutePointerDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: ConSplitter.c:1283
EFI_STATUS EFIAPI ConSplitterStdErrComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI ConSplitterTextInUnregisterKeyNotify(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN VOID *NotificationHandle)
Definition: ConSplitter.c:4117
EFI_STATUS EFIAPI ConSplitterTextInReadKeyStroke(IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This, OUT EFI_INPUT_KEY *Key)
Definition: ConSplitter.c:3634
EFI_STATUS EFIAPI ConSplitterTextInRegisterKeyNotify(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN EFI_KEY_DATA *KeyData, IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction, OUT VOID **NotifyHandle)
Definition: ConSplitter.c:4017
EFI_STATUS ConSplitterTextInExDeleteDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx)
Definition: ConSplitter.c:2056
EFI_STATUS ConSplitterTextInExAddDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx)
Definition: ConSplitter.c:1954
EFI_STATUS ConSplitterSimplePointerAddDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer)
Definition: ConSplitter.c:2092
EFI_STATUS EFIAPI ConSplitterTextOutClearScreen(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)
Definition: ConSplitter.c:4978
EFI_STATUS EFIAPI ConSplitterAbsolutePointerComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI ConSplitterUgaDrawBlt(IN EFI_UGA_DRAW_PROTOCOL *This, IN EFI_UGA_PIXEL *BltBuffer OPTIONAL, IN EFI_UGA_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta OPTIONAL)
EFI_STATUS EFIAPI ConSplitterTextInPrivateReadKeyStroke(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, OUT EFI_INPUT_KEY *Key)
Definition: ConSplitter.c:3560
EFI_STATUS ConSplitterTextInDeleteDevice(IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private, IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn)
Definition: ConSplitter.c:1918
EFI_STATUS EFIAPI ConSplitterDriverEntry(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
Definition: ConSplitter.c:436
EFI_STATUS EFIAPI ConSplitterUgaDrawSetMode(IN EFI_UGA_DRAW_PROTOCOL *This, IN UINT32 HorizontalResolution, IN UINT32 VerticalResolution, IN UINT32 ColorDepth, IN UINT32 RefreshRate)
EFI_STATUS ConSplitterTextOutConstructor(TEXT_OUT_SPLITTER_PRIVATE_DATA *ConOutPrivate)
Definition: ConSplitter.c:750
EFI_STATUS EFIAPI ConSplitterSimplePointerDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: ConSplitter.c:1632
EFI_STATUS EFIAPI ConSplitterTextInSetState(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN EFI_KEY_TOGGLE_STATE *KeyToggleState)
Definition: ConSplitter.c:3945
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_GRAPHICS_OUTPUT_BLT_OPERATION
UINT8 EFI_KEY_TOGGLE_STATE
EFI_STATUS(EFIAPI * EFI_KEY_NOTIFY_FUNCTION)(IN EFI_KEY_DATA *KeyData)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
EFI_UGA_BLT_OPERATION
Definition: UgaDraw.h:83