Home | History | Annotate | Download | only in WebServer
      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