+++ /dev/null
-/**
- @file
- Display the boot services table
-
- Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <WebServer.h>
-
-/**
- Respond with the boot 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
-BootServicesTablePage (
- IN int SocketFD,
- IN WSDT_PORT * pPort,
- OUT BOOLEAN * pbDone
- )
-{
- EFI_STATUS Status;
-
- DBG_ENTER ( );
-
- //
- // Send the boot services page
- //
- for ( ; ; ) {
- //
- // Send the page and table header
- //
- Status = TableHeader ( SocketFD, pPort, L"Boot Services Table", gBS );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- ///
- /// The table header for the EFI Boot Services Table.
- ///
- Status = EfiTableHeader ( SocketFD,
- pPort,
- &gBS->Hdr );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Task Priority Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "RaiseTPL",
- (CONST VOID *)gBS->RaiseTPL,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "RestoreTPL",
- (CONST VOID *)gBS->RestoreTPL,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Memory Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "AllocatePages",
- (CONST VOID *)gBS->AllocatePages,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "FreePages",
- (CONST VOID *)gBS->FreePages,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "GetMemoryMap",
- (CONST VOID *)gBS->GetMemoryMap,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "AllocatePool",
- (CONST VOID *)gBS->AllocatePool,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "FreePool",
- (CONST VOID *)gBS->FreePool,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Event & Timer Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "CreateEvent",
- (CONST VOID *)gBS->CreateEvent,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "SetTimer",
- (CONST VOID *)gBS->SetTimer,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "WaitForEvent",
- (CONST VOID *)gBS->WaitForEvent,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "SignalEvent",
- (CONST VOID *)gBS->SignalEvent,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "CloseEvent",
- (CONST VOID *)gBS->CloseEvent,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "CheckEvent",
- (CONST VOID *)gBS->CheckEvent,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Protocol Handler Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "InstallProtocolInterface",
- (CONST VOID *)gBS->InstallProtocolInterface,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "ReinstallProtocolInterface",
- (CONST VOID *)gBS->ReinstallProtocolInterface,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "UninstallProtocolInterface",
- (CONST VOID *)gBS->UninstallProtocolInterface,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "HandleProtocol",
- (CONST VOID *)gBS->HandleProtocol,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "Reserved",
- (CONST VOID *)gBS->Reserved,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "RegisterProtocolNotify",
- (CONST VOID *)gBS->RegisterProtocolNotify,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "LocateHandle",
- (CONST VOID *)gBS->LocateHandle,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "LocateDevicePath",
- (CONST VOID *)gBS->LocateDevicePath,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "InstallConfigurationTable",
- (CONST VOID *)gBS->InstallConfigurationTable,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Image Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "LoadImage",
- (CONST VOID *)gBS->LoadImage,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "StartImage",
- (CONST VOID *)gBS->StartImage,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "Exit",
- (CONST VOID *)gBS->Exit,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "UnloadImage",
- (CONST VOID *)gBS->UnloadImage,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "ExitBootServices",
- (CONST VOID *)gBS->ExitBootServices,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Miscellaneous Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "GetNextMonotonicCount",
- (CONST VOID *)gBS->GetNextMonotonicCount,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "Stall",
- (CONST VOID *)gBS->Stall,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "SetWatchdogTimer",
- (CONST VOID *)gBS->SetWatchdogTimer,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // DriverSupport Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "ConnectController",
- (CONST VOID *)gBS->ConnectController,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "DisconnectController",
- (CONST VOID *)gBS->DisconnectController,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Open and Close Protocol Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "OpenProtocol",
- (CONST VOID *)gBS->OpenProtocol,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "CloseProtocol",
- (CONST VOID *)gBS->CloseProtocol,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "OpenProtocolInformation",
- (CONST VOID *)gBS->OpenProtocolInformation,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Library Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "ProtocolsPerHandle",
- (CONST VOID *)gBS->ProtocolsPerHandle,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "LocateHandleBuffer",
- (CONST VOID *)gBS->LocateHandleBuffer,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "LocateProtocol",
- (CONST VOID *)gBS->LocateProtocol,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "InstallMultipleProtocolInterfaces",
- (CONST VOID *)gBS->InstallMultipleProtocolInterfaces,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "UninstallMultipleProtocolInterfaces",
- (CONST VOID *)gBS->UninstallMultipleProtocolInterfaces,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // 32-bit CRC Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "CalculateCrc32",
- (CONST VOID *)gBS->CalculateCrc32,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
-
- //
- // Miscellaneous Services
- //
- Status = RowPointer ( SocketFD,
- pPort,
- "CopyMem",
- (CONST VOID *)gBS->CopyMem,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "SetMem",
- (CONST VOID *)gBS->SetMem,
- NULL );
- if ( EFI_ERROR ( Status )) {
- break;
- }
- Status = RowPointer ( SocketFD,
- pPort,
- "CreateEventEx",
- (CONST VOID *)gBS->CreateEventEx,
- 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;
-}