• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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