+++ /dev/null
-/** @file\r
-Header file for the SmbiosMisc Driver.\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-**/\r
-\r
-#ifndef _SMBIOS_MISC_H\r
-#define _SMBIOS_MISC_H\r
-\r
-#include "MiscDevicePath.h"\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/PrintLib.h>\r
-\r
-///\r
-/// Reference SMBIOS 2.6, chapter 3.1.3.\r
-/// Each text string is limited to 64 significant characters due to system MIF limitations.\r
-///\r
-#define SMBIOS_STRING_MAX_LENGTH 64\r
-#define SMBIOS_PORT_CONNECTOR_MAX_NUM 14\r
-\r
-typedef struct {\r
- CHAR16 PortInternalConnectorDesignator[SMBIOS_STRING_MAX_LENGTH];\r
- CHAR16 PortExternalConnectorDesignator[SMBIOS_STRING_MAX_LENGTH];\r
- UINT8 PortInternalConnectorType;\r
- UINT8 PortExternalConnectorType;\r
- UINT8 PortType;\r
-} SMBIOS_PORT_CONNECTOR_DESIGNATOR;\r
-\r
-typedef struct {\r
- UINT8 SMBIOSConnectorNumber;\r
- SMBIOS_PORT_CONNECTOR_DESIGNATOR SMBIOSPortConnector[SMBIOS_PORT_CONNECTOR_MAX_NUM];\r
-} SMBIOS_PORT_CONNECTOR_DESIGNATOR_COFNIG;\r
-\r
-#define SMBIOS_SYSTEM_SLOT_MAX_NUM 14\r
-\r
-typedef struct {\r
- CHAR16 SlotDesignation[SMBIOS_STRING_MAX_LENGTH];\r
- UINT8 SlotType;\r
- UINT8 SlotDataBusWidth;\r
- UINT8 SlotUsage;\r
- UINT8 SlotLength;\r
- UINT16 SlotId;\r
- UINT32 SlotCharacteristics;\r
-} SMBIOS_SLOT_DESIGNATION;\r
-\r
-typedef struct {\r
- UINT8 SMBIOSSystemSlotNumber;\r
- SMBIOS_SLOT_DESIGNATION SMBIOSSystemSlot[SMBIOS_SYSTEM_SLOT_MAX_NUM];\r
-} SMBIOS_SLOT_COFNIG;\r
-\r
-//\r
-// Data table entry update function.\r
-//\r
-typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (\r
- IN VOID *RecordData,\r
- IN EFI_SMBIOS_PROTOCOL *Smbios\r
- );\r
-\r
-\r
-//\r
-// Data table entry definition.\r
-//\r
-typedef struct {\r
- //\r
- // intermediat input data for SMBIOS record\r
- //\r
- VOID *RecordData;\r
- EFI_MISC_SMBIOS_DATA_FUNCTION *Function;\r
-} EFI_MISC_SMBIOS_DATA_TABLE;\r
-\r
-//\r
-// Data Table extern definitions.\r
-//\r
-#define MISC_SMBIOS_DATA_TABLE_POINTER(NAME1) \\r
- & NAME1 ## Data\r
-\r
-//\r
-// Data Table extern definitions.\r
-//\r
-#define MISC_SMBIOS_DATA_TABLE_EXTERNS(NAME1, NAME2) \\r
-extern NAME1 NAME2 ## Data\r
-\r
-//\r
-// Data and function Table extern definitions.\r
-//\r
-#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \\r
-extern NAME1 NAME2 ## Data; \\r
-extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function\r
-\r
-\r
-//\r
-// Data Table entries\r
-//\r
-\r
-#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \\r
-{ \\r
- & NAME1 ## Data, \\r
- & NAME2 ## Function \\r
-}\r
-\r
-\r
-//\r
-// Global definition macros.\r
-//\r
-#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \\r
- NAME1 NAME2 ## Data\r
-\r
-#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \\r
- EFI_STATUS EFIAPI NAME2 ## Function( \\r
- IN VOID *RecordData, \\r
- IN EFI_SMBIOS_PROTOCOL *Smbios \\r
- )\r
-\r
-\r
-// Data Table Array\r
-//\r
-extern EFI_MISC_SMBIOS_DATA_TABLE mSmbiosMiscDataTable[];\r
-\r
-//\r
-// Data Table Array Entries\r
-//\r
-extern UINTN mSmbiosMiscDataTableEntries;\r
-extern EFI_HII_HANDLE mHiiHandle;\r
-//\r
-// Prototypes\r
-//\r
-EFI_STATUS\r
-PiSmbiosMiscEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- );\r
-\r
-#endif\r