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
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.
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>
42 // Driver Binding Externs
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
;
54 } CONPLATFORM_VAR_OPERATION
;
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
66 ConPlatformTextInDriverBindingSupported (
67 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
69 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
74 ConPlatformTextOutDriverBindingSupported (
75 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
77 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
82 ConPlatformTextInDriverBindingStart (
83 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
85 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
90 ConPlatformTextOutDriverBindingStart (
91 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
93 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
98 ConPlatformTextInDriverBindingStop (
99 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
100 IN EFI_HANDLE Handle
,
101 IN UINTN NumberOfChildren
,
102 IN EFI_HANDLE
*ChildHandleBuffer
107 ConPlatformTextOutDriverBindingStop (
108 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
109 IN EFI_HANDLE Handle
,
110 IN UINTN NumberOfChildren
,
111 IN EFI_HANDLE
*ChildHandleBuffer
115 ConPlatformUnInstallProtocol (
116 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
117 IN EFI_HANDLE Handle
,
118 IN EFI_GUID
*ProtocolGuid
122 ConPlatformGetVariable (
127 ConPlatformMatchDevicePaths (
128 IN EFI_DEVICE_PATH_PROTOCOL
* Multi
,
129 IN EFI_DEVICE_PATH_PROTOCOL
* Single
,
130 IN EFI_DEVICE_PATH_PROTOCOL
**NewDevicePath OPTIONAL
,
135 ConPlatformUpdateDeviceVariable (
136 IN CHAR16
*VariableName
,
137 IN EFI_DEVICE_PATH_PROTOCOL
*DevicePath
,
138 IN CONPLATFORM_VAR_OPERATION Operation
143 EFI_HANDLE DriverBindingHandle
,
144 EFI_HANDLE ControllerHandle
148 // EFI Component Name Functions
152 ConPlatformComponentNameGetDriverName (
153 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
155 OUT CHAR16
**DriverName
160 ConPlatformComponentNameGetControllerName (
161 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
162 IN EFI_HANDLE ControllerHandle
,
163 IN EFI_HANDLE ChildHandle OPTIONAL
,
165 OUT CHAR16
**ControllerName