1188f1096SBen Tyner #pragma once
2188f1096SBen Tyner 
3188f1096SBen Tyner #include <sdbusplus/bus.hpp>
4188f1096SBen Tyner #include <util/ffdc_file.hpp>
5188f1096SBen Tyner 
6188f1096SBen Tyner #include <string>
7188f1096SBen Tyner 
8188f1096SBen Tyner namespace attn
9188f1096SBen Tyner {
10188f1096SBen Tyner 
11188f1096SBen Tyner /**
125c5db65aSBen Tyner  * Create a dbus method
135c5db65aSBen Tyner  *
145c5db65aSBen Tyner  * Find the dbus service associated with the dbus object path and create
155c5db65aSBen Tyner  * a dbus method for calling the specified dbus interface and function.
165c5db65aSBen Tyner  *
175c5db65aSBen Tyner  * @param i_path - dbus object path
185c5db65aSBen Tyner  * @param i_interface - dbus method interface
195c5db65aSBen Tyner  * @param i_function - dbus interface function
205c5db65aSBen Tyner  * @param o_method - method that is created
215c5db65aSBen Tyner  * @return non-zero if error
225c5db65aSBen Tyner  *
235c5db65aSBen Tyner  **/
245c5db65aSBen Tyner int dbusMethod(const std::string& i_path, const std::string& i_interface,
25*e212fb06SPatrick Williams                const std::string& i_function, sdbusplus::message_t& o_method);
265c5db65aSBen Tyner 
275c5db65aSBen Tyner /**
28188f1096SBen Tyner  * Create a PEL from raw PEL data
29188f1096SBen Tyner  *
30188f1096SBen Tyner  * Create a PEL based on the pel defined in the data buffer specified.
31188f1096SBen Tyner  *
32188f1096SBen Tyner  * @param   i_buffer - buffer containing a raw PEL
33188f1096SBen Tyner  */
34188f1096SBen Tyner void createPelRaw(const std::vector<uint8_t>& i_buffer);
35188f1096SBen Tyner 
36188f1096SBen Tyner /**
37188f1096SBen Tyner  * Get file descriptor of exisitng PEL
38188f1096SBen Tyner  *
39188f1096SBen Tyner  * The backend logging code will search for a PEL having the provided pel id
40188f1096SBen Tyner  * and return a file descriptor of a file containing this pel in raw form.
41188f1096SBen Tyner  *
42188f1096SBen Tyner  * @param  i_pelid - the PEL ID
43188f1096SBen Tyner  * @return file descriptor or -1 if error
44188f1096SBen Tyner  */
45188f1096SBen Tyner int getPel(const uint32_t i_pelId);
46188f1096SBen Tyner 
47188f1096SBen Tyner } // namespace attn
48