OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
DataHub.h File Reference

Go to the source code of this file.

Data Structures

struct  EFI_DATA_RECORD_HEADER
 
struct  _EFI_DATA_HUB_PROTOCOL
 

Macros

#define EFI_DATA_HUB_PROTOCOL_GUID
 
#define EFI_DATA_RECORD_HEADER_VERSION   0x0100
 
#define EFI_DATA_RECORD_CLASS_DEBUG   0x0000000000000001
 
#define EFI_DATA_RECORD_CLASS_ERROR   0x0000000000000002
 
#define EFI_DATA_RECORD_CLASS_DATA   0x0000000000000004
 
#define EFI_DATA_RECORD_CLASS_PROGRESS_CODE   0x0000000000000008
 

Typedefs

typedef struct _EFI_DATA_HUB_PROTOCOL EFI_DATA_HUB_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_LOG_DATA) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_GUID *DataRecordGuid, IN EFI_GUID *ProducerName, IN UINT64 DataRecordClass, IN VOID *RawData, IN UINT32 RawDataSize)
 
typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_GET_NEXT_RECORD) (IN EFI_DATA_HUB_PROTOCOL *This, IN OUT UINT64 *MonotonicCount, IN EFI_EVENT *FilterDriver OPTIONAL, OUT EFI_DATA_RECORD_HEADER **Record)
 
typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_REGISTER_FILTER_DRIVER) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_EVENT FilterEvent, IN EFI_TPL FilterTpl, IN UINT64 FilterClass, IN EFI_GUID *FilterDataRecordGuid OPTIONAL)
 
typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_EVENT FilterEvent)
 

Variables

EFI_GUID gEfiDataHubProtocolGuid
 

Detailed Description

The data hub protocol is used both by agents wishing to log data and those wishing to be made aware of all information that has been logged. This protocol may only be called <= TPL_NOTIFY.

Copyright (c) 2007 - 2018, 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 that 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.

Revision Reference:
The Data Hub Protocol is defined in Framework for EFI Data Hub Specification Version 0.9.

Definition in file DataHub.h.

Macro Definition Documentation

◆ EFI_DATA_HUB_PROTOCOL_GUID

#define EFI_DATA_HUB_PROTOCOL_GUID
Value:
{ \
0xae80d021, 0x618e, 0x11d4, {0xbc, 0xd7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
}

Definition at line 24 of file DataHub.h.

◆ EFI_DATA_RECORD_CLASS_DATA

#define EFI_DATA_RECORD_CLASS_DATA   0x0000000000000004

Definition at line 64 of file DataHub.h.

◆ EFI_DATA_RECORD_CLASS_DEBUG

#define EFI_DATA_RECORD_CLASS_DEBUG   0x0000000000000001

Definition at line 62 of file DataHub.h.

◆ EFI_DATA_RECORD_CLASS_ERROR

#define EFI_DATA_RECORD_CLASS_ERROR   0x0000000000000002

Definition at line 63 of file DataHub.h.

◆ EFI_DATA_RECORD_CLASS_PROGRESS_CODE

#define EFI_DATA_RECORD_CLASS_PROGRESS_CODE   0x0000000000000008

Definition at line 65 of file DataHub.h.

◆ EFI_DATA_RECORD_HEADER_VERSION

#define EFI_DATA_RECORD_HEADER_VERSION   0x0100

Definition at line 44 of file DataHub.h.

Typedef Documentation

◆ EFI_DATA_HUB_GET_NEXT_RECORD

typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_GET_NEXT_RECORD) (IN EFI_DATA_HUB_PROTOCOL *This, IN OUT UINT64 *MonotonicCount, IN EFI_EVENT *FilterDriver OPTIONAL, OUT EFI_DATA_RECORD_HEADER **Record)

Allows the system data log to be searched.

