3 Display the runtime services table
5 Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <WebServer.h>
11 #include <Library/UefiRuntimeServicesTableLib.h>
14 Respond with the runtime services table
16 @param [in] SocketFD The socket's file descriptor to add to the list.
17 @param [in] pPort The WSDT_PORT structure address
18 @param [out] pbDone Address to receive the request completion status
20 @retval EFI_SUCCESS The request was successfully processed
24 RuntimeSservicesTablePage (
35 // Send the runtime services page
39 // Send the page and table header
41 Status
= TableHeader ( SocketFD
, pPort
, L
"Runtime Services Table", gRT
);
42 if ( EFI_ERROR ( Status
)) {
47 /// The table header for the EFI Runtime Services Table.
49 Status
= EfiTableHeader ( SocketFD
,
52 if ( EFI_ERROR ( Status
)) {
59 Status
= RowPointer ( SocketFD
,
64 if ( EFI_ERROR ( Status
)) {
67 Status
= RowPointer ( SocketFD
,
72 if ( EFI_ERROR ( Status
)) {
75 Status
= RowPointer ( SocketFD
,
78 (VOID
*)gRT
->GetWakeupTime
,
80 if ( EFI_ERROR ( Status
)) {
83 Status
= RowPointer ( SocketFD
,
86 (VOID
*)gRT
->SetWakeupTime
,
88 if ( EFI_ERROR ( Status
)) {
93 // Virtual Memory Services
95 Status
= RowPointer ( SocketFD
,
97 "SetVirtualAddressMap",
98 (VOID
*)gRT
->SetVirtualAddressMap
,
100 if ( EFI_ERROR ( Status
)) {
103 Status
= RowPointer ( SocketFD
,
106 (VOID
*)gRT
->ConvertPointer
,
108 if ( EFI_ERROR ( Status
)) {
115 Status
= RowPointer ( SocketFD
,
118 (VOID
*)gRT
->GetVariable
,
120 if ( EFI_ERROR ( Status
)) {
123 Status
= RowPointer ( SocketFD
,
125 "GetNextVariableName",
126 (VOID
*)gRT
->GetNextVariableName
,
128 if ( EFI_ERROR ( Status
)) {
131 Status
= RowPointer ( SocketFD
,
134 (VOID
*)gRT
->SetVariable
,
136 if ( EFI_ERROR ( Status
)) {
141 // Miscellaneous Services
143 Status
= RowPointer ( SocketFD
,
145 "GetNextHighNonotonicCount",
146 (VOID
*)gRT
->GetNextHighMonotonicCount
,
148 if ( EFI_ERROR ( Status
)) {
151 Status
= RowPointer ( SocketFD
,
154 (VOID
*)gRT
->ResetSystem
,
156 if ( EFI_ERROR ( Status
)) {
161 // Determine if the structures supports 2.0 services
163 if ( 2 <= ( gRT
->Hdr
.Revision
>> 16 )) {
165 // UEFI 2.0 Capsule Services
167 Status
= RowPointer ( SocketFD
,
170 (VOID
*)gRT
->UpdateCapsule
,
172 if ( EFI_ERROR ( Status
)) {
175 Status
= RowPointer ( SocketFD
,
177 "QueryCapsuleCapabilities",
178 (VOID
*)gRT
->QueryCapsuleCapabilities
,
180 if ( EFI_ERROR ( Status
)) {
185 // Miscellaneous UEFI 2.0 Service
187 Status
= RowPointer ( SocketFD
,
190 (VOID
*)gRT
->QueryVariableInfo
,
192 if ( EFI_ERROR ( Status
)) {
198 // Build the table trailer
200 Status
= TableTrailer ( SocketFD
,
207 // Return the operation status
209 DBG_EXIT_STATUS ( Status
);