SmbiosDxe.h revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
/** @file
This code supports the implementation of the Smbios protocol
Copyright (c) 2009 - 2012, 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
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 _SMBIOS_DXE_H_
#define _SMBIOS_DXE_H_
#include <PiDxe.h>
#include <IndustryStandard/SmBios.h>
#include <Guid/EventGroup.h>
#include <Library/DebugLib.h>
#include <Library/UefiDriverEntryPoint.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
//
// The length of the entire structure table (including all strings) must be reported
// in the Structure Table Length field of the SMBIOS Structure Table Entry Point,
// which is a WORD field limited to 65,535 bytes.
//
#define SMBIOS_TABLE_MAX_LENGTH 0xFFFF
typedef struct {
//
// Produced protocol
//
//
// Updates to record list must be locked.
//
//
// List of EFI_SMBIOS_ENTRY structures.
//
//
// List of allocated SMBIOS handle.
//
#define SMBIOS_INSTANCE_FROM_THIS(this) CR (this, SMBIOS_INSTANCE, Smbios, SMBIOS_INSTANCE_SIGNATURE)
//
// SMBIOS record Header
//
// An SMBIOS internal Record is an EFI_SMBIOS_RECORD_HEADER followed by (RecordSize - HeaderSize) bytes of
// data. The format of the data is defined by the SMBIOS spec.
//
//
#define EFI_SMBIOS_RECORD_HEADER_VERSION 0x0100
typedef struct {
//
// Private data structure to contain the SMBIOS record. One record per
// structure. SmbiosRecord is a copy of the data passed in and follows RecordHeader .
//
typedef struct {
//
// Private data to contain the Smbios handle that already allocated.
//
typedef struct {
//
// Filter driver will register what record guid filter should be used.
//
#define SMBIOS_HANDLE_ENTRY_FROM_LINK(link) CR (link, SMBIOS_HANDLE_ENTRY, Link, SMBIOS_HANDLE_ENTRY_SIGNATURE)
typedef struct {
/**
Create Smbios Table and installs the Smbios Table to the System Table.
**/
);
#endif