Parameters
ThisThe EFI_DATA_HUB_PROTOCOL instance.
MonotonicCountOn input, it specifies the Record to return. An input of zero means to return the first record, as does an input of one.
FilterDriverIf FilterDriver is not passed in a MonotonicCount of zero, it means to return the first data record. If FilterDriver is passed in, then a MonotonicCount of zero means to return the first data not yet read by FilterDriver.
RecordReturns a dynamically allocated memory buffer with a data record that matches MonotonicCount.
Return values
EFI_SUCCESSData was returned in Record.
EFI_INVALID_PARAMETERFilterDriver was passed in but does not exist.
EFI_NOT_FOUNDMonotonicCount does not match any data record in the system. If a MonotonicCount of zero was passed in, then no data records exist in the system.
EFI_OUT_OF_RESOURCESRecord was not returned due to lack of system resources.
Note
Inconsistent with specification here: In Framework for EFI Data Hub Specification, Version 0.9, This definition is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is maintained for backward compatibility.

Definition at line 125 of file DataHub.h.

◆ EFI_DATA_HUB_LOG_DATA

typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_LOG_DATA) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_GUID *DataRecordGuid, IN EFI_GUID *ProducerName, IN UINT64 DataRecordClass, IN VOID *RawData, IN UINT32 RawDataSize)

Logs a data record to the system event log.

Parameters
ThisThe EFI_DATA_HUB_PROTOCOL instance.
DataRecordGuidA GUID that indicates the format of the data passed into RawData.
ProducerNameA GUID that indicates the identity of the caller to this API.
DataRecordClassThis class indicates the generic type of the data record.
RawDataThe DataRecordGuid-defined data to be logged.
RawDataSizeThe size in bytes of RawData.
Return values
EFI_SUCCESSData was logged.
EFI_OUT_OF_RESOURCESData was not logged due to lack of system resources.

Definition at line 87 of file DataHub.h.

◆ EFI_DATA_HUB_PROTOCOL

Definition at line 70 of file DataHub.h.

◆ EFI_DATA_HUB_REGISTER_FILTER_DRIVER

typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_REGISTER_FILTER_DRIVER) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_EVENT FilterEvent, IN EFI_TPL FilterTpl, IN UINT64 FilterClass, IN EFI_GUID *FilterDataRecordGuid OPTIONAL)

Registers an event to be signaled every time a data record is logged in the system.

Parameters
ThisThe EFI_DATA_HUB_PROTOCOL instance.
FilterEventThe EFI_EVENT to signal whenever data that matches FilterClass is logged in the system.
FilterTplThe maximum EFI_TPL at which FilterEvent can be signaled. It is strongly recommended that you use the lowest EFI_TPL possible.
FilterClassFilterEvent will be signaled whenever a bit in EFI_DATA_RECORD_HEADER.DataRecordClass is also set in FilterClass. If FilterClass is zero, no class-based filtering will be performed.
FilterDataRecordGuidFilterEvent will be signaled whenever FilterDataRecordGuid matches EFI_DATA_RECORD_HEADER.DataRecordGuid. If FilterDataRecordGuid is NULL, then no GUID-based filtering will be performed.
Return values
EFI_SUCCESSThe filter driver event was registered
EFI_ALREADY_STARTEDFilterEvent was previously registered and cannot be registered again.
EFI_OUT_OF_RESOURCESThe filter driver event was not registered due to lack of system resources.
Note
Inconsistent with specification here: In Framework for EFI Data Hub Specification, Version 0.9, This definition is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency is maintained for backward compatibility.

Definition at line 163 of file DataHub.h.

◆ EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER

typedef EFI_STATUS(EFIAPI * EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER) (IN EFI_DATA_HUB_PROTOCOL *This, IN EFI_EVENT FilterEvent)

Stops a filter driver from being notified when data records are logged.

Parameters
ThisThe EFI_DATA_HUB_PROTOCOL instance.
FilterEventThe EFI_EVENT to remove from the list of events to be signaled every time errors are logged.
Return values
EFI_SUCCESSThe filter driver represented by FilterEvent was shut off.
EFI_NOT_FOUNDFilterEvent did not exist.
Note
Inconsistent with specification here: In Framework for EFI Data Hub Specification, Version 0.9, This definition is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency is maintained for backward compatibility.

Definition at line 187 of file DataHub.h.

Variable Documentation

◆ gEfiDataHubProtocolGuid

EFI_GUID gEfiDataHubProtocolGuid
extern