/** @file\r
The data hub protocol is used both by agents wishing to log\r
data and those wishing to be made aware of all information that\r
- has been logged.\r
+ has been logged. This protocol may only be called <= TPL_NOTIFY.\r
\r
- For more information please look at Intel Platform Innovation\r
- Framework for EFI Data Hub Specification.\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.\r
\r
- Copyright (c) 2007, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
- Module Name: DataHub.h\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
@par Revision Reference:\r
- This protocol is defined in Framework for EFI Data Hub Specification.\r
+ The Data Hub Protocol is defined in Framework for EFI Data Hub Specification\r
Version 0.9.\r
\r
**/\r
\r
-#ifndef _DATA_HUB_H_\r
-#define _DATA_HUB_H_\r
-\r
-#include <PiDxe.h>\r
+#ifndef __DATA_HUB_H__\r
+#define __DATA_HUB_H__\r
\r
#define EFI_DATA_HUB_PROTOCOL_GUID \\r
{ \\r
// A Data Record is an EFI_DATA_RECORD_HEADER followed by RecordSize bytes of\r
// data. The format of the data is defined by the DataRecordGuid.\r
//\r
-// If EFI_DATA_RECORD_HEADER is extended in the future the Version number must\r
-// change and the HeaderSize will change if the definition of\r
-// EFI_DATA_RECORD_HEADER is extended.\r
+// If EFI_DATA_RECORD_HEADER is extended in the future, the Version number and HeaderSize must\r
+// change.\r
//\r
// The logger is responcible for initializing:\r
// Version, HeaderSize, RecordSize, DataRecordGuid, DataRecordClass\r
//\r
// Definition of DataRecordClass. These are used to filter out class types\r
// at a very high level. The DataRecordGuid still defines the format of\r
-// the data. See DateHub.doc for rules on what can and can not be a\r
+// the data. See the Data Hub Specification for rules on what can and can not be a\r
// new DataRecordClass\r
//\r
#define EFI_DATA_RECORD_CLASS_DEBUG 0x0000000000000001\r
Logs a data record to the system event log.\r
\r
@param This The EFI_DATA_HUB_PROTOCOL instance.\r
- @param description\r
@param DataRecordGuid A GUID that indicates the format of the data passed into RawData.\r
@param ProducerName A GUID that indicates the identity of the caller to this API.\r
@param DataRecordClass This class indicates the generic type of the data record.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_DATA_HUB_LOG_DATA) (\r
+(EFIAPI *EFI_DATA_HUB_LOG_DATA)(\r
IN EFI_DATA_HUB_PROTOCOL *This,\r
IN EFI_GUID *DataRecordGuid,\r
IN EFI_GUID *ProducerName,\r
\r
@param This The EFI_DATA_HUB_PROTOCOL instance.\r
@param MonotonicCount On input, it specifies the Record to return.\r
- An input of zero means to return the first record.\r
- @param FilterDriver If FilterDriver is not passed in a MonotonicCount of zero,\r
- it means to return the first data record. If FilterDriver is passed in,\r
- then a MonotonicCount of zero means to return the first data not yet read\r
+ An input of zero means to return the first record,\r
+ as does an input of one.\r
+ @param FilterDriver If FilterDriver is not passed in a MonotonicCount\r
+ of zero, it means to return the first data record.\r
+ If FilterDriver is passed in, then a MonotonicCount\r
+ of zero means to return the first data not yet read\r
by FilterDriver.\r
- @param Record Returns a dynamically allocated memory buffer with a data\r
- record that matches MonotonicCount.\r
+ @param Record Returns a dynamically allocated memory buffer with\r
+ a data record that matches MonotonicCount.\r
\r
@retval EFI_SUCCESS Data was returned in Record.\r
@retval EFI_INVALID_PARAMETER FilterDriver was passed in but does not exist.\r
@retval EFI_NOT_FOUND MonotonicCount does not match any data record\r
- in the system. If a MonotonicCount of zero was passed in, then no\r
- data records exist in the system.\r
+ in the system. If a MonotonicCount of zero was\r
+ passed in, then no data records exist in the system.\r
@retval EFI_OUT_OF_RESOURCES Record was not returned due to lack\r
of system resources.\r
-\r
+ @note Inconsistent with specification here:\r
+ In Framework for EFI Data Hub Specification, Version 0.9, This definition\r
+ is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is\r
+ maintained for backward compatibility.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_DATA_HUB_GET_NEXT_RECORD) (\r
+(EFIAPI *EFI_DATA_HUB_GET_NEXT_RECORD)(\r
IN EFI_DATA_HUB_PROTOCOL *This,\r
IN OUT UINT64 *MonotonicCount,\r
IN EFI_EVENT *FilterDriver OPTIONAL,\r
@param This The EFI_DATA_HUB_PROTOCOL instance.\r
@param FilterEvent The EFI_EVENT to signal whenever data that matches\r
FilterClass is logged in the system.\r
- @param FilterTpl The maximum EFI_TPL at which FilterEvent can be signaled.\r
- It is strongly recommended that you use the lowest EFI_TPL possible.\r
+ @param FilterTpl The maximum EFI_TPL at which FilterEvent can be\r
+ signaled. It is strongly recommended that you use\r
+ the lowest EFI_TPL possible.\r
@param FilterClass FilterEvent will be signaled whenever a bit\r
- in EFI_DATA_RECORD_HEADER.DataRecordClass is also set in FilterClass.\r
- If FilterClass is zero, no class-based filtering will be performed.\r
+ in EFI_DATA_RECORD_HEADER.DataRecordClass is also\r
+ set in FilterClass. If FilterClass is zero, no\r
+ class-based filtering will be performed.\r
@param FilterDataRecordGuid FilterEvent will be signaled whenever\r
- FilterDataRecordGuid matches EFI_DATA_RECORD_HEADER.DataRecordGuid.\r
- If FilterDataRecordGuid is NULL, then no GUID-based filtering will be performed.\r
+ FilterDataRecordGuid matches\r
+ EFI_DATA_RECORD_HEADER.DataRecordGuid.\r
+ If FilterDataRecordGuid is NULL, then no GUID-based\r
+ filtering will be performed.\r
\r
@retval EFI_SUCCESS The filter driver event was registered\r
- @retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot be registered again.\r
+ @retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot\r
+ be registered again.\r
@retval EFI_OUT_OF_RESOURCES The filter driver event was not registered\r
due to lack of system resources.\r
-\r
+ @note Inconsistent with specification here:\r
+ In Framework for EFI Data Hub Specification, Version 0.9, This definition\r
+ is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency\r
+ is maintained for backward compatibility.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_DATA_HUB_REGISTER_FILTER_DRIVER) (\r
+(EFIAPI *EFI_DATA_HUB_REGISTER_FILTER_DRIVER)(\r
IN EFI_DATA_HUB_PROTOCOL *This,\r
IN EFI_EVENT FilterEvent,\r
IN EFI_TPL FilterTpl,\r
\r
@retval EFI_SUCCESS The filter driver represented by FilterEvent was shut off.\r
@retval EFI_NOT_FOUND FilterEvent did not exist.\r
-\r
+ @note Inconsistent with specification here:\r
+ In Framework for EFI Data Hub Specification, Version 0.9, This definition\r
+ is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency\r
+ is maintained for backward compatibility.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER) (\r
+(EFIAPI *EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER)(\r
IN EFI_DATA_HUB_PROTOCOL *This,\r
IN EFI_EVENT FilterEvent\r
);\r
\r
/**\r
- @par Protocol Description:\r
This protocol is used to log information and register filter drivers\r
to receive data records.\r
-\r
- @param LogData\r
- Logs a data record.\r
-\r
- @param GetNextDataRecord\r
- Gets a data record. Used both to view the memory-based log and to\r
- get information about which data records have been consumed by a filter driver.\r
-\r
- @param RegisterFilterDriver\r
- Allows the registration of an EFI event to act as a filter driver for all data records that are logged.\r
-\r
- @param UnregisterFilterDriver\r
- Used to remove a filter driver that was added with RegisterFilterDriver().\r
-\r
**/\r
struct _EFI_DATA_HUB_PROTOCOL {\r
+ ///\r
+ /// Logs a data record.\r
+ ///\r
EFI_DATA_HUB_LOG_DATA LogData;\r
+\r
+ ///\r
+ /// Gets a data record. Used both to view the memory-based log and to\r
+ /// get information about which data records have been consumed by a filter driver.\r
+ ///\r
EFI_DATA_HUB_GET_NEXT_RECORD GetNextRecord;\r
+\r
+ ///\r
+ /// Allows the registration of an EFI event to act as a filter driver for all data records that are logged.\r
+ ///\r
EFI_DATA_HUB_REGISTER_FILTER_DRIVER RegisterFilterDriver;\r
+\r
+ ///\r
+ /// Used to remove a filter driver that was added with RegisterFilterDriver().\r
+ ///\r
EFI_DATA_HUB_UNREGISTER_FILTER_DRIVER UnregisterFilterDriver;\r
};\r
\r