]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Library/SmmRuntimeDxeReportStatusCodeLibFramework/ReportStatusCodeLibInternal.h
IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / SmmRuntimeDxeReportStatusCodeLibFramework / ReportStatusCodeLibInternal.h
CommitLineData
e5516b49 1/** @file\r
2 Internal Header file of Report Status Code Library for RUNTIME\r
3 DXE Phase.\r
4\r
180a5a35 5 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
c0a00b14 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
e5516b49 7\r
8**/\r
29f766e4 9#ifndef __REPORT_STATUS_CODE_LIB_INTERNAL__H__\r
10#define __REPORT_STATUS_CODE_LIB_INTERNAL__H__\r
e5516b49 11\r
55e1864e 12#include <FrameworkSmm.h>\r
e5516b49 13\r
14#include <Library/ReportStatusCodeLib.h>\r
15#include <Library/DebugLib.h>\r
e5516b49 16#include <Library/BaseLib.h>\r
17#include <Library/BaseMemoryLib.h>\r
18#include <Library/PcdLib.h>\r
19#include <Library/UefiRuntimeServicesTableLib.h>\r
9556741c 20#include <Library/UefiBootServicesTableLib.h>\r
2067710d 21#include <Library/DevicePathLib.h>\r
29f766e4 22#include <Library/MemoryAllocationLib.h>\r
e5516b49 23\r
24#include <Guid/StatusCodeDataTypeId.h>\r
3a6064fa 25#include <Guid/StatusCodeDataTypeDebug.h>\r
6a27a4eb 26#include <Guid/EventGroup.h>\r
29f766e4 27\r
19796be3 28#include <Protocol/SmmStatusCode.h>\r
e5516b49 29#include <Protocol/StatusCode.h>\r
29f766e4 30#include <Protocol/SmmBase.h>\r
31\r
e5516b49 32\r
29f766e4 33extern EFI_STATUS_CODE_DATA *mStatusCodeData;\r
9f6531d1 34\r
e5516b49 35/**\r
29f766e4 36 Internal worker function that reports a status code through the status code service.\r
e5516b49 37\r
29f766e4 38 If status code service is not cached, then this function checks if status code service is\r
39 available in system. If status code service is not available, then EFI_UNSUPPORTED is\r
40 returned. If status code service is present, then it is cached in mReportStatusCode.\r
41 Finally this function reports status code through the status code service.\r
e5516b49 42\r
43 @param Type Status code type.\r
44 @param Value Status code value.\r
45 @param Instance Status code instance number.\r
46 @param CallerId Pointer to a GUID that identifies the caller of this\r
47 function. This is an optional parameter that may be\r
48 NULL.\r
49 @param Data Pointer to the extended data buffer. This is an\r
50 optional parameter that may be NULL.\r
51\r
29f766e4 52 @retval EFI_SUCCESS The status code was reported.\r
53 @retval EFI_UNSUPPORTED Status code service is not available.\r
54 @retval EFI_UNSUPPORTED Status code type is not supported.\r
e5516b49 55\r
56**/\r
57EFI_STATUS\r
58InternalReportStatusCode (\r
59 IN EFI_STATUS_CODE_TYPE Type,\r
60 IN EFI_STATUS_CODE_VALUE Value,\r
61 IN UINT32 Instance,\r
62 IN CONST EFI_GUID *CallerId OPTIONAL,\r
63 IN EFI_STATUS_CODE_DATA *Data OPTIONAL\r
64 );\r
65\r
29f766e4 66#endif\r
e5516b49 67\r