/** @file\r
This protocol provides registering and unregistering services to status code consumers while in DXE SMM.\r
- \r
- Copyright (c) 2007 - 2009, 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
+ Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+ @par Revision Reference:\r
+ This Protocol was introduced in PI Specification 1.1.\r
\r
**/\r
\r
#ifndef __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__\r
#define __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__\r
\r
-#define EFI_SMM_RSC_HANDLER_PROTOCOL_GUID \\r
- { \\r
- 0x2ff29fa7, 0x5e80, 0x4ed9, {0xb3, 0x80, 0x1, 0x7d, 0x3c, 0x55, 0x4f, 0xf4} \\r
- }\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_RSC_HANDLER_CALLBACK)(\r
- IN EFI_STATUS_CODE_TYPE CodeType,\r
- IN EFI_STATUS_CODE_VALUE Value,\r
- IN UINT32 Instance,\r
- IN EFI_GUID *CallerId,\r
- IN EFI_STATUS_CODE_DATA *Data\r
-);\r
+#include <Protocol/MmReportStatusCodeHandler.h>\r
\r
-/**\r
- Register the callback function for ReportStatusCode() notification.\r
- \r
- When this function is called the function pointer is added to an internal list and any future calls to\r
- ReportStatusCode() will be forwarded to the Callback function.\r
- \r
- @param[in] Callback A pointer to a function of type EFI_RSC_HANDLER_CALLBACK that is called when\r
- a call to ReportStatusCode() occurs.\r
+#define EFI_SMM_RSC_HANDLER_PROTOCOL_GUID EFI_MM_RSC_HANDLER_PROTOCOL_GUID\r
\r
- @retval EFI_SUCCESS Function was successfully registered.\r
- @retval EFI_INVALID_PARAMETER The callback function was NULL.\r
- @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be\r
- registered.\r
- @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again.\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_RSC_HANDLER_REGISTER)(\r
- IN EFI_SMM_RSC_HANDLER_CALLBACK Callback\r
-);\r
+typedef EFI_MM_RSC_HANDLER_CALLBACK EFI_SMM_RSC_HANDLER_CALLBACK;\r
\r
-/**\r
- Remove a previously registered callback function from the notification list.\r
- \r
- A callback function must be unregistered before it is deallocated. It is important that any registered\r
- callbacks that are not runtime complaint be unregistered when ExitBootServices() is called.\r
+typedef EFI_MM_RSC_HANDLER_REGISTER EFI_SMM_RSC_HANDLER_REGISTER;\r
\r
- @param[in] Callback A pointer to a function of type EFI_SMM_RSC_HANDLER_CALLBACK that is to be\r
- unregistered.\r
- \r
- @retval EFI_SUCCESS The function was successfully unregistered.\r
- @retval EFI_INVALID_PARAMETER The callback function was NULL.\r
- @retval EFI_NOT_FOUND The callback function was not found to be unregistered.\r
- \r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_RSC_HANDLER_UNREGISTER) (\r
- IN EFI_SMM_RSC_HANDLER_CALLBACK Callback\r
-);\r
+typedef EFI_MM_RSC_HANDLER_UNREGISTER EFI_SMM_RSC_HANDLER_UNREGISTER;\r
\r
-typedef struct _EFI_SMM_RSC_HANDLER_PROTOCOL {\r
- EFI_SMM_RSC_HANDLER_REGISTER Register;\r
- SMM_RSC_HANDLER_UNREGISTER Unregister;\r
-} EFI_SMM_RSC_HANDLER_PROTOCOL;\r
+typedef EFI_MM_RSC_HANDLER_PROTOCOL EFI_SMM_RSC_HANDLER_PROTOCOL;\r
\r
-extern gEfiSmmRscHandlerProtocolGuid;\r
+extern EFI_GUID gEfiSmmRscHandlerProtocolGuid;\r
\r
#endif // __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__\r