mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-28 09:43:50 +01:00 
			
		
		
		
	https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
		
			
				
	
	
		
			154 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   API for SMBIOS Plug and Play functions, access to SMBIOS table and structures.
 | |
| 
 | |
|   Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #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
 |