From 5d73d92f560b079f41f62e91d15ddc1fda897867 Mon Sep 17 00:00:00 2001 From: jcarsey Date: Tue, 16 Nov 2010 22:36:37 +0000 Subject: Add "Debug1" profile (all but Edit and HexEdit commands) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11068 6f19259b-4bc3-4df7-8a09-765794883524 --- .../SmbiosView/LibSmbiosView.h | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.h (limited to 'ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.h') diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.h new file mode 100644 index 0000000000..7ef341b0d6 --- /dev/null +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.h @@ -0,0 +1,120 @@ +/** @file + API for SMBIOS Plug and Play functions, access to SMBIOS table and structures. + + Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.
+ 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 "LibSmbios.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 INVALIDE_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) + +EFI_STATUS +LibSmbiosInit ( + VOID + ); + +VOID +LibSmbiosCleanup ( + VOID + ); + +VOID +LibSmbiosGetEPS ( + SMBIOS_STRUCTURE_TABLE **pEntryPointStructure + ); + +VOID +LibSmbiosGetStructHead ( + SMBIOS_STRUCTURE_POINTER *pHead + ); + +EFI_STATUS +LibGetSmbiosInfo ( + OUT CHAR8 *dmiBIOSRevision, + OUT UINT16 *NumStructures, + OUT UINT16 *StructureSize, + OUT UINT32 *dmiStorageBase, + OUT UINT16 *dmiStorageSize + ); + +/*++ + Description: + Get SMBIOS Information. + + Arguments: + dmiBIOSRevision - Revision of the SMBIOS Extensions. + NumStructures - Max. Number of Structures the BIOS will return. + StructureSize - Size of largest SMBIOS Structure. + dmiStorageBase - 32-bit physical base address for memory mapped SMBIOS data. + dmiStorageSize - Size of the memory-mapped SMBIOS data. + + Returns: + DMI_SUCCESS - successful. + DMI_FUNCTION_NOT_SUPPORTED - Does not support SMBIOS calling interface capability. +**/ +EFI_STATUS +LibGetSmbiosStructure ( + IN OUT UINT16 *Handle, + IN OUT UINT8 *Buffer, + OUT UINT16 *Length + ); + +/*++ + Description: + Get SMBIOS structure given the Handle,copy data to the Buffer,Handle is then the next. + + Arguments: + Handle: - 0x0: get the first structure + - Others: get a certain structure according to this value. + Buffter: - contains the pointer to the caller's memory buffer. + + Returns: + DMI_SUCCESS - Buffer contains the required structure data + - Handle is updated with next structure handle or 0xFFFF(end-of-list). + DMI_INVALID_HANDLE - Buffer not contain the requiring structure data + - Handle is updated with next structure handle or 0xFFFF(end-of-list). +**/ +VOID +SmbiosGetPendingString ( + IN SMBIOS_STRUCTURE_POINTER *Smbios, + IN UINT16 StringNumber, + OUT CHAR8 *Buffer + ); + +EFI_STATUS +SmbiosCheckStructure ( + IN SMBIOS_STRUCTURE_POINTER *Smbios + ); + +#endif -- cgit v1.2.3