1*1bbe3d1eSWilliam A. Kennington III #pragma once 2*1bbe3d1eSWilliam A. Kennington III 3*1bbe3d1eSWilliam A. Kennington III #include <filesystem> 4*1bbe3d1eSWilliam A. Kennington III 5*1bbe3d1eSWilliam A. Kennington III namespace phosphor 6*1bbe3d1eSWilliam A. Kennington III { 7*1bbe3d1eSWilliam A. Kennington III namespace network 8*1bbe3d1eSWilliam A. Kennington III { 9*1bbe3d1eSWilliam A. Kennington III namespace dns 10*1bbe3d1eSWilliam A. Kennington III { 11*1bbe3d1eSWilliam A. Kennington III namespace updater 12*1bbe3d1eSWilliam A. Kennington III { 13*1bbe3d1eSWilliam A. Kennington III 14*1bbe3d1eSWilliam A. Kennington III namespace fs = std::filesystem; 15*1bbe3d1eSWilliam A. Kennington III 16*1bbe3d1eSWilliam A. Kennington III constexpr auto RESOLV_CONF = "/etc/resolv.conf"; 17*1bbe3d1eSWilliam A. Kennington III 18*1bbe3d1eSWilliam A. Kennington III /** @brief Reads DNS entries supplied by DHCP and updates specified file 19*1bbe3d1eSWilliam A. Kennington III * 20*1bbe3d1eSWilliam A. Kennington III * @param[in] inFile - File having DNS entries supplied by DHCP 21*1bbe3d1eSWilliam A. Kennington III * @param[in] outFile - File to write the nameserver entries to 22*1bbe3d1eSWilliam A. Kennington III */ 23*1bbe3d1eSWilliam A. Kennington III void updateDNSEntries(const fs::path& inFile, const fs::path& outFile); 24*1bbe3d1eSWilliam A. Kennington III 25*1bbe3d1eSWilliam A. Kennington III /** @brief User callback handler invoked by inotify watcher 26*1bbe3d1eSWilliam A. Kennington III * 27*1bbe3d1eSWilliam A. Kennington III * Needed to enable production and test code so that the right 28*1bbe3d1eSWilliam A. Kennington III * callback functions could be implemented 29*1bbe3d1eSWilliam A. Kennington III * 30*1bbe3d1eSWilliam A. Kennington III * @param[in] inFile - File having DNS entries supplied by DHCP 31*1bbe3d1eSWilliam A. Kennington III */ processDNSEntries(const fs::path & inFile)32*1bbe3d1eSWilliam A. Kennington IIIinline void processDNSEntries(const fs::path& inFile) 33*1bbe3d1eSWilliam A. Kennington III { 34*1bbe3d1eSWilliam A. Kennington III return updateDNSEntries(inFile, RESOLV_CONF); 35*1bbe3d1eSWilliam A. Kennington III } 36*1bbe3d1eSWilliam A. Kennington III 37*1bbe3d1eSWilliam A. Kennington III } // namespace updater 38*1bbe3d1eSWilliam A. Kennington III } // namespace dns 39*1bbe3d1eSWilliam A. Kennington III } // namespace network 40*1bbe3d1eSWilliam A. Kennington III } // namespace phosphor 41