1 /** 2 @file 3 Display the firmware 4 5 Copyright (c) 2011-2012, Intel Corporation 6 All rights reserved. This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #include <WebServer.h> 17 18 19 /** 20 Respond with the firmware status 21 22 @param [in] SocketFD The socket's file descriptor to add to the list. 23 @param [in] pPort The WSDT_PORT structure address 24 @param [out] pbDone Address to receive the request completion status 25 26 @retval EFI_SUCCESS The request was successfully processed 27 28 **/ 29 EFI_STATUS 30 FirmwarePage ( 31 IN int SocketFD, 32 IN WSDT_PORT * pPort, 33 OUT BOOLEAN * pbDone 34 ) 35 { 36 EFI_STATUS Status; 37 38 DBG_ENTER ( ); 39 40 // 41 // Send the system table page 42 // 43 for ( ; ; ) { 44 // 45 // Send the page and table header 46 // 47 Status = TableHeader ( SocketFD, pPort, L"Firmware", NULL ); 48 if ( EFI_ERROR ( Status )) { 49 break; 50 } 51 52 // 53 // Display the firmware vendor and revision 54 // 55 Status = RowUnicodeString ( SocketFD, 56 pPort, 57 "Vendor", 58 gST->FirmwareVendor ); 59 if ( EFI_ERROR ( Status )) { 60 break; 61 } 62 63 Status = RowRevision ( SocketFD, 64 pPort, 65 "Revision", 66 gST->FirmwareRevision ); 67 if ( EFI_ERROR ( Status )) { 68 break; 69 } 70 71 // 72 // Display the UEFI version 73 // 74 Status = RowRevision ( SocketFD, 75 pPort, 76 "UEFI", 77 gST->Hdr.Revision ); 78 if ( EFI_ERROR ( Status )) { 79 break; 80 } 81 82 // 83 // Build the table trailer 84 // 85 Status = TableTrailer ( SocketFD, 86 pPort, 87 pbDone ); 88 break; 89 } 90 91 // 92 // Return the operation status 93 // 94 DBG_EXIT_STATUS ( Status ); 95 return Status; 96 } 97