Updated MSA by putting Specification element at the end of the header section
[mirror_edk2.git] / EdkNt32Pkg / Pei / MonoStatusCode / MonoStatusCode.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 MonoStatusCode.h
15
16 Abstract:
17
18 Monolithic single PEIM to provide the status code functionality.
19 The PEIM is a blend of libraries that correspond to the different status code
20 listeners that a platform installs.
21
22 --*/
23
24 #ifndef _MONO_STATUS_CODE_H_
25 #define _MONO_STATUS_CODE_H_
26
27 //
28 // Platform specific function Declarations. These must be implemented in a
29 // subdirectory named PlatformName in a file named PlatformStatusCode.c.
30 // See D845GRG\PlatformStatusCode.c for an example of a simple status code
31 // implementation.
32 // See Nt32\PlatformStatusCode.c for an example of a status code implementation
33 // that relocates itself into memory.
34 //
35 //
36 // This is the driver entry point and must be defined.
37 //
38 EFI_STATUS
39 EFIAPI
40 InstallMonoStatusCode (
41 IN EFI_FFS_FILE_HEADER *FfsHeader,
42 IN EFI_PEI_SERVICES **PeiServices
43 )
44 ;
45
46 //
47 // This is the platform function to initialize the listeners desired by the
48 // platform.
49 //
50 VOID
51 PlatformInitializeStatusCode (
52 IN EFI_FFS_FILE_HEADER *FfsHeader,
53 IN EFI_PEI_SERVICES **PeiServices
54 )
55 ;
56
57 //
58 // This is the platform function that calls all of the listeners desired by the
59 // platform.
60 //
61 EFI_STATUS
62 EFIAPI
63 PlatformReportStatusCode (
64 IN EFI_PEI_SERVICES **PeiServices,
65 IN EFI_STATUS_CODE_TYPE CodeType,
66 IN EFI_STATUS_CODE_VALUE Value,
67 IN UINT32 Instance,
68 IN EFI_GUID * CallerId,
69 IN EFI_STATUS_CODE_DATA * Data OPTIONAL
70 )
71 ;
72
73 //
74 // Platform independent function Declarations
75 //
76 //
77 // Initialize the status code listeners and publish the status code PPI.
78 //
79 VOID
80 EFIAPI
81 InitializeMonoStatusCode (
82 IN EFI_FFS_FILE_HEADER *FfsHeader,
83 IN EFI_PEI_SERVICES **PeiServices
84 )
85 ;
86
87 //
88 // Convert a DXE status code call into a PEI status code call.
89 //
90 EFI_STATUS
91 EFIAPI
92 TranslateDxeStatusCodeToPeiStatusCode (
93 IN EFI_STATUS_CODE_TYPE CodeType,
94 IN EFI_STATUS_CODE_VALUE Value,
95 IN UINT32 Instance,
96 IN EFI_GUID * CallerId,
97 IN EFI_STATUS_CODE_DATA * Data OPTIONAL
98 )
99 ;
100
101 //
102 // Publish a HOB that contains the listener to be used by DXE.
103 //
104 EFI_STATUS
105 EFIAPI
106 InitializeDxeReportStatusCode (
107 IN EFI_PEI_SERVICES **PeiServices
108 )
109 ;
110
111 #endif