| /** @file | |
| API for SMBIOS Plug and Play functions, access to SMBIOS table and structures. | |
| Copyright (c) 2005 - 2015, 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 _LIB_SMBIOS_VIEW_H_ | |
| #define _LIB_SMBIOS_VIEW_H_ | |
| #include <IndustryStandard/SmBios.h> | |
| #define DMI_SUCCESS 0x00 | |
| #define DMI_UNKNOWN_FUNCTION 0x81 | |
| #define DMI_FUNCTION_NOT_SUPPORTED 0x82 | |
| #define DMI_INVALID_HANDLE 0x83 | |
| #define DMI_BAD_PARAMETER 0x84 | |
| #define DMI_INVALID_SUBFUNCTION 0x85 | |
| #define DMI_NO_CHANGE 0x86 | |
| #define DMI_ADD_STRUCTURE_FAILED 0x87 | |
| #define DMI_READ_ONLY 0x8D | |
| #define DMI_LOCK_NOT_SUPPORTED 0x90 | |
| #define DMI_CURRENTLY_LOCKED 0x91 | |
| #define DMI_INVALID_LOCK 0x92 | |
| #define INVALID_HANDLE (UINT16) (-1) | |
| #define EFI_SMBIOSERR(val) EFIERR (0x30000 | val) | |
| #define EFI_SMBIOSERR_FAILURE EFI_SMBIOSERR (1) | |
| #define EFI_SMBIOSERR_STRUCT_NOT_FOUND EFI_SMBIOSERR (2) | |
| #define EFI_SMBIOSERR_TYPE_UNKNOWN EFI_SMBIOSERR (3) | |
| #define EFI_SMBIOSERR_UNSUPPORTED EFI_SMBIOSERR (4) | |
| /** | |
| Init the SMBIOS VIEW API's environment for the 32-bit table.. | |
| @retval EFI_SUCCESS Successful to init the SMBIOS VIEW Lib. | |
| **/ | |
| EFI_STATUS | |
| LibSmbiosInit ( | |
| VOID | |
| ); | |
| /** | |
| Init the SMBIOS VIEW API's environment for the 64-bit table.. | |
| @retval EFI_SUCCESS Successful to init the SMBIOS VIEW Lib. | |
| **/ | |
| EFI_STATUS | |
| LibSmbios64BitInit ( | |
| VOID | |
| ); | |
| /** | |
| Cleanup the Smbios information. | |
| **/ | |
| VOID | |
| LibSmbiosCleanup ( | |
| VOID | |
| ); | |
| /** | |
| Cleanup the Smbios information. | |
| **/ | |
| VOID | |
| LibSmbios64BitCleanup ( | |
| VOID | |
| ); | |
| /** | |
| Get the entry point structure for the table. | |
| @param[out] EntryPointStructure The pointer to populate. | |
| **/ | |
| VOID | |
| LibSmbiosGetEPS ( | |
| OUT SMBIOS_TABLE_ENTRY_POINT **EntryPointStructure | |
| ); | |
| /** | |
| Get the entry point structure for the 64-bit table. | |
| @param[out] EntryPointStructure The pointer to populate. | |
| **/ | |
| VOID | |
| LibSmbios64BitGetEPS ( | |
| OUT SMBIOS_TABLE_3_0_ENTRY_POINT **EntryPointStructure | |
| ); | |
| /** | |
| Return SMBIOS string for the given string number. | |
| @param[in] Smbios Pointer to SMBIOS structure. | |
| @param[in] StringNumber String number to return. -1 is used to skip all strings and | |
| point to the next SMBIOS structure. | |
| @return Pointer to string, or pointer to next SMBIOS strcuture if StringNumber == -1 | |
| **/ | |
| CHAR8* | |
| LibGetSmbiosString ( | |
| IN SMBIOS_STRUCTURE_POINTER *Smbios, | |
| IN UINT16 StringNumber | |
| ); | |
| /** | |
| Get SMBIOS structure for the given Handle, | |
| Handle is changed to the next handle or 0xFFFF when the end is | |
| reached or the handle is not found. | |
| @param[in, out] Handle 0xFFFF: get the first structure | |
| Others: get a structure according to this value. | |
| @param[out] Buffer The pointer to the pointer to the structure. | |
| @param[out] Length Length of the structure. | |
| @retval DMI_SUCCESS Handle is updated with next structure handle or | |
| 0xFFFF(end-of-list). | |
| @retval DMI_INVALID_HANDLE Handle is updated with first structure handle or | |
| 0xFFFF(end-of-list). | |
| **/ | |
| EFI_STATUS | |
| LibGetSmbiosStructure ( | |
| IN OUT UINT16 *Handle, | |
| OUT UINT8 **Buffer, | |
| OUT UINT16 *Length | |
| ); | |
| /** | |
| Get SMBIOS structure for the given Handle in 64-bit table, | |
| Handle is changed to the next handle or 0xFFFF when the end is | |
| reached or the handle is not found. | |
| @param[in, out] Handle 0xFFFF: get the first structure | |
| Others: get a structure according to this value. | |
| @param[out] Buffer The pointer to the pointer to the structure. | |
| @param[out] Length Length of the structure. | |
| @retval DMI_SUCCESS Handle is updated with next structure handle or | |
| 0xFFFF(end-of-list). | |
| @retval DMI_INVALID_HANDLE Handle is updated with first structure handle or | |
| 0xFFFF(end-of-list). | |
| **/ | |
| EFI_STATUS | |
| LibGetSmbios64BitStructure ( | |
| IN OUT UINT16 *Handle, | |
| OUT UINT8 **Buffer, | |
| OUT UINT16 *Length | |
| ); | |
| #endif |