Home | History | Annotate | Download | only in SmbiosView
      1 /** @file
      2   Tools of clarify the content of the smbios table.
      3 
      4   Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _SMBIOS_VIEW_H_
     16 #define _SMBIOS_VIEW_H_
     17 
     18 #define STRUCTURE_TYPE_RANDOM     (UINT8) 0xFE
     19 #define STRUCTURE_TYPE_INVALID    (UINT8) 0xFF
     20 
     21 typedef struct {
     22   UINT16  Index;
     23   UINT8   Type;
     24   UINT16  Handle;
     25   UINT16  Addr;   // offset from table head
     26   UINT16  Length; // total structure length
     27 } STRUCTURE_STATISTICS;
     28 
     29 /**
     30   Query all structures Data from SMBIOS table and Display
     31   the information to users as required display option.
     32 
     33   @param[in] QueryType      Structure type to view.
     34   @param[in] QueryHandle    Structure handle to view.
     35   @param[in] Option         Display option: none,outline,normal,detail.
     36   @param[in] RandomView     Support for -h parameter.
     37 
     38   @retval EFI_SUCCESS           print is successful.
     39   @retval EFI_BAD_BUFFER_SIZE   structure is out of the range of SMBIOS table.
     40 **/
     41 EFI_STATUS
     42 SMBiosView (
     43   IN  UINT8     QueryType,
     44   IN  UINT16    QueryHandle,
     45   IN  UINT8     Option,
     46   IN  BOOLEAN   RandomView
     47   );
     48 
     49 /**
     50   Query all structures Data from SMBIOS table and Display
     51   the information to users as required display option.
     52 
     53   @param[in] QueryType      Structure type to view.
     54   @param[in] QueryHandle    Structure handle to view.
     55   @param[in] Option         Display option: none,outline,normal,detail.
     56   @param[in] RandomView     Support for -h parameter.
     57 
     58   @retval EFI_SUCCESS           print is successful.
     59   @retval EFI_BAD_BUFFER_SIZE   structure is out of the range of SMBIOS table.
     60 **/
     61 EFI_STATUS
     62 SMBios64View (
     63   IN  UINT8     QueryType,
     64   IN  UINT16    QueryHandle,
     65   IN  UINT8     Option,
     66   IN  BOOLEAN   RandomView
     67   );
     68 
     69 /**
     70   Function to initialize the global mStatisticsTable object.
     71 
     72   @retval EFI_SUCCESS           print is successful.
     73 **/
     74 EFI_STATUS
     75 InitSmbiosTableStatistics (
     76   VOID
     77   );
     78 
     79 /**
     80   Function to initialize the global mSmbios64BitStatisticsTable object.
     81 
     82   @retval EFI_SUCCESS           print is successful.
     83 **/
     84 EFI_STATUS
     85 InitSmbios64BitTableStatistics (
     86   VOID
     87   );
     88 
     89 /**
     90   Function to display the global mStatisticsTable object.
     91 
     92   @param[in] Option             ECHO, NORMAL, or DETAIL control the amount of detail displayed.
     93 
     94   @retval EFI_SUCCESS           print is successful.
     95 **/
     96 EFI_STATUS
     97 DisplayStatisticsTable (
     98   IN UINT8 Option
     99   );
    100 
    101 /**
    102   Function to display the global mSmbios64BitStatisticsTable object.
    103 
    104   @param[in] Option             ECHO, NORMAL, or DETAIL control the amount of detail displayed.
    105 
    106   @retval EFI_SUCCESS           print is successful.
    107 **/
    108 EFI_STATUS
    109 DisplaySmbios64BitStatisticsTable (
    110   IN UINT8 Option
    111   );
    112 
    113 /**
    114   function to return a string of the detail level.
    115 
    116   @param[in] ShowType         The detail level whose name is desired in clear text.
    117 
    118   @return   A pointer to a string representing the ShowType (or 'undefined type' if not known).
    119 **/
    120 CHAR16*
    121 GetShowTypeString (
    122   UINT8 ShowType
    123   );
    124 
    125 extern UINT8  gShowType;
    126 
    127 extern UINTN  mSmbios64BitTableLength;
    128 
    129 #endif
    130