]>
git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c
2 Display the DXE services table
4 Copyright (c) 2011 - 2012 Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #include <WebServer.h>
14 #include <Guid/DxeServices.h>
15 #include <Pi/PiDxeCis.h>
18 Respond with the DXE services table
20 @param[in] SocketFD The socket's file descriptor to add to the list.
21 @param[in] pPort The WSDT_PORT structure address
22 @param[out] pbDone Address to receive the request completion status
24 @retval EFI_SUCCESS The request was successfully processed
28 DxeServicesTablePage (
34 EFI_DXE_SERVICES
* pDS
;
40 // Send the DXE services page
44 // Get the DXE services table
46 Status
= EfiGetSystemConfigurationTable (&gEfiDxeServicesTableGuid
, (VOID
**) &pDS
);
47 if ( EFI_ERROR ( Status
)) {
52 // Send the page and table header
54 Status
= TableHeader ( SocketFD
, pPort
, L
"DXE Services Table", pDS
);
55 if ( EFI_ERROR ( Status
)) {
60 /// The table header for the DXE Services Table.
61 /// This header contains the DXE_SERVICES_SIGNATURE and DXE_SERVICES_REVISION values.
63 Status
= EfiTableHeader ( SocketFD
,
66 if ( EFI_ERROR ( Status
)) {
71 // Global Coherency Domain Services
73 Status
= RowPointer ( SocketFD
,
76 (VOID
*)pDS
->AddMemorySpace
,
78 if ( EFI_ERROR ( Status
)) {
81 Status
= RowPointer ( SocketFD
,
83 "AllocateMemorySpace",
84 (VOID
*)pDS
->AllocateMemorySpace
,
86 if ( EFI_ERROR ( Status
)) {
89 Status
= RowPointer ( SocketFD
,
92 (VOID
*)pDS
->FreeMemorySpace
,
94 if ( EFI_ERROR ( Status
)) {
97 Status
= RowPointer ( SocketFD
,
100 (VOID
*)pDS
->RemoveMemorySpace
,
102 if ( EFI_ERROR ( Status
)) {
105 Status
= RowPointer ( SocketFD
,
107 "GetMemorySpaceDescriptor",
108 (VOID
*)pDS
->GetMemorySpaceDescriptor
,
110 if ( EFI_ERROR ( Status
)) {
113 Status
= RowPointer ( SocketFD
,
115 "SetMemorySpaceAttributes",
116 (VOID
*)pDS
->SetMemorySpaceAttributes
,
118 if ( EFI_ERROR ( Status
)) {
121 Status
= RowPointer ( SocketFD
,
124 (VOID
*)pDS
->GetMemorySpaceMap
,
126 if ( EFI_ERROR ( Status
)) {
129 Status
= RowPointer ( SocketFD
,
132 (VOID
*)pDS
->AddIoSpace
,
134 if ( EFI_ERROR ( Status
)) {
137 Status
= RowPointer ( SocketFD
,
140 (VOID
*)pDS
->AllocateIoSpace
,
142 if ( EFI_ERROR ( Status
)) {
145 Status
= RowPointer ( SocketFD
,
148 (VOID
*)pDS
->FreeIoSpace
,
150 if ( EFI_ERROR ( Status
)) {
153 Status
= RowPointer ( SocketFD
,
156 (VOID
*)pDS
->RemoveIoSpace
,
158 if ( EFI_ERROR ( Status
)) {
161 Status
= RowPointer ( SocketFD
,
163 "GetIoSpaceDescriptor",
164 (VOID
*)pDS
->GetIoSpaceDescriptor
,
166 if ( EFI_ERROR ( Status
)) {
169 Status
= RowPointer ( SocketFD
,
172 (VOID
*)pDS
->GetIoSpaceMap
,
174 if ( EFI_ERROR ( Status
)) {
179 // Dispatcher Services
181 Status
= RowPointer ( SocketFD
,
184 (VOID
*)pDS
->Dispatch
,
186 if ( EFI_ERROR ( Status
)) {
189 Status
= RowPointer ( SocketFD
,
192 (VOID
*)pDS
->Schedule
,
194 if ( EFI_ERROR ( Status
)) {
197 Status
= RowPointer ( SocketFD
,
202 if ( EFI_ERROR ( Status
)) {
207 // Service to process a single firmware volume found in a capsule
209 Status
= RowPointer ( SocketFD
,
211 "ProcessFirmwareVolume",
212 (VOID
*)pDS
->ProcessFirmwareVolume
,
214 if ( EFI_ERROR ( Status
)) {
219 // Build the table trailer
221 Status
= TableTrailer ( SocketFD
,
228 // Return the operation status
230 DBG_EXIT_STATUS ( Status
);