diff options
Diffstat (limited to 'AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c')
-rw-r--r-- | AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c | 465 |
1 files changed, 231 insertions, 234 deletions
diff --git a/AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c b/AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c index d46ce7096e..fe0f597682 100644 --- a/AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c +++ b/AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c @@ -1,235 +1,232 @@ -/** - @file - Display the DXE services table +/** @file + Display the DXE services table - Copyright (c) 2011-2012, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include <WebServer.h> -#include <Guid/DxeServices.h> -#include <pi/PiDxeCis.h> - -/** - Respond with the DXE services table - - @param [in] SocketFD The socket's file descriptor to add to the list. - @param [in] pPort The WSDT_PORT structure address - @param [out] pbDone Address to receive the request completion status - - @retval EFI_SUCCESS The request was successfully processed - -**/ -EFI_STATUS -DxeServicesTablePage ( - IN int SocketFD, - IN WSDT_PORT * pPort, - OUT BOOLEAN * pbDone - ) -{ - EFI_DXE_SERVICES * pDS; - EFI_STATUS Status; - - DBG_ENTER ( ); - - // - // Send the DXE services page - // - for ( ; ; ) { - // - // Get the DXE services table - // - Status = EfiGetSystemConfigurationTable (&gEfiDxeServicesTableGuid, (VOID **) &pDS); - if ( EFI_ERROR ( Status )) { - break; - } - - // - // Send the page and table header - // - Status = TableHeader ( SocketFD, pPort, L"DXE Services Table", pDS ); - if ( EFI_ERROR ( Status )) { - break; - } - - /// - /// The table header for the DXE Services Table. - /// This header contains the DXE_SERVICES_SIGNATURE and DXE_SERVICES_REVISION values. - /// - Status = EfiTableHeader ( SocketFD, - pPort, - &pDS->Hdr ); - if ( EFI_ERROR ( Status )) { - break; - } - - // - // Global Coherency Domain Services - // - Status = RowPointer ( SocketFD, - pPort, - "AddMemorySpace", - (VOID *)pDS->AddMemorySpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "AllocateMemorySpace", - (VOID *)pDS->AllocateMemorySpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "FreeMemorySpace", - (VOID *)pDS->FreeMemorySpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "RemoveMemorySpace", - (VOID *)pDS->RemoveMemorySpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "GetMemorySpaceDescriptor", - (VOID *)pDS->GetMemorySpaceDescriptor, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "SetMemorySpaceAttributes", - (VOID *)pDS->SetMemorySpaceAttributes, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "GetMemorySpaceMap", - (VOID *)pDS->GetMemorySpaceMap, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "AddIoSpace", - (VOID *)pDS->AddIoSpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "AllocateIoSpace", - (VOID *)pDS->AllocateIoSpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "FreeIoSpace", - (VOID *)pDS->FreeIoSpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "RemoveIoSpace", - (VOID *)pDS->RemoveIoSpace, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "GetIoSpaceDescriptor", - (VOID *)pDS->GetIoSpaceDescriptor, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "GetIoSpaceMap", - (VOID *)pDS->GetIoSpaceMap, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - - // - // Dispatcher Services - // - Status = RowPointer ( SocketFD, - pPort, - "Dispatch", - (VOID *)pDS->Dispatch, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "Schedule", - (VOID *)pDS->Schedule, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - Status = RowPointer ( SocketFD, - pPort, - "Trust", - (VOID *)pDS->Trust, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - - // - // Service to process a single firmware volume found in a capsule - // - Status = RowPointer ( SocketFD, - pPort, - "ProcessFirmwareVolume", - (VOID *)pDS->ProcessFirmwareVolume, - NULL ); - if ( EFI_ERROR ( Status )) { - break; - } - - // - // Build the table trailer - // - Status = TableTrailer ( SocketFD, - pPort, - pbDone ); - break; - } - - // - // Return the operation status - // - DBG_EXIT_STATUS ( Status ); - return Status; -} + Copyright (c) 2011 - 2012 Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+--*/
+#include <WebServer.h>
+#include <Guid/DxeServices.h>
+#include <Pi/PiDxeCis.h>
+
+/**
+ Respond with the DXE services table
+
+ @param[in] SocketFD The socket's file descriptor to add to the list.
+ @param[in] pPort The WSDT_PORT structure address
+ @param[out] pbDone Address to receive the request completion status
+
+ @retval EFI_SUCCESS The request was successfully processed
+
+**/
+EFI_STATUS
+DxeServicesTablePage (
+ IN int SocketFD,
+ IN WSDT_PORT * pPort,
+ OUT BOOLEAN * pbDone
+ )
+{
+ EFI_DXE_SERVICES * pDS;
+ EFI_STATUS Status;
+
+ DBG_ENTER ( );
+
+ //
+ // Send the DXE services page
+ //
+ for ( ; ; ) {
+ //
+ // Get the DXE services table
+ //
+ Status = EfiGetSystemConfigurationTable (&gEfiDxeServicesTableGuid, (VOID **) &pDS);
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ //
+ // Send the page and table header
+ //
+ Status = TableHeader ( SocketFD, pPort, L"DXE Services Table", pDS );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ ///
+ /// The table header for the DXE Services Table.
+ /// This header contains the DXE_SERVICES_SIGNATURE and DXE_SERVICES_REVISION values.
+ ///
+ Status = EfiTableHeader ( SocketFD,
+ pPort,
+ &pDS->Hdr );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ //
+ // Global Coherency Domain Services
+ //
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "AddMemorySpace",
+ (VOID *)pDS->AddMemorySpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "AllocateMemorySpace",
+ (VOID *)pDS->AllocateMemorySpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "FreeMemorySpace",
+ (VOID *)pDS->FreeMemorySpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "RemoveMemorySpace",
+ (VOID *)pDS->RemoveMemorySpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "GetMemorySpaceDescriptor",
+ (VOID *)pDS->GetMemorySpaceDescriptor,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "SetMemorySpaceAttributes",
+ (VOID *)pDS->SetMemorySpaceAttributes,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "GetMemorySpaceMap",
+ (VOID *)pDS->GetMemorySpaceMap,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "AddIoSpace",
+ (VOID *)pDS->AddIoSpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "AllocateIoSpace",
+ (VOID *)pDS->AllocateIoSpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "FreeIoSpace",
+ (VOID *)pDS->FreeIoSpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "RemoveIoSpace",
+ (VOID *)pDS->RemoveIoSpace,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "GetIoSpaceDescriptor",
+ (VOID *)pDS->GetIoSpaceDescriptor,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "GetIoSpaceMap",
+ (VOID *)pDS->GetIoSpaceMap,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ //
+ // Dispatcher Services
+ //
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "Dispatch",
+ (VOID *)pDS->Dispatch,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "Schedule",
+ (VOID *)pDS->Schedule,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "Trust",
+ (VOID *)pDS->Trust,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ //
+ // Service to process a single firmware volume found in a capsule
+ //
+ Status = RowPointer ( SocketFD,
+ pPort,
+ "ProcessFirmwareVolume",
+ (VOID *)pDS->ProcessFirmwareVolume,
+ NULL );
+ if ( EFI_ERROR ( Status )) {
+ break;
+ }
+
+ //
+ // Build the table trailer
+ //
+ Status = TableTrailer ( SocketFD,
+ pPort,
+ pbDone );
+ break;
+ }
+
+ //
+ // Return the operation status
+ //
+ DBG_EXIT_STATUS ( Status );
+ return Status;
+}
|