1 #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 10 #include <sdbusplus/bus.hpp> 11 12 #include <string> 13 14 extern "C" 15 { 16 EVP_MD_CTX* EVP_MD_CTX_new(void); 17 void EVP_MD_CTX_free(EVP_MD_CTX* ctx); 18 } 19 20 namespace utils 21 { 22 23 /** 24 * @brief Gets the D-Bus Service name for the input D-Bus path 25 * 26 * @param[in] bus - Bus handler 27 * @param[in] path - Object Path 28 * @param[in] intf - Interface 29 * 30 * @return Service name 31 * @error InternalFailure exception thrown 32 */ 33 std::string getService(sdbusplus::bus::bus& bus, const std::string& path, 34 const std::string& intf); 35 36 /** @brief Suspend hiomapd. 37 * 38 * @param[in] bus - The D-Bus bus object. 39 */ 40 void hiomapdSuspend(sdbusplus::bus::bus& bus); 41 42 /** @brief Resume hiomapd. 43 * 44 * @param[in] bus - The D-Bus bus object. 45 */ 46 void hiomapdResume(sdbusplus::bus::bus& bus); 47 48 /** @brief Set the Hardware Management Console Managed bios attribute to 49 * Disabled to clear the indication that the system is HMC-managed. 50 * 51 * @param[in] bus - The D-Bus bus object. 52 */ 53 void clearHMCManaged(sdbusplus::bus::bus& bus); 54 55 /** @brief DeleteAll error logs 56 * 57 * @param[in] bus - The D-Bus bus object. 58 */ 59 void deleteAllErrorLogs(sdbusplus::bus::bus& bus); 60 61 } // namespace utils 62 63 #endif // OPENSSL_VERSION_NUMBER < 0x10100000L 64