]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/MmStatusCode.h
MdePkg FirmwareManagement.h: Fix typo EFI_SECURITY_VIOLATIO
[mirror_edk2.git] / MdePkg / Include / Protocol / MmStatusCode.h
CommitLineData
07c6a47e
ED
1/** @file\r
2 EFI MM Status Code Protocol as defined in the PI 1.5 specification.\r
3\r
4 This protocol provides the basic status code services while in MM.\r
5\r
6 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>\r
7 This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14\r
15**/\r
16\r
17#ifndef _MM_STATUS_CODE_H__\r
18#define _MM_STATUS_CODE_H__\r
19\r
20\r
21#define EFI_MM_STATUS_CODE_PROTOCOL_GUID \\r
22 { \\r
23 0x6afd2b77, 0x98c1, 0x4acd, {0xa6, 0xf9, 0x8a, 0x94, 0x39, 0xde, 0xf, 0xb1} \\r
24 }\r
25\r
26typedef struct _EFI_MM_STATUS_CODE_PROTOCOL EFI_MM_STATUS_CODE_PROTOCOL;\r
27\r
28/**\r
29 Service to emit the status code in MM.\r
30\r
31 The EFI_MM_STATUS_CODE_PROTOCOL.ReportStatusCode() function enables a driver\r
32 to emit a status code while in MM. The reason that there is a separate protocol definition from the\r
33 DXE variant of this service is that the publisher of this protocol will provide a service that is\r
34 capability of coexisting with a foreground operational environment, such as an operating system\r
35 after the termination of boot services.\r
36\r
37 @param[in] This Points to this instance of the EFI_MM_STATUS_CODE_PROTOCOL.\r
38 @param[in] CodeType DIndicates the type of status code being reported.\r
39 @param[in] Value Describes the current status of a hardware or software entity.\r
40 @param[in] Instance The enumeration of a hardware or software entity within the system.\r
41 @param[in] CallerId This optional parameter may be used to identify the caller.\r
42 @param[in] Data This optional parameter may be used to pass additional data.\r
43\r
44 @retval EFI_SUCCESS The function completed successfully.\r
45 @retval EFI_INVALID_PARAMETER The function should not be completed due to a device error.\r
46**/\r
47typedef\r
48EFI_STATUS\r
49(EFIAPI *EFI_MM_REPORT_STATUS_CODE)(\r
50 IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,\r
51 IN EFI_STATUS_CODE_TYPE CodeType,\r
52 IN EFI_STATUS_CODE_VALUE Value,\r
53 IN UINT32 Instance,\r
54 IN CONST EFI_GUID *CallerId,\r
55 IN EFI_STATUS_CODE_DATA *Data OPTIONAL\r
56 );\r
57\r
58struct _EFI_MM_STATUS_CODE_PROTOCOL {\r
59 EFI_MM_REPORT_STATUS_CODE ReportStatusCode;\r
60};\r
61\r
62extern EFI_GUID gEfiMmStatusCodeProtocolGuid;\r
63\r
64#endif\r
65\r