1 #pragma once
2 
3 #include <libipl.H>
4 
5 #include <cstdarg>
6 
7 namespace openpower
8 {
9 namespace pel
10 {
11 namespace detail
12 {
13 
14 /**
15  * @brief Process debug traces
16  *
17  * Function adds debug traces to the list so that it will be added to the
18  * PEL upon failure
19  *
20  * @param[in] private_data - pointer to private data, unused now
21  * @param[in] fmt - format for variable list arguments
22  * @param[in] ap - object of va_list, holds information needed to retrieve
23  *                 the additional arguments
24  */
25 
26 void processLogTraceCallback(void* private_data, const char* fmt, va_list ap);
27 
28 /**
29  * @brief Process ipl failure/success status
30  *
31  * If status is success log traces are cleared else used in the
32  * creation of failure
33  *
34  * @param[in] errInfo - Error info structure
35  */
36 void processIplErrorCallback(const ipl_error_info& errInfo);
37 
38 /**
39  * @brief Process boot failure/success status
40  *
41  * If status is success log traces are cleared else used in the
42  * creation of failure
43  *
44  * @param[in] status - Boot execution status
45  */
46 void processBootError(bool status);
47 
48 /**
49  * @brief Reset trace log list
50  */
51 void reset();
52 
53 } // namespace detail
54 
55 /**
56  * @brief Add callbacks for debug traces and boot errors
57  *
58  * This function adds callback for debug traces and for boot
59  * errors
60  */
61 void addBootErrorCallbacks();
62 } // namespace pel
63 } // namespace openpower
64