/** @file Internal include file for Datahub Status Code Handler Driver. Copyright (c) 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __DATAHUB_STATUS_CODE_HANDLER_DXE_H__ #define __DATAHUB_STATUS_CODE_HANDLER_DXE_H__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // // Data hub worker definition // #define DATAHUB_STATUS_CODE_SIGNATURE SIGNATURE_32 ('B', 'D', 'H', 'S') typedef struct { UINTN Signature; LIST_ENTRY Node; UINT8 Data[sizeof(DATA_HUB_STATUS_CODE_DATA_RECORD) + EFI_STATUS_CODE_DATA_MAX_SIZE]; } DATAHUB_STATUSCODE_RECORD; /** Report status code into DataHub. @param CodeType Indicates the type of status code being reported. @param Value Describes the current status of a hardware or software entity. This included information about the class and subclass that is used to classify the entity as well as an operation. @param Instance The enumeration of a hardware or software entity within the system. Valid instance numbers start with 1. @param CallerId This optional parameter may be used to identify the caller. This parameter allows the status code driver to apply different rules to different callers. @param Data This optional parameter may be used to pass additional data. @retval EFI_SUCCESS The function completed successfully. @retval EFI_DEVICE_ERROR Function is reentered. @retval EFI_DEVICE_ERROR Function is called at runtime. @retval EFI_OUT_OF_RESOURCES Fail to allocate memory for free record buffer. **/ EFI_STATUS EFIAPI DataHubStatusCodeReportWorker ( IN EFI_STATUS_CODE_TYPE CodeType, IN EFI_STATUS_CODE_VALUE Value, IN UINT32 Instance, IN EFI_GUID *CallerId, IN EFI_STATUS_CODE_DATA *Data OPTIONAL ); /** Locate Data Hub Protocol and create event for logging data as initialization for data hub status code worker. @retval EFI_SUCCESS Initialization is successful. **/ EFI_STATUS DataHubStatusCodeInitializeWorker ( VOID ); #endif