]>
git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c
2 This file contains an 'Intel UEFI Application' and is
3 licensed for Intel CPUs and chipsets under the terms of your
4 license agreement with Intel or your vendor. This file may
5 be modified by the user, subject to additional terms of the
10 Copyright (c) 2011 Intel Corporation. All rights reserved
11 This software and associated documentation (if any) is furnished
12 under a license and may only be used or copied in accordance
13 with the terms of the license. Except as permitted by such
14 license, no part of this software or documentation may be
15 reproduced, stored in a retrieval system, or transmitted in any
16 form or by any means without the express written consent of
22 Display the DXE services table
26 #include <WebServer.h>
27 #include <Guid/DxeServices.h>
28 #include <pi/PiDxeCis.h>
31 Respond with the DXE services table
33 @param [in] SocketFD The socket's file descriptor to add to the list.
34 @param [in] pPort The WSDT_PORT structure address
35 @param [out] pbDone Address to receive the request completion status
37 @retval EFI_SUCCESS The request was successfully processed
41 DxeServicesTablePage (
47 EFI_DXE_SERVICES
* pDS
;
53 // Send the DXE services page
57 // Get the DXE services table
59 Status
= EfiGetSystemConfigurationTable (&gEfiDxeServicesTableGuid
, (VOID
**) &pDS
);
60 if ( EFI_ERROR ( Status
)) {
65 // Send the page and table header
67 Status
= TableHeader ( SocketFD
, pPort
, L
"DXE Services Table", pDS
);
68 if ( EFI_ERROR ( Status
)) {
73 /// The table header for the DXE Services Table.
74 /// This header contains the DXE_SERVICES_SIGNATURE and DXE_SERVICES_REVISION values.
76 Status
= EfiTableHeader ( SocketFD
,
79 if ( EFI_ERROR ( Status
)) {
84 // Global Coherency Domain Services
86 Status
= RowPointer ( SocketFD
,
89 (VOID
*)pDS
->AddMemorySpace
,
91 if ( EFI_ERROR ( Status
)) {
94 Status
= RowPointer ( SocketFD
,
96 "AllocateMemorySpace",
97 (VOID
*)pDS
->AllocateMemorySpace
,
99 if ( EFI_ERROR ( Status
)) {
102 Status
= RowPointer ( SocketFD
,
105 (VOID
*)pDS
->FreeMemorySpace
,
107 if ( EFI_ERROR ( Status
)) {
110 Status
= RowPointer ( SocketFD
,
113 (VOID
*)pDS
->RemoveMemorySpace
,
115 if ( EFI_ERROR ( Status
)) {
118 Status
= RowPointer ( SocketFD
,
120 "GetMemorySpaceDescriptor",
121 (VOID
*)pDS
->GetMemorySpaceDescriptor
,
123 if ( EFI_ERROR ( Status
)) {
126 Status
= RowPointer ( SocketFD
,
128 "SetMemorySpaceAttributes",
129 (VOID
*)pDS
->SetMemorySpaceAttributes
,
131 if ( EFI_ERROR ( Status
)) {
134 Status
= RowPointer ( SocketFD
,
137 (VOID
*)pDS
->GetMemorySpaceMap
,
139 if ( EFI_ERROR ( Status
)) {
142 Status
= RowPointer ( SocketFD
,
145 (VOID
*)pDS
->AddIoSpace
,
147 if ( EFI_ERROR ( Status
)) {
150 Status
= RowPointer ( SocketFD
,
153 (VOID
*)pDS
->AllocateIoSpace
,
155 if ( EFI_ERROR ( Status
)) {
158 Status
= RowPointer ( SocketFD
,
161 (VOID
*)pDS
->FreeIoSpace
,
163 if ( EFI_ERROR ( Status
)) {
166 Status
= RowPointer ( SocketFD
,
169 (VOID
*)pDS
->RemoveIoSpace
,
171 if ( EFI_ERROR ( Status
)) {
174 Status
= RowPointer ( SocketFD
,
176 "GetIoSpaceDescriptor",
177 (VOID
*)pDS
->GetIoSpaceDescriptor
,
179 if ( EFI_ERROR ( Status
)) {
182 Status
= RowPointer ( SocketFD
,
185 (VOID
*)pDS
->GetIoSpaceMap
,
187 if ( EFI_ERROR ( Status
)) {
192 // Dispatcher Services
194 Status
= RowPointer ( SocketFD
,
197 (VOID
*)pDS
->Dispatch
,
199 if ( EFI_ERROR ( Status
)) {
202 Status
= RowPointer ( SocketFD
,
205 (VOID
*)pDS
->Schedule
,
207 if ( EFI_ERROR ( Status
)) {
210 Status
= RowPointer ( SocketFD
,
215 if ( EFI_ERROR ( Status
)) {
220 // Service to process a single firmware volume found in a capsule
222 Status
= RowPointer ( SocketFD
,
224 "ProcessFirmwareVolume",
225 (VOID
*)pDS
->ProcessFirmwareVolume
,
227 if ( EFI_ERROR ( Status
)) {
232 // Build the table trailer
234 Status
= TableTrailer ( SocketFD
,
241 // Return the operation status
243 DBG_EXIT_STATUS ( Status
);