blob: b01c82d212f74d14d0a48a5dbf6ed3c7588f0209 [file] [log] [blame]
Ben Tyner188f1092021-02-01 09:33:06 -06001#pragma once
2
3#include <sdbusplus/bus.hpp>
4#include <util/ffdc_file.hpp>
5
6#include <string>
7
8namespace attn
9{
10
11/**
Ben Tyner5c5db652021-02-22 18:22:35 -060012 * Create a dbus method
13 *
14 * Find the dbus service associated with the dbus object path and create
15 * a dbus method for calling the specified dbus interface and function.
16 *
17 * @param i_path - dbus object path
18 * @param i_interface - dbus method interface
19 * @param i_function - dbus interface function
20 * @param o_method - method that is created
Ben Tyner5c5db652021-02-22 18:22:35 -060021 * @return non-zero if error
22 *
23 **/
24int dbusMethod(const std::string& i_path, const std::string& i_interface,
25 const std::string& i_function,
Ben Tynera0982102022-02-16 14:19:41 -060026 sdbusplus::message::message& o_method);
Ben Tyner5c5db652021-02-22 18:22:35 -060027
28/**
Ben Tyner188f1092021-02-01 09:33:06 -060029 * Create a PEL from raw PEL data
30 *
31 * Create a PEL based on the pel defined in the data buffer specified.
32 *
33 * @param i_buffer - buffer containing a raw PEL
34 */
35void createPelRaw(const std::vector<uint8_t>& i_buffer);
36
37/**
38 * Get file descriptor of exisitng PEL
39 *
40 * The backend logging code will search for a PEL having the provided pel id
41 * and return a file descriptor of a file containing this pel in raw form.
42 *
43 * @param i_pelid - the PEL ID
44 * @return file descriptor or -1 if error
45 */
46int getPel(const uint32_t i_pelId);
47
Ben Tyner188f1092021-02-01 09:33:06 -060048} // namespace attn