]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/DataHubSmBiosRecordsOnPiSmBiosThunk/Thunk.h
Rename DataHubSmBiosRecordsOnPiSmBiosThunk to PiSmbiosRecordOnDataHubSmbiosRecordThun...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / DataHubSmBiosRecordsOnPiSmBiosThunk / Thunk.h
diff --git a/EdkCompatibilityPkg/Compatibility/DataHubSmBiosRecordsOnPiSmBiosThunk/Thunk.h b/EdkCompatibilityPkg/Compatibility/DataHubSmBiosRecordsOnPiSmBiosThunk/Thunk.h
deleted file mode 100644 (file)
index 2069fa9..0000000
+++ /dev/null
@@ -1,842 +0,0 @@
-/** @file\r
-  The common header file for the thunk driver.\r
-  \r
-Copyright (c) 2009 Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _DATAHUB_TO_SMBIOS_THUNK_\r
-#define _DATAHUB_TO_SMBIOS_THUNK_\r
-\r
-#include <FrameworkDxe.h>\r
-#include <IndustryStandard/SmBios.h>\r
-\r
-#include <Guid/EventGroup.h>\r
-#include <Guid/SmBios.h>\r
-#include <Protocol/DataHub.h>\r
-#include <Guid/DataHubRecords.h>\r
-#include <Protocol/HiiDatabase.h>\r
-#include <Protocol/Smbios.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/HiiLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/ReportStatusCodeLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-\r
-//\r
-// Conversion Table that describes the translation method for\r
-// Data Hub Data Records of certain SubClass and RecordNumber\r
-//\r
-typedef enum {\r
-  BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
-  BY_SUBCLASS_INSTANCE_PRODUCER,\r
-  MAX_LOCATING_METHOD\r
-} SMBIOS_STRUCTURE_LOCATING_METHOD;\r
-\r
-typedef enum {\r
-  RECORD_DATA_UNCHANGED_OFFSET_SPECIFIED,\r
-  BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
-  BY_FUNCTION,\r
-  BY_FUNCTION_WITH_WHOLE_DATA_RECORD,\r
-  MAX_FIELD_FILLING_METHOD\r
-} SMBIOS_FIELD_FILLING_METHOD;\r
-\r
-typedef struct _SMBIOS_STRUCTURE_NODE SMBIOS_STRUCTURE_NODE;\r
-\r
-typedef struct {\r
-  UINT8   Type;\r
-  UINT8   Length;\r
-  UINT16  Handle;\r
-  UINT8   Tailing[2];\r
-} EFI_SMBIOS_TABLE_TYPE127;\r
-\r
-typedef\r
-EFI_STATUS\r
-(*SMBIOS_FIELD_FILLING_FUNCTION) (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE                     * StructureNode,\r
-  IN      UINT32                                    Offset          OPTIONAL,\r
-  IN      VOID                                      *RecordData,\r
-  IN      UINT32                                    RecordDataSize\r
-  );\r
-\r
-typedef struct {\r
-  //\r
-  // Data Hub Data Record's SubClass and RecordNumber\r
-  //\r
-  EFI_GUID                          SubClass;\r
-  UINT32                            RecordType;\r
-\r
-  //\r
-  // Translation method applied\r
-  //\r
-  UINT8                             SmbiosType;\r
-  SMBIOS_STRUCTURE_LOCATING_METHOD  StructureLocatingMethod;\r
-  SMBIOS_FIELD_FILLING_METHOD       FieldFillingMethod;\r
-  UINT32                            FieldOffset;\r
-  SMBIOS_FIELD_FILLING_FUNCTION     FieldFillingFunction;\r
-\r
-} SMBIOS_CONVERSION_TABLE_ENTRY;\r
-\r
-//\r
-// SMBIOS_LINK_DATA_FIXUP nodes indicate the Link fields that\r
-// need to be fixed up when creating the resulting Smbios image.\r
-//\r
-#define SMBIOS_LINK_DATA_FIXUP_NODE_SIGNATURE SIGNATURE_32 ('S', 'm', 'l', 'n')\r
-\r
-typedef struct {\r
-\r
-  UINT32              Signature;\r
-  LIST_ENTRY          Link;\r
-\r
-  UINT32              Offset;\r
-  UINT8               TargetType;\r
-  EFI_GUID            SubClass;\r
-  EFI_INTER_LINK_DATA LinkData;\r
-\r
-} SMBIOS_LINK_DATA_FIXUP_NODE;\r
-\r
-//\r
-// The global Structure List node.\r
-// The Structure List is populated as more and more\r
-// Structures (of various types) are discovered and inserted.\r
-// The nodes in the Structure List will be concatenated\r
-// to form the ultimate SMBIOS table.\r
-//\r
-#define SMBIOS_STRUCTURE_NODE_SIGNATURE SIGNATURE_32 ('S', 'm', 'b', 's')\r
-\r
-struct _SMBIOS_STRUCTURE_NODE {\r
-\r
-  UINT32            Signature;\r
-  LIST_ENTRY        Link;\r
-\r
-  //\r
-  // Tags\r
-  //\r
-  EFI_GUID          SubClass;\r
-  UINT16            Instance;\r
-  UINT16            SubInstance;\r
-  EFI_GUID          ProducerName;\r
-\r
-  //\r
-  // the Smbios structure\r
-  //\r
-  UINT32            StructureSize;        // Actual structure size including strings\r
-\r
-  EFI_SMBIOS_TABLE_HEADER *Structure;\r
-  \r
-  \r
-  EFI_SMBIOS_HANDLE SmbiosHandle;         // Smbios Handle in SMBIOS database.\r
-  \r
-  EFI_SMBIOS_TYPE   SmbiosType;\r
-  \r
-  LIST_ENTRY    LinkDataFixup;\r
-  \r
-};\r
-\r
-//\r
-// Smbios type info table. Indicates minimum length\r
-// for each Smbios type as the indicator of the initial size of buffer\r
-// allocated for the structure instance of a specific type.\r
-//\r
-typedef struct {\r
-\r
-  UINT8   Type;\r
-  UINT8   MinLength;  // Minimal structure size including\r
-  // TWO trailing bytes of 0x00\r
-  //\r
-  BOOLEAN IsRequired; // Required structure type defined by Smbios Spec\r
-  BOOLEAN IsCreated;  // Created in this run\r
-} SMBIOS_TYPE_INFO_TABLE_ENTRY;\r
-\r
-//\r
-// EDK framwork Memory Data hub definition to support EDK/Framework driver.\r
-//\r
-typedef struct {\r
-  STRING_REF                  MemoryDeviceLocator;\r
-  STRING_REF                  MemoryBankLocator;\r
-  STRING_REF                  MemoryManufacturer;\r
-  STRING_REF                  MemorySerialNumber;\r
-  STRING_REF                  MemoryAssetTag;\r
-  STRING_REF                  MemoryPartNumber;\r
-  EFI_INTER_LINK_DATA         MemoryArrayLink;\r
-  EFI_INTER_LINK_DATA         MemorySubArrayLink;\r
-  UINT16                      MemoryTotalWidth;\r
-  UINT16                      MemoryDataWidth;\r
-  UINT64                      MemoryDeviceSize;\r
-  EFI_MEMORY_FORM_FACTOR      MemoryFormFactor;\r
-  UINT8                       MemoryDeviceSet;\r
-  EFI_MEMORY_ARRAY_TYPE       MemoryType;\r
-  EFI_MEMORY_TYPE_DETAIL      MemoryTypeDetail;\r
-  UINT16                      MemorySpeed;\r
-  EFI_MEMORY_STATE            MemoryState;\r
-  UINT8                       MemoryAttributes;\r
-} FRAMEWORK_MEMORY_ARRAY_LINK_DATA;\r
-\r
-typedef struct {\r
-  EFI_MEMORY_ARRAY_LOCATION   MemoryArrayLocation;\r
-  EFI_MEMORY_ARRAY_USE        MemoryArrayUse;\r
-  EFI_MEMORY_ERROR_CORRECTION MemoryErrorCorrection;\r
-  UINT32                      MaximumMemoryCapacity;\r
-  UINT16                      NumberMemoryDevices;\r
-} FRAMEWORK_MEMORY_ARRAY_LOCATION_DATA;\r
-\r
-//\r
-// Global variables\r
-//\r
-extern SMBIOS_CONVERSION_TABLE_ENTRY  mConversionTable[];\r
-extern SMBIOS_TYPE_INFO_TABLE_ENTRY   mTypeInfoTable[];\r
-extern LIST_ENTRY                     mStructureList;\r
-\r
-//\r
-// Function Prototypes\r
-//\r
-/**\r
-  Smbios data filter function. This function is invoked when there is data records\r
-  available in the Data Hub. \r
-\r
-  @param Event         The event that is signaled.\r
-  @param Context       not used here.\r
-**/\r
-VOID\r
-EFIAPI\r
-SmbiosDataFilter (\r
-  IN EFI_EVENT    Event,\r
-  IN VOID         *Context\r
-  );\r
-\r
-//\r
-// Function prototypes\r
-//\r
-/**\r
-  Process a datahub's record and find corresponding translation way to translate\r
-  to SMBIOS record.\r
-  \r
-  @param Record  Point to datahub record.\r
-**/\r
-VOID\r
-SmbiosProcessDataRecord (\r
-  IN EFI_DATA_RECORD_HEADER  *Record\r
-  )\r
-;\r
-\r
-/**\r
-  Calculate the minimal length for a SMBIOS type. This length maybe not equal\r
-  to sizeof (SMBIOS_RECORD_STRUCTURE), but defined in conformance chapter in SMBIOS specification.\r
-  \r
-  @param Type  SMBIOS's type.\r
-  \r
-  @return the minimal length of a smbios record.\r
-**/\r
-UINT32\r
-SmbiosGetTypeMinimalLength (\r
-  IN UINT8  Type\r
-  )\r
-;\r
-\r
-/**\r
-  Enlarge the structure buffer of a structure node in SMBIOS database.\r
-  The function maybe lead the structure pointer for SMBIOS record changed.\r
-  \r
-  @param StructureNode The structure node whose structure buffer is to be enlarged.\r
-  @param NewLength     The new length of SMBIOS record which does not include unformat area.\r
-  @param OldBufferSize The old size of SMBIOS record buffer.\r
-  @param NewBufferSize The new size is targeted for enlarged.\r
-  \r
-  @retval EFI_OUT_OF_RESOURCES  No more memory to allocate new record\r
-  @retval EFI_SUCCESS           Success to enlarge the record buffer size.\r
-**/\r
-EFI_STATUS\r
-SmbiosEnlargeStructureBuffer (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE *StructureNode,\r
-  UINT8                         NewLength,\r
-  UINTN                         OldBufferSize,\r
-  UINTN                         NewBufferSize\r
-  );\r
-\r
-/**\r
-  Field Filling Function. Fill a standard Smbios string field. \r
-  Convert the unicode string to single byte chars.\r
-  Only English language is supported.\r
-\r
-  This function changes the Structure pointer value of the structure node, \r
-  which should be noted by Caller.\r
-  \r
-  @param StructureNode    Pointer to SMBIOS_STRUCTURE_NODE which is current processed.\r
-  @param Offset           Offset of SMBIOS record which RecordData will be filled.\r
-  @param RecordData       RecordData buffer will be filled.\r
-  @param RecordDataSize   The size of RecordData buffer.\r
-  \r
-  @retval EFI_INVALID_PARAMETER   RecordDataSize is too larger\r
-  @retval EFI_OUT_OF_RESOURCES    No memory to allocate new buffer for string\r
-  @retval EFI_SUCCESS             Sucess append string for a SMBIOS record.\r
-**/\r
-EFI_STATUS\r
-SmbiosFldString (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-/**\r
-  Fill the inter link field for a SMBIOS recorder.\r
-  \r
-  Some SMBIOS recorder need to reference the handle of another SMBIOS record. But\r
-  maybe another SMBIOS record has not been added, so put the InterLink request into\r
-  a linked list and the interlink will be fixedup when a new SMBIOS record is added.\r
-  \r
-  @param StructureNode        Point to SMBIOS_STRUCTURE_NODE which reference another record's handle\r
-  @param LinkSmbiosNodeOffset The offset in this record for holding the handle of another SMBIOS record\r
-  @param LinkSmbiosType       The type of SMBIOS record want to be linked.\r
-  @param InterLink            Point to EFI_INTER_LINK_DATA will be put linked list.\r
-  @param SubClassGuid         The guid of subclass for linked SMBIOS record.\r
-  \r
-  @retval EFI_SUCESS  The linked record is found and no need fixup in future.\r
-  @retval !EFI_SUCESS The linked record can not be found and InterLink is put a fixing-p linked list.\r
-**/\r
-EFI_STATUS\r
-SmbiosFldInterLink (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT16                    LinkSmbiosNodeOffset,\r
-  IN      UINT8                     LinkSmbiosType,\r
-  IN      EFI_INTER_LINK_DATA       *InterLink,\r
-  IN      EFI_GUID                  *SubClassGuid\r
-  )\r
-;\r
-\r
-/**\r
-  Find a handle that matches the Link Data and the target Smbios type.\r
-  \r
-  @param  TargetType     the Smbios type\r
-  @param  SubClass       the SubClass\r
-  @param  LinkData       Specifies Instance, SubInstance and ProducerName\r
-  @param  Handle         the HandleNum found  \r
-  \r
-  @retval EFI_NOT_FOUND Can not find the record according to handle\r
-  @retval EFI_SUCCESS   Success to find the handle\r
-**/\r
-EFI_STATUS\r
-SmbiosFindHandle (\r
-  IN      UINT8               TargetType,\r
-  IN      EFI_GUID            *SubClass,\r
-  IN      EFI_INTER_LINK_DATA *LinkData,\r
-  IN OUT  UINT16              *HandleNum\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldBase10ToWordWithMega (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldBase2ToWordWithKilo (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldTruncateToByte (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldProcessorType6 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldProcessorType9 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldProcessorType17 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldBase10ToByteWithNano (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldTruncateToWord (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldCacheType10 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-INT8\r
-SmbiosCheckTrailingZero (\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldCacheType5 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType2 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType3 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType4 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType5 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType6 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType7 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType8 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType9 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMemoryType10 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType0 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldBase2ToByteWith64K (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType1 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType2 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType3 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType8 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType9 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType10 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType11 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType12 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType13 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType14 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType15 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType21 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType32 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType38 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  );\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscTypeOEM (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldSMBIOSType6 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset, \r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType22 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType22 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType23 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType24 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType25 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType26 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType27 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType28 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType29 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType30 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType34 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType36 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType38 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType39 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-SmbiosFldMiscType127 (\r
-  IN OUT  SMBIOS_STRUCTURE_NODE     *StructureNode,\r
-  IN      UINT32                    Offset,\r
-  IN      VOID                      *RecordData,\r
-  IN      UINT32                    RecordDataSize\r
-  )\r
-;\r
-    \r
-EFI_STATUS\r
-SmbiosProtocolCreateRecord (\r
-  IN      EFI_HANDLE              ProducerHandle, OPTIONAL\r
-  IN      SMBIOS_STRUCTURE_NODE   *StructureNode\r
-  );\r
-  \r
-EFI_SMBIOS_PROTOCOL*\r
-GetSmbiosProtocol (\r
-  VOID\r
-  );\r
-    \r
-EFI_SMBIOS_TABLE_HEADER*\r
-GetSmbiosBufferFromHandle (\r
-  IN  EFI_SMBIOS_HANDLE  Handle,\r
-  IN  EFI_SMBIOS_TYPE    Type,\r
-  IN  EFI_HANDLE         ProducerHandle  OPTIONAL\r
-  );\r
-          \r
-EFI_STATUS\r
-EFIAPI\r
-GetSmbiosStructureSize (\r
-  IN   EFI_SMBIOS_TABLE_HEADER          *Head,\r
-  OUT  UINT32                           *Size,\r
-  OUT  UINT8                            *NumberOfStrings\r
-  );\r
-            \r
-#endif\r