OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
TextOutputNull.c
Go to the documentation of this file.
1
18#include <Uefi.h>
19#include <Library/DebugLib.h>
20#include <Library/BaseMemoryLib.h>
21#include <Library/MemoryAllocationLib.h>
23#include <Library/UefiBootServicesTableLib.h>
24#include <Library/UefiRuntimeServicesTableLib.h>
25
26STATIC
27EFI_STATUS
28EFIAPI
30 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
31 IN BOOLEAN ExtendedVerification
32 )
33{
34 return EFI_SUCCESS;
35}
36
37STATIC
38EFI_STATUS
39EFIAPI
41 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
42 IN CHAR16 *String
43 )
44{
45 return EFI_SUCCESS;
46}
47
48STATIC
49EFI_STATUS
50EFIAPI
52 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
53 IN CHAR16 *String
54 )
55{
56 return EFI_SUCCESS;
57}
58
59STATIC
60EFI_STATUS
61EFIAPI
63 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
64 IN UINTN ModeNumber,
65 OUT UINTN *Columns,
66 OUT UINTN *Rows
67 )
68{
69 return EFI_UNSUPPORTED;
70}
71
72STATIC
73EFI_STATUS
74EFIAPI
76 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
77 IN UINTN ModeNumber
78 )
79{
80 return EFI_SUCCESS;
81}
82
83STATIC
84EFI_STATUS
85EFIAPI
87 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
88 IN UINTN Attribute
89 )
90{
91 return EFI_SUCCESS;
92}
93
94STATIC
95EFI_STATUS
96EFIAPI
98 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
99 )
100{
101 return EFI_SUCCESS;
102}
103
104STATIC
105EFI_STATUS
106EFIAPI
108 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
109 IN UINTN Column,
110 IN UINTN Row
111 )
112{
113 return EFI_SUCCESS;
114}
115
116STATIC
117EFI_STATUS
118EFIAPI
120 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
121 IN BOOLEAN Visible
122 )
123{
124 return EFI_SUCCESS;
125}
126
127STATIC
128EFI_SIMPLE_TEXT_OUTPUT_MODE
130
131STATIC
132EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL
145
146EFI_SYSTEM_TABLE *
148 IN EFI_SYSTEM_TABLE *SystemTable
149 )
150{
151 EFI_SYSTEM_TABLE *NewSystemTable;
152 EFI_STATUS Status;
153
154 //
155 // Patch verbose
156 //
157 NewSystemTable = (EFI_SYSTEM_TABLE *)AllocateZeroPool (SystemTable->Hdr.HeaderSize);
158
159 if (NewSystemTable == NULL) {
160 return NULL;
161 }
162
163 CopyMem ((VOID *)NewSystemTable, SystemTable, SystemTable->Hdr.HeaderSize);
164 NewSystemTable->ConOut = &mNullTextOutputProtocol;
165 NewSystemTable->Hdr.CRC32 = 0;
166
167 Status = gBS->CalculateCrc32 (
168 NewSystemTable,
169 NewSystemTable->Hdr.HeaderSize,
170 &NewSystemTable->Hdr.CRC32
171 );
172
173 if (EFI_ERROR (Status)) {
174 DEBUG ((DEBUG_WARN, "OCC: Failed to calculated new system table CRC32 with Status: %r\n", Status));
175 FreePool (NewSystemTable);
176 return NULL;
177 }
178
179 return NewSystemTable;
180}
EFI_BOOT_SERVICES * gBS
STATIC EFI_STATUS EFIAPI NullTextSetMode(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)
STATIC EFI_STATUS EFIAPI NullTextReset(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
STATIC EFI_STATUS EFIAPI NullTextEnableCursor(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)
STATIC EFI_SIMPLE_TEXT_OUTPUT_MODE mNullTextOutputMode
STATIC EFI_STATUS EFIAPI NullTextSetCursorPosition(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)
STATIC EFI_STATUS EFIAPI NullTextOutputString(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
EFI_SYSTEM_TABLE * AllocateNullTextOutSystemTable(IN EFI_SYSTEM_TABLE *SystemTable)
STATIC EFI_STATUS EFIAPI NullTextSetAttribute(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)
STATIC EFI_STATUS EFIAPI NullTextQueryMode(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)
STATIC EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL mNullTextOutputProtocol
STATIC EFI_STATUS EFIAPI NullTextClearScreen(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)
STATIC EFI_STATUS EFIAPI NullTextTestString(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)