1 #pragma once 2 3 #include <cstdint> 4 #include <string> 5 6 namespace openpower 7 { 8 namespace pels 9 { 10 11 namespace detail 12 { 13 14 /** 15 * @brief Adds the 1 byte log creator prefix to the log ID 16 * 17 * @param[in] id - the ID to add it to 18 * 19 * @return - the full log ID 20 */ 21 uint32_t addLogIDPrefix(uint32_t id); 22 23 /** 24 * @brief Generates a PEL ID based on the current time. 25 * 26 * Used for error scenarios where the normal method doesn't 27 * work in order to get a unique ID still. 28 * 29 * @return A unique log ID. 30 */ 31 uint32_t getTimeBasedLogID(); 32 33 } // namespace detail 34 35 /** 36 * @brief Generates a unique PEL log entry ID every time 37 * it is called. 38 * 39 * This ID is used at offset 0x2C in the Private Header 40 * section of a PEL. For single BMC systems, it must 41 * start with 0x50. 42 * 43 * @return uint32_t - The log ID 44 */ 45 uint32_t generatePELID(); 46 47 /** 48 * @brief Check for file containing zero data. 49 * 50 */ 51 void checkFileForZeroData(const std::string& filename); 52 53 } // namespace pels 54 } // namespace openpower 55