From 30c8ee5cbe89b0722ae116bb0fc6b455b8ebe562 Mon Sep 17 00:00:00 2001 From: xli24 Date: Tue, 29 Dec 2009 08:50:51 +0000 Subject: Create RuntimeDxeReportStatusCodeLib instance. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9633 6f19259b-4bc3-4df7-8a09-765794883524 --- .../ReportStatusCodeLibInternal.h | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCodeLibInternal.h (limited to 'MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCodeLibInternal.h') diff --git a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCodeLibInternal.h b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCodeLibInternal.h new file mode 100644 index 0000000000..38e69d2343 --- /dev/null +++ b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCodeLibInternal.h @@ -0,0 +1,84 @@ +/** @file + Internal Header file of Report Status Code Library for RUNTIME + DXE Phase. + + Copyright (c) 2006 - 2009, 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 __REPORT_STATUS_CODE_LIB_INTERNAL__H__ +#define __REPORT_STATUS_CODE_LIB_INTERNAL__H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +extern EFI_STATUS_CODE_DATA *mStatusCodeData; + +/** + Locate the report status code service. + + It first tries to retrieve ReportStatusCode() in Runtime Services Table. + If not found, it then tries to retrieve ReportStatusCode() API of Report Status Code Protocol. + + @return Function pointer to the report status code service. + NULL is returned if no status code service is available. + +**/ +EFI_REPORT_STATUS_CODE +InternalGetReportStatusCode ( + VOID + ); + +/** + Internal worker function that reports a status code through the status code service. + + If status code service is not cached, then this function checks if status code service is + available in system. If status code service is not available, then EFI_UNSUPPORTED is + returned. If status code service is present, then it is cached in mReportStatusCode. + Finally this function reports status code through the status code service. + + @param Type Status code type. + @param Value Status code value. + @param Instance Status code instance number. + @param CallerId Pointer to a GUID that identifies the caller of this + function. This is an optional parameter that may be + NULL. + @param Data Pointer to the extended data buffer. This is an + optional parameter that may be NULL. + + @retval EFI_SUCCESS The status code was reported. + @retval EFI_UNSUPPORTED Status code service is not available. + @retval EFI_UNSUPPORTED Status code type is not supported. + +**/ +EFI_STATUS +InternalReportStatusCode ( + IN EFI_STATUS_CODE_TYPE Type, + IN EFI_STATUS_CODE_VALUE Value, + IN UINT32 Instance, + IN CONST EFI_GUID *CallerId OPTIONAL, + IN EFI_STATUS_CODE_DATA *Data OPTIONAL + ); + +#endif + -- cgit v1.2.3