diff --git a/inc/utils.hpp b/inc/utils.hpp
index c9df6ae..234124d 100644
--- a/inc/utils.hpp
+++ b/inc/utils.hpp
@@ -42,6 +42,26 @@
 static constexpr const char* stateEnabled = "enabled";
 static constexpr const char* stateDisabled = "disabled";
 static constexpr const char* subStateRunning = "running";
+static constexpr const char* subStateListening = "listening";
+
+using ListUnitsType =
+    std::tuple<std::string, std::string, std::string, std::string, std::string,
+               std::string, sdbusplus::message::object_path, uint32_t,
+               std::string, sdbusplus::message::object_path>;
+
+enum class ListUnitElements
+{
+    name,
+    descriptionString,
+    loadState,
+    activeState,
+    subState,
+    followedUnit,
+    objectPath,
+    queuedJobType,
+    jobType,
+    jobObject
+};
 
 static inline std::string addInstanceName(const std::string& instanceName,
                                           const std::string& suffix)
@@ -49,6 +69,9 @@
     return (instanceName.empty() ? "" : suffix + instanceName);
 }
 
+void checkAndThrowInternalFailure(boost::system::error_code& ec,
+                                  const std::string& msg);
+
 void systemdDaemonReload(
     const std::shared_ptr<sdbusplus::asio::connection>& conn,
     boost::asio::yield_context yield);
