1df13bdb6SMatt Spinler #pragma once
2df13bdb6SMatt Spinler #include <filesystem>
3df13bdb6SMatt Spinler 
4df13bdb6SMatt Spinler namespace openpower
5df13bdb6SMatt Spinler {
6df13bdb6SMatt Spinler namespace pels
7df13bdb6SMatt Spinler {
8df13bdb6SMatt Spinler 
9df13bdb6SMatt Spinler /**
10df13bdb6SMatt Spinler  * @brief Returns the path to the PEL ID file
11df13bdb6SMatt Spinler  */
12df13bdb6SMatt Spinler std::filesystem::path getPELIDFile();
13df13bdb6SMatt Spinler 
1489fa082aSMatt Spinler /**
1589fa082aSMatt Spinler  * @brief Returns the path to the PEL repository
1689fa082aSMatt Spinler  */
1789fa082aSMatt Spinler std::filesystem::path getPELRepoPath();
1889fa082aSMatt Spinler 
19367144cfSMatt Spinler /**
200d804ef5SMatt Spinler  * @brief Returns the path to the read only data directory
21367144cfSMatt Spinler  */
220d804ef5SMatt Spinler std::filesystem::path getPELReadOnlyDataPath();
23*8d5f3a2bSMatt Spinler 
24*8d5f3a2bSMatt Spinler /**
25*8d5f3a2bSMatt Spinler  * @brief Returns the maximum size in bytes allocated to store PELs.
26*8d5f3a2bSMatt Spinler  *
27*8d5f3a2bSMatt Spinler  * This is still in paths.c/hpp even though it doesn't return a path
28*8d5f3a2bSMatt Spinler  * because this file is easy to override when testing.
29*8d5f3a2bSMatt Spinler  *
30*8d5f3a2bSMatt Spinler  * @return size_t The maximum size in bytes to use for storing PELs.
31*8d5f3a2bSMatt Spinler  */
32*8d5f3a2bSMatt Spinler size_t getPELRepoSize();
33*8d5f3a2bSMatt Spinler 
34*8d5f3a2bSMatt Spinler /**
35*8d5f3a2bSMatt Spinler  * @brief Returns the maximum number of PELs allowed
36*8d5f3a2bSMatt Spinler  *
37*8d5f3a2bSMatt Spinler  * This is still in paths.c/hpp even though it doesn't return a path
38*8d5f3a2bSMatt Spinler  * because this file is easy to override when testing.
39*8d5f3a2bSMatt Spinler  *
40*8d5f3a2bSMatt Spinler  * @return size_t The maximum number of PELs to allow in the repository.
41*8d5f3a2bSMatt Spinler  */
42*8d5f3a2bSMatt Spinler size_t getMaxNumPELs();
43*8d5f3a2bSMatt Spinler 
44df13bdb6SMatt Spinler } // namespace pels
45df13bdb6SMatt Spinler } // namespace openpower
46