xref: /openbmc/phosphor-logging/extensions/openpower-pels/paths.hpp (revision fa2d962b5da807ac17bb7a355709ff05dd10d041)
1df13bdb6SMatt Spinler #pragma once
2*fa2d962bSPatrick Williams #include "../../paths.hpp"
3*fa2d962bSPatrick Williams 
4df13bdb6SMatt Spinler #include <filesystem>
5df13bdb6SMatt Spinler 
6df13bdb6SMatt Spinler namespace openpower
7df13bdb6SMatt Spinler {
8df13bdb6SMatt Spinler namespace pels
9df13bdb6SMatt Spinler {
10df13bdb6SMatt Spinler 
11df13bdb6SMatt Spinler /**
12df13bdb6SMatt Spinler  * @brief Returns the path to the PEL ID file
13df13bdb6SMatt Spinler  */
14df13bdb6SMatt Spinler std::filesystem::path getPELIDFile();
15df13bdb6SMatt Spinler 
1689fa082aSMatt Spinler /**
1789fa082aSMatt Spinler  * @brief Returns the path to the PEL repository
1889fa082aSMatt Spinler  */
1989fa082aSMatt Spinler std::filesystem::path getPELRepoPath();
2089fa082aSMatt Spinler 
21367144cfSMatt Spinler /**
220d804ef5SMatt Spinler  * @brief Returns the path to the read only data directory
23367144cfSMatt Spinler  */
240d804ef5SMatt Spinler std::filesystem::path getPELReadOnlyDataPath();
258d5f3a2bSMatt Spinler 
268d5f3a2bSMatt Spinler /**
278d5f3a2bSMatt Spinler  * @brief Returns the maximum size in bytes allocated to store PELs.
288d5f3a2bSMatt Spinler  *
298d5f3a2bSMatt Spinler  * This is still in paths.c/hpp even though it doesn't return a path
308d5f3a2bSMatt Spinler  * because this file is easy to override when testing.
318d5f3a2bSMatt Spinler  *
328d5f3a2bSMatt Spinler  * @return size_t The maximum size in bytes to use for storing PELs.
338d5f3a2bSMatt Spinler  */
348d5f3a2bSMatt Spinler size_t getPELRepoSize();
358d5f3a2bSMatt Spinler 
368d5f3a2bSMatt Spinler /**
378d5f3a2bSMatt Spinler  * @brief Returns the maximum number of PELs allowed
388d5f3a2bSMatt Spinler  *
398d5f3a2bSMatt Spinler  * This is still in paths.c/hpp even though it doesn't return a path
408d5f3a2bSMatt Spinler  * because this file is easy to override when testing.
418d5f3a2bSMatt Spinler  *
428d5f3a2bSMatt Spinler  * @return size_t The maximum number of PELs to allow in the repository.
438d5f3a2bSMatt Spinler  */
448d5f3a2bSMatt Spinler size_t getMaxNumPELs();
458d5f3a2bSMatt Spinler 
46df13bdb6SMatt Spinler } // namespace pels
47df13bdb6SMatt Spinler } // namespace openpower
48