util.hpp (5d799bb97ca8759f39a35f1121f77b03c4efbfba) | util.hpp (d32b966771e03788af7b912d4cf701d98c391097) |
---|---|
1#pragma once | 1#pragma once |
2#include "getConfig.hpp" 3 4#include <filesystem> |
|
2#include <string> 3 4namespace estoraged 5{ 6namespace util 7{ 8 9/** @brief finds the size of the linux block device in bytes 10 * @param[in] devpath - the name of the linux block device 11 * @return size of a block device using the devPath 12 */ 13uint64_t findSizeOfBlockDevice(const std::string& devPath); 14 15/** @brief finds the predicted life left for a eMMC device 16 * @param[in] sysfsPath - The path to the linux sysfs interface 17 * @return the life remaing for the emmc, as a percentage. 18 */ 19uint8_t findPredictedMediaLifeLeftPercent(const std::string& sysfsPath); 20 | 5#include <string> 6 7namespace estoraged 8{ 9namespace util 10{ 11 12/** @brief finds the size of the linux block device in bytes 13 * @param[in] devpath - the name of the linux block device 14 * @return size of a block device using the devPath 15 */ 16uint64_t findSizeOfBlockDevice(const std::string& devPath); 17 18/** @brief finds the predicted life left for a eMMC device 19 * @param[in] sysfsPath - The path to the linux sysfs interface 20 * @return the life remaing for the emmc, as a percentage. 21 */ 22uint8_t findPredictedMediaLifeLeftPercent(const std::string& sysfsPath); 23 |
24/** @brief Look for the device described by the provided StorageData. 25 * @details Currently, this function assumes that there's only one eMMC. 26 * When we need to support multiple eMMCs, we will put more information in 27 * the EntityManager config, to differentiate between them. Also, if we 28 * want to support other types of storage devices, this function will need 29 * to be updated. 30 * 31 * @param[in] data - map of properties from the config object. 32 * @param[in] searchDir - directory to search for devices in sysfs, e.g. 33 * /sys/block 34 * @param[out] deviceFile - device file that was found, e.g. /dev/mmcblk0. 35 * @param[out] sysfsDir - directory containing the sysfs entries for this 36 * device. 37 * @param[out] luksName - name of the encrypted LUKS device. 38 * 39 * @return True if the device was found. False otherwise. 40 */ 41bool findDevice(const StorageData& data, const std::filesystem::path& searchDir, 42 std::filesystem::path& deviceFile, 43 std::filesystem::path& sysfsDir, std::string& luksName); 44 |
|
21} // namespace util 22 23} // namespace estoraged | 45} // namespace util 46 47} // namespace estoraged |