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