• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
FirmwarePage(IN int SocketFD,IN WSDT_PORT * pPort,OUT BOOLEAN * pbDone)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