git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11068 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			431 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			431 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Build a table, each item is (key, info) pair.
 | |
|   and give a interface of query a string out of a table.
 | |
| 
 | |
|   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_QUERY_TABLE_H
 | |
| #define _SMBIOS_QUERY_TABLE_H
 | |
| 
 | |
| #define QUERY_TABLE_UNFOUND 0xFF
 | |
| 
 | |
| typedef struct TABLE_ITEM {
 | |
|   UINT16  Key;
 | |
|   CHAR16  *Info;
 | |
| } TABLE_ITEM;
 | |
| 
 | |
| //
 | |
| // Print info by option
 | |
| //
 | |
| #define PRINT_INFO_OPTION(Value, Option) \
 | |
|   do { \
 | |
|     if (Option == SHOW_NONE) { \
 | |
|       return ; \
 | |
|     } \
 | |
|     if (Option < SHOW_DETAIL) { \
 | |
|       Print (L"0x%x\n", Value); \
 | |
|       return ; \
 | |
|     } \
 | |
|   } while (0);
 | |
| 
 | |
| UINT8
 | |
| QueryTable (
 | |
|   IN  TABLE_ITEM    *Table,
 | |
|   IN  UINTN         Number,
 | |
|   IN  UINT8         Key,
 | |
|   IN  OUT CHAR16    *Info
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| PrintBitsInfo (
 | |
|   IN  TABLE_ITEM    *Table,
 | |
|   IN  UINTN         Number,
 | |
|   IN  UINT32        Bits
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Display the element detail information
 | |
| //
 | |
| VOID
 | |
| DisplayStructureTypeInfo (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // System Information (Type 1)
 | |
| //
 | |
| VOID
 | |
| DisplaySystemWakeupType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // System Enclosure (Type 3)
 | |
| //
 | |
| VOID
 | |
| DisplaySystemEnclosureType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySystemEnclosureStatus (
 | |
|   UINT8 Status,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySESecurityStatus (
 | |
|   UINT8 Status,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Processor Information (Type 4)
 | |
| //
 | |
| VOID
 | |
| DisplayProcessorType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayProcessorUpgrade (
 | |
|   UINT8 Upgrade,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Memory Controller Information (Type 5)
 | |
| //
 | |
| VOID
 | |
| DisplayMcErrorDetectMethod (
 | |
|   UINT8 Method,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMcErrorCorrectCapability (
 | |
|   UINT8 Capability,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMcInterleaveSupport (
 | |
|   UINT8 Support,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMcMemorySpeeds (
 | |
|   UINT16  Speed,
 | |
|   UINT8   Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMemoryModuleVoltage (
 | |
|   UINT8 Voltage,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Memory Module Information (Type 6)
 | |
| //
 | |
| VOID
 | |
| DisplayMmMemoryType (
 | |
|   UINT16  Type,
 | |
|   UINT8   Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMmErrorStatus (
 | |
|   UINT8 Status,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Cache Information (Type 7)
 | |
| //
 | |
| VOID
 | |
| DisplayCacheSRAMType (
 | |
|   UINT16  Type,
 | |
|   UINT8   Option
 | |
|   );
 | |
| VOID
 | |
| DisplayCacheErrCorrectingType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayCacheSystemCacheType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayCacheAssociativity (
 | |
|   UINT8 Associativity,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Port Connector Information  (Type 8)
 | |
| //
 | |
| VOID
 | |
| DisplayPortConnectorType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPortType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // System Slots (Type 9)
 | |
| //
 | |
| VOID
 | |
| DisplaySystemSlotType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySystemSlotDataBusWidth (
 | |
|   UINT8 Width,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySystemSlotCurrentUsage (
 | |
|   UINT8 Usage,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySystemSlotLength (
 | |
|   UINT8 Length,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySlotCharacteristics1 (
 | |
|   UINT8 Chara1,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySlotCharacteristics2 (
 | |
|   UINT8 Chara2,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // On Board Devices Information (Type 10)
 | |
| //
 | |
| VOID
 | |
| DisplayOnboardDeviceTypes (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // System Event Log (Type 15)
 | |
| //
 | |
| VOID
 | |
| DisplaySELTypes (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySELVarDataFormatType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPostResultsBitmapDw1 (
 | |
|   UINT32  Key,
 | |
|   UINT8   Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPostResultsBitmapDw2 (
 | |
|   UINT32  Key,
 | |
|   UINT8   Option
 | |
|   );
 | |
| VOID
 | |
| DisplaySELSysManagementTypes (
 | |
|   UINT32  SMType,
 | |
|   UINT8   Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Physical Memory Array (Type 16)
 | |
| //
 | |
| VOID
 | |
| DisplayPMALocation (
 | |
|   UINT8 Location,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPMAUse (
 | |
|   UINT8 Use,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPMAErrorCorrectionTypes (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Memory Device (Type 17)
 | |
| //
 | |
| VOID
 | |
| DisplayMemoryDeviceFormFactor (
 | |
|   UINT8 FormFactor,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMemoryDeviceType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMemoryDeviceTypeDetail (
 | |
|   UINT16  Parameter,
 | |
|   UINT8   Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // 32-bit Memory Error Information (Type 18)
 | |
| //
 | |
| VOID
 | |
| DisplayMemoryErrorType (
 | |
|   UINT8 ErrorType,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMemoryErrorGranularity (
 | |
|   UINT8 Granularity,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMemoryErrorOperation (
 | |
|   UINT8 Operation,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Memory Array Mapped Address (Type 19)
 | |
| // Memory Device Mapped Address  (Type 20)
 | |
| //
 | |
| // Built-in Pointing Device  (Type 21)
 | |
| //
 | |
| VOID
 | |
| DisplayPointingDeviceType (
 | |
|   UINT8 Type,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayPointingDeviceInterface (
 | |
|   UINT8   Interface,
 | |
|   UINT8   Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Portable Battery  (Type 22)
 | |
| //
 | |
| VOID
 | |
| DisplayPBDeviceChemistry (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Voltage Probe (Type 26)
 | |
| //
 | |
| VOID
 | |
| DisplayVPLocation (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayVPStatus (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Voltage Probe (Type 27)
 | |
| //
 | |
| VOID
 | |
| DisplayCoolingDeviceStatus (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayCoolingDeviceType (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Temperature Probe  (Type 28)
 | |
| //
 | |
| VOID
 | |
| DisplayTemperatureProbeStatus (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayTemperatureProbeLoc (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Electrical Current Probe (Type 29)
 | |
| //
 | |
| VOID
 | |
| DisplayECPStatus (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayECPLoc (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Management Device  (Type 34)
 | |
| //
 | |
| VOID
 | |
| DisplayMDType (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| VOID
 | |
| DisplayMDAddressType (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Memory Channel  (Type 37)
 | |
| //
 | |
| VOID
 | |
| DisplayMemoryChannelType (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| //
 | |
| // IPMI Device Information  (Type 38)
 | |
| //
 | |
| VOID
 | |
| DisplayIPMIDIBMCInterfaceType (
 | |
|   UINT8 Key,
 | |
|   UINT8 Option
 | |
|   );
 | |
| 
 | |
| #endif
 |