]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuFileSystem.h
EmulatorPkg: Apply uncrustify changes
[mirror_edk2.git] / EmulatorPkg / Include / Protocol / EmuFileSystem.h
CommitLineData
79e4f2a5
RN
1/** @file\r
2 SimpleFileSystem protocol as defined in the UEFI 2.0 specification.\r
3\r
4 The SimpleFileSystem protocol is the programmatic access to the FAT (12,16,32)\r
5 file system specified in UEFI 2.0. It can also be used to abstract a file\r
6 system other than FAT.\r
7\r
8 UEFI 2.0 can boot from any valid EFI image contained in a SimpleFileSystem.\r
9\r
10Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
11Portions copyright (c) 2011, Apple Inc. All rights reserved.\r
e3ba31da 12SPDX-License-Identifier: BSD-2-Clause-Patent\r
79e4f2a5
RN
13\r
14**/\r
15\r
16#ifndef _EMU_UGA_IO_H_\r
17#define _EMU_UGA_IO_H_\r
18\r
19#include <Protocol/SimplePointer.h>\r
20#include <Protocol/SimpleTextIn.h>\r
21#include <Protocol/SimpleTextInEx.h>\r
22#include <Protocol/UgaDraw.h>\r
23\r
24#define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \\r
25 { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }\r
26\r
27typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;\r
28\r
29typedef\r
30EFI_STATUS\r
31(EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(\r
32 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga\r
33 );\r
34\r
35typedef\r
36EFI_STATUS\r
37(EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(\r
38 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,\r
39 UINT32 Width,\r
40 UINT32 Height\r
41 );\r
42\r
43typedef\r
44EFI_STATUS\r
45(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(\r
46 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga\r
47 );\r
48\r
49typedef\r
50EFI_STATUS\r
51(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(\r
52 EMU_GRAPHICS_WINDOW_PROTOCOL *Uga,\r
53 EFI_KEY_DATA *key\r
54 );\r
55\r
56typedef\r
57EFI_STATUS\r
a550d468 58(EFIAPI *EMU_GRAPHICS_WINDOWS_KEY_SET_STATE)(\r
79e4f2a5
RN
59 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
60 IN EFI_KEY_TOGGLE_STATE *KeyToggleState\r
61 );\r
62\r
79e4f2a5
RN
63typedef\r
64VOID\r
a550d468 65(EFIAPI *EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK)(\r
79e4f2a5
RN
66 IN VOID *Context,\r
67 IN EFI_KEY_DATA *KeyData\r
68 );\r
69\r
70typedef\r
71EFI_STATUS\r
a550d468 72(EFIAPI *EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY)(\r
79e4f2a5
RN
73 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
74 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK CallBack,\r
75 IN VOID *Context\r
76 );\r
77\r
79e4f2a5 78typedef struct {\r
a550d468
MK
79 UINTN SourceX;\r
80 UINTN SourceY;\r
81 UINTN DestinationX;\r
82 UINTN DestinationY;\r
83 UINTN Width;\r
84 UINTN Height;\r
85 UINTN Delta;\r
79e4f2a5
RN
86} EMU_GRAPHICS_WINDOWS__BLT_ARGS;\r
87\r
88typedef\r
89EFI_STATUS\r
90(EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(\r
91 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
92 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,\r
93 IN EFI_UGA_BLT_OPERATION BltOperation,\r
94 IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args\r
95 );\r
96\r
97typedef\r
98BOOLEAN\r
a550d468 99(EFIAPI *EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED)(\r
79e4f2a5
RN
100 IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
101 IN EFI_KEY_DATA *KeyData\r
102 );\r
103\r
104typedef\r
105EFI_STATUS\r
106(EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_POINTER)(\r
107 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows\r
108 );\r
109\r
110typedef\r
111EFI_STATUS\r
112(EFIAPI *EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE)(\r
113 EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows,\r
114 EFI_SIMPLE_POINTER_STATE *state\r
115 );\r
116\r
117struct _EMU_GRAPHICS_WINDOW_PROTOCOL {\r
a550d468
MK
118 EMU_GRAPHICS_WINDOWS_SIZE Size;\r
119 EMU_GRAPHICS_WINDOWS_CHECK_KEY CheckKey;\r
120 EMU_GRAPHICS_WINDOWS_KEY_SET_STATE KeySetState;\r
121 EMU_GRAPHICS_WINDOWS_GET_KEY GetKey;\r
122 EMU_GRAPHICS_WINDOWS_REGISTER_KEY_NOTIFY RegisterKeyNotify;\r
123 EMU_GRAPHICS_WINDOWS_BLT Blt;\r
124 EMU_GRAPHICS_WINDOWS_IS_KEY_PRESSED IsKeyPressed;\r
125 EMU_GRAPHICS_WINDOWS_CHECK_POINTER CheckPointer;\r
126 EMU_GRAPHICS_WINDOWS_GET_POINTER_STATE GetPointerState;\r
79e4f2a5
RN
127};\r
128\r
a550d468 129extern EFI_GUID gEmuGraphicsWindowProtocolGuid;\r
79e4f2a5
RN
130\r
131#endif\r