summaryrefslogtreecommitdiff
path: root/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
blob: a6c8ef6ba8d771e931b3d449e24a356a7684d72a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/** @file
  Module to clarify the element info of the smbios structure.

  Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _SMBIOS_PRINT_INFO_H
#define _SMBIOS_PRINT_INFO_H

#include "LibSmbios.h"

extern UINT8  SmbiosMajorVersion;
extern UINT8  SmbiosMinorVersion;

#define SHOW_NONE     0x00
#define SHOW_OUTLINE  0x01
#define SHOW_NORMAL   0x02
#define SHOW_DETAIL   0x03
//
// SHOW_ALL: WaitEnter() not wait input.
//
#define SHOW_ALL          0x04
#define SHOW_STATISTICS   0x05

#define AS_UINT16(pData)  (*((UINT16 *) pData))
#define AS_UINT32(pData)  (*((UINT32 *) pData))
#define AS_UINT64(pData)  (*((UINT64 *) pData))

VOID
SmbiosPrintEPSInfo (
  IN  SMBIOS_STRUCTURE_TABLE  *pSmbiosTable,
  IN  UINT8                   Option
  );

EFI_STATUS
SmbiosPrintStructure (
  IN  SMBIOS_STRUCTURE_POINTER  *pStruct,
  IN  UINT8                     Option
  );

//
// BIOS Information (Type 0)
//
VOID
DisplayBiosCharacteristics (
  UINT64  chara,
  UINT8   Option
  );
VOID
DisplayBiosCharacteristicsExt1 (
  UINT8 byte1,
  UINT8 Option
  );
VOID
DisplayBiosCharacteristicsExt2 (
  UINT8 byte2,
  UINT8 Option
  );

//
// Processor Information (Type 4)
//
VOID
DisplayProcessorFamily (
  UINT8 Family,
  UINT8 Option
  );

VOID
DisplayProcessorFamily2 (
  UINT16 Family2,
  UINT8  Option
  );

VOID
DisplayProcessorVoltage (
  UINT8 Voltage,
  UINT8 Option
  );
VOID
DisplayProcessorStatus (
  UINT8 Status,
  UINT8 Option
  );

//
// Memory Controller Information (Type 5)
//
VOID
DisplayMaxMemoryModuleSize (
  UINT8 Size,
  UINT8 SlotNum,
  UINT8 Option
  );
VOID
DisplayMemoryModuleConfigHandles (
  UINT16  *pHandles,
  UINT8   SlotNum,
  UINT8   Option
  );

//
// Memory Module Information (Type 6)
//
VOID
DisplayMmBankConnections (
  UINT8 BankConnections,
  UINT8 Option
  );
VOID
DisplayMmMemorySize (
  UINT8 Size,
  UINT8 Option
  );

//
// System Slots (Type 9)
//
VOID
DisplaySystemSlotId (
  UINT16  SlotId,
  UINT8   SlotType,
  UINT8   Option
  );

//
// Physical Memory Array (Type 16)
// Memory Device (Type 17)
// Memory Array Mapped Address (Type 19)
// Memory Device Mapped Address (Type 20)
// Portable Battery (Type 22)
//
VOID
DisplaySBDSManufactureDate (
  UINT16  Date,
  UINT8   Option
  );

//
// System Reset  (Type 23)
//
VOID
DisplaySystemResetCapabilities (
  UINT8 Reset,
  UINT8 Option
  );

//
// Hardware Security (Type 24)
//
VOID
DisplayHardwareSecuritySettings (
  UINT8 Settings,
  UINT8 Option
  );

//
// Out-of-Band Remote Access (Type 30)
//
VOID
DisplayOBRAConnections (
  UINT8   Connections,
  UINT8   Option
  );

//
// System Boot Information (Type 32)
//
VOID
DisplaySystemBootStatus (
  UINT8 Parameter,
  UINT8 Option
  );

//
// System Power Supply (Type 39)
//
VOID
DisplaySPSCharacteristics (
  UINT16  Characteristics,
  UINT8   Option
  );

#endif