Loading libmodprobe/include/modprobe/modprobe.h +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ class Modprobe { bool LoadWithAliases(const std::string& module_name, bool strict, const std::string& parameters = ""); bool Remove(const std::string& module_name); std::vector<std::string> ListModules(const std::string& pattern); void EnableBlacklist(bool enable); private: Loading libmodprobe/libmodprobe.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -363,3 +363,16 @@ bool Modprobe::Remove(const std::string& module_name) { } return true; } std::vector<std::string> Modprobe::ListModules(const std::string& pattern) { std::vector<std::string> rv; for (const auto& [module, deps] : module_deps_) { // Attempt to match both the canonical module name and the module filename. if (!fnmatch(pattern.c_str(), module.c_str(), 0)) { rv.emplace_back(module); } else if (!fnmatch(pattern.c_str(), basename(deps[0].c_str()), 0)) { rv.emplace_back(deps[0]); } } return rv; } Loading
libmodprobe/include/modprobe/modprobe.h +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ class Modprobe { bool LoadWithAliases(const std::string& module_name, bool strict, const std::string& parameters = ""); bool Remove(const std::string& module_name); std::vector<std::string> ListModules(const std::string& pattern); void EnableBlacklist(bool enable); private: Loading
libmodprobe/libmodprobe.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -363,3 +363,16 @@ bool Modprobe::Remove(const std::string& module_name) { } return true; } std::vector<std::string> Modprobe::ListModules(const std::string& pattern) { std::vector<std::string> rv; for (const auto& [module, deps] : module_deps_) { // Attempt to match both the canonical module name and the module filename. if (!fnmatch(pattern.c_str(), module.c_str(), 0)) { rv.emplace_back(module); } else if (!fnmatch(pattern.c_str(), basename(deps[0].c_str()), 0)) { rv.emplace_back(deps[0]); } } return rv; }