Config option to enable PHAL APIs

There are a couple required PHAL APIs that are not available upstream.
It is uncertain if these APIs will ever be available upstream.
Fortunately, the APIs are only needed to provide information that is
displayed in a PEL. So there is a less accuate alternative when the APIs
are not available.

Change-Id: I1a4a1838520c18053ab31f561d05875d4a94c20e
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/util/pdbg.hpp b/util/pdbg.hpp
index 5d6314d..9ad6d07 100644
--- a/util/pdbg.hpp
+++ b/util/pdbg.hpp
@@ -2,6 +2,7 @@
 
 #include <libpdbg.h>
 
+#include <string>
 #include <vector>
 
 // Forward reference to avoid pulling the libhei library into everything that
@@ -83,6 +84,26 @@
  */
 bool queryHardwareAnalysisSupported();
 
+/**
+ * @return A string containing the FRU location code of the given chip. An empty
+ *         string indicates the target was null or the attribute does not exist
+ *         for this target.
+ * @note   This function requires PHAL APIs that are only available in certain
+ *         environments. If they do not exist the devtree path of the target is
+ *         returned.
+ */
+std::string getLocationCode(pdbg_target* trgt);
+
+/**
+ * @return A string containing the physical device path (entity path) of the
+ *         given chip. An empty string indicates the target was null or the
+ *         attribute does not exist for this target.
+ * @note   This function requires PHAL APIs that are only available in certain
+ *         environments. If they do not exist the devtree path of the target is
+ *         returned.
+ */
+std::string getPhysDevPath(pdbg_target* trgt);
+
 } // namespace pdbg
 
 } // namespace util