add dynamic library interface to enable testing

Add interface defining the methods for dynamic linking to enable
testing.

Change-Id: If4d090d3cedc019b426435a1f651191803bfc1a9
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/fs.hpp b/fs.hpp
new file mode 100644
index 0000000..2fb574e
--- /dev/null
+++ b/fs.hpp
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <functional>
+#include <string>
+#include <vector>
+
+namespace blobs
+{
+using PathMatcher = std::function<bool(const std::string& filename)>;
+
+/**
+ * Returns a list of library paths.  Checks against match method.
+ *
+ * TODO: Can be dropped if we implement a clean fs wrapper for test injection.
+ *
+ * @param[in] path - the path to search
+ * @param[in] check - the function to call to check the path
+ * @return a list of paths that match the criteria
+ */
+std::vector<std::string> getLibraryList(const std::string& path,
+                                        PathMatcher check);
+
+} // namespace blobs