blob: 6bd8d9766ae9eaaa299b70db72bd5d56f5e8ebac [file] [log] [blame]
Adriana Kobylak70ca2422018-09-06 14:23:38 -05001#pragma once
2
3// With OpenSSL 1.1.0, some functions were deprecated. Need to abstract them
4// to make the code backward compatible with older OpenSSL veresions.
5// Reference: https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
6#if OPENSSL_VERSION_NUMBER < 0x10100000L
7
8#include <openssl/evp.h>
9
Lei YUe4994462019-03-14 14:41:53 +080010#include <sdbusplus/bus.hpp>
Andrew Geisslerab139ce2020-05-16 13:22:09 -050011#include <string>
Lei YUe4994462019-03-14 14:41:53 +080012
Adriana Kobylak70ca2422018-09-06 14:23:38 -050013extern "C" {
14EVP_MD_CTX* EVP_MD_CTX_new(void);
15void EVP_MD_CTX_free(EVP_MD_CTX* ctx);
16}
17
Lei YUe4994462019-03-14 14:41:53 +080018namespace utils
19{
20
21/**
22 * @brief Gets the D-Bus Service name for the input D-Bus path
23 *
24 * @param[in] bus - Bus handler
25 * @param[in] path - Object Path
26 * @param[in] intf - Interface
27 *
28 * @return Service name
29 * @error InternalFailure exception thrown
30 */
31std::string getService(sdbusplus::bus::bus& bus, const std::string& path,
32 const std::string& intf);
33
34/** @brief Suspend hiomapd.
35 *
36 * @param[in] bus - The D-Bus bus object.
37 */
38void hiomapdSuspend(sdbusplus::bus::bus& bus);
39
40/** @brief Resume hiomapd.
41 *
42 * @param[in] bus - The D-Bus bus object.
43 */
44void hiomapdResume(sdbusplus::bus::bus& bus);
45
46} // namespace utils
47
Adriana Kobylak70ca2422018-09-06 14:23:38 -050048#endif // OPENSSL_VERSION_NUMBER < 0x10100000L