]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Library/OemHookStatusCodeLib.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Include / Library / OemHookStatusCodeLib.h
CommitLineData
75dea6bd 1/** @file\r
d1102dba 2 OEM hook status code library. Platform can implement an instance to\r
75dea6bd 3 initialize the OEM devices to report status code information.\r
4\r
d1102dba 5Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
75dea6bd 7\r
8**/\r
9\r
10#ifndef __OEM_HOOK_STATUSCODE_LIB__\r
11#define __OEM_HOOK_STATUSCODE_LIB__\r
12\r
13/**\r
14\r
64a80549 15 Initialize OEM status code device.\r
75dea6bd 16\r
17\r
18 @return Status of initialization of OEM status code device.\r
d1102dba 19\r
75dea6bd 20**/\r
21EFI_STATUS\r
22EFIAPI\r
23OemHookStatusCodeInitialize (\r
24 VOID\r
25 );\r
26\r
27/**\r
28 Report status code to OEM device.\r
d1102dba
LG
29\r
30 @param CodeType Indicates the type of status code being reported.\r
31\r
32 @param Value Describes the current status of a hardware or software entity.\r
33 This includes both an operation and classification information\r
64a80549 34 about the class and subclass.\r
d1102dba
LG
35 For progress codes, the operation is the current activity.\r
36 For error codes, it is the exception. For debug codes,\r
37 it is not defined at this time.\r
38 Specific values are discussed in the Intel Platform Innovation\r
64a80549 39 Framework for EFI Status Code Specification.\r
d1102dba
LG
40\r
41 @param Instance The enumeration of a hardware or software entity within the system.\r
42 A system may contain multiple entities that match a class/subclass\r
43 pairing.\r
44 The instance differentiates between them. An instance of 0\r
45 indicates that instance information is unavailable,\r
46 not meaningful, or not relevant. Valid instance numbers\r
64a80549 47 start with 1.\r
75dea6bd 48\r
49\r
d1102dba
LG
50 @param CallerId This optional parameter may be used to identify the caller.\r
51 This parameter allows the status code driver to apply\r
52 different rules to different callers.\r
53 Type EFI_GUID is defined in InstallProtocolInterface()\r
64a80549 54 in the UEFI 2.0 Specification.\r
75dea6bd 55\r
56\r
64a80549 57 @param Data This optional parameter may be used to pass additional data.\r
d1102dba 58\r
64a80549 59 @return The function always returns EFI_SUCCESS.\r
75dea6bd 60\r
61**/\r
62EFI_STATUS\r
63EFIAPI\r
64OemHookStatusCodeReport (\r
65 IN EFI_STATUS_CODE_TYPE CodeType,\r
66 IN EFI_STATUS_CODE_VALUE Value,\r
67 IN UINT32 Instance,\r
68 IN EFI_GUID *CallerId, OPTIONAL\r
69 IN EFI_STATUS_CODE_DATA *Data OPTIONAL\r
70 );\r
71\r
72#endif // __OEM_HOOK_STATUSCODE_LIB__\r
73\r