]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h
Cleaned up EFI Console Variable usage
[mirror_edk2.git] / MdeModulePkg / Universal / Console / ConPlatformDxe / ConPlatform.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 ConPlatform.h
15
16 Abstract:
17
18 --*/
19
20 #ifndef CON_MANAGE_H_
21 #define CON_MANAGE_H_
22
23 #include <Uefi.h>
24 #include <Protocol/SimpleTextOut.h>
25 #include <Guid/GlobalVariable.h>
26 #include <Guid/ConsoleInDevice.h>
27 #include <Protocol/DevicePath.h>
28 #include <Protocol/SimpleTextIn.h>
29 #include <Guid/HotPlugDevice.h>
30 #include <Guid/StandardErrorDevice.h>
31 #include <Guid/ConsoleOutDevice.h>
32 #include <Library/DebugLib.h>
33 #include <Library/UefiDriverEntryPoint.h>
34 #include <Library/UefiLib.h>
35 #include <Library/BaseMemoryLib.h>
36 #include <Library/UefiBootServicesTableLib.h>
37 #include <Library/UefiRuntimeServicesTableLib.h>
38 #include <Library/DevicePathLib.h>
39 #include <Library/MemoryAllocationLib.h>
40
41 //
42 // Driver Binding Externs
43 //
44 extern EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding;
45 extern EFI_COMPONENT_NAME_PROTOCOL gConPlatformComponentName;
46 extern EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextOutDriverBinding;
47 extern EFI_COMPONENT_NAME_PROTOCOL gConPlatformComponentName;
48
49
50 typedef enum {
51 CHECK,
52 APPEND,
53 DELETE
54 } CONPLATFORM_VAR_OPERATION;
55
56 EFI_STATUS
57 ConPlatformDriverBindingSupported (
58 IN EFI_DRIVER_BINDING_PROTOCOL *This,
59 IN EFI_HANDLE ControllerHandle,
60 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath,
61 IN EFI_GUID *ProtocolGuid
62 );
63
64 EFI_STATUS
65 EFIAPI
66 ConPlatformTextInDriverBindingSupported (
67 IN EFI_DRIVER_BINDING_PROTOCOL *This,
68 IN EFI_HANDLE Handle,
69 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
70 );
71
72 EFI_STATUS
73 EFIAPI
74 ConPlatformTextOutDriverBindingSupported (
75 IN EFI_DRIVER_BINDING_PROTOCOL *This,
76 IN EFI_HANDLE Handle,
77 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
78 );
79
80 EFI_STATUS
81 EFIAPI
82 ConPlatformTextInDriverBindingStart (
83 IN EFI_DRIVER_BINDING_PROTOCOL *This,
84 IN EFI_HANDLE Handle,
85 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
86 );
87
88 EFI_STATUS
89 EFIAPI
90 ConPlatformTextOutDriverBindingStart (
91 IN EFI_DRIVER_BINDING_PROTOCOL *This,
92 IN EFI_HANDLE Handle,
93 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
94 );
95
96 EFI_STATUS
97 EFIAPI
98 ConPlatformTextInDriverBindingStop (
99 IN EFI_DRIVER_BINDING_PROTOCOL *This,
100 IN EFI_HANDLE Handle,
101 IN UINTN NumberOfChildren,
102 IN EFI_HANDLE *ChildHandleBuffer
103 );
104
105 EFI_STATUS
106 EFIAPI
107 ConPlatformTextOutDriverBindingStop (
108 IN EFI_DRIVER_BINDING_PROTOCOL *This,
109 IN EFI_HANDLE Handle,
110 IN UINTN NumberOfChildren,
111 IN EFI_HANDLE *ChildHandleBuffer
112 );
113
114 VOID
115 ConPlatformUnInstallProtocol (
116 IN EFI_DRIVER_BINDING_PROTOCOL *This,
117 IN EFI_HANDLE Handle,
118 IN EFI_GUID *ProtocolGuid
119 );
120
121 VOID *
122 ConPlatformGetVariable (
123 IN CHAR16 *Name
124 );
125
126 EFI_STATUS
127 ConPlatformMatchDevicePaths (
128 IN EFI_DEVICE_PATH_PROTOCOL * Multi,
129 IN EFI_DEVICE_PATH_PROTOCOL * Single,
130 IN EFI_DEVICE_PATH_PROTOCOL **NewDevicePath OPTIONAL,
131 IN BOOLEAN Delete
132 );
133
134 EFI_STATUS
135 ConPlatformUpdateDeviceVariable (
136 IN CHAR16 *VariableName,
137 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
138 IN CONPLATFORM_VAR_OPERATION Operation
139 );
140
141 BOOLEAN
142 IsHotPlugDevice (
143 EFI_HANDLE DriverBindingHandle,
144 EFI_HANDLE ControllerHandle
145 );
146
147 //
148 // EFI Component Name Functions
149 //
150 EFI_STATUS
151 EFIAPI
152 ConPlatformComponentNameGetDriverName (
153 IN EFI_COMPONENT_NAME_PROTOCOL *This,
154 IN CHAR8 *Language,
155 OUT CHAR16 **DriverName
156 );
157
158 EFI_STATUS
159 EFIAPI
160 ConPlatformComponentNameGetControllerName (
161 IN EFI_COMPONENT_NAME_PROTOCOL *This,
162 IN EFI_HANDLE ControllerHandle,
163 IN EFI_HANDLE ChildHandle OPTIONAL,
164 IN CHAR8 *Language,
165 OUT CHAR16 **ControllerName
166 );
167
168 #endif