Add support for rejected inference responses

Change-Id: I62e13df69c712ed4cf70766429b4cb13fc9c9dcb
diff --git a/driver_library/include/ethosu.hpp b/driver_library/include/ethosu.hpp
index a12d668..61e2bc5 100644
--- a/driver_library/include/ethosu.hpp
+++ b/driver_library/include/ethosu.hpp
@@ -180,6 +180,15 @@
     std::vector<size_t> ofmDims;
 };
 
+enum class InferenceStatus {
+    OK,
+    ERROR,
+    RUNNING,
+    REJECTED,
+};
+
+std::ostream &operator<<(std::ostream &out, const InferenceStatus &v);
+
 class Inference {
 public:
     template <typename T>
@@ -220,7 +229,7 @@
     int wait(int64_t timeoutNanos = -1) const;
     const std::vector<uint32_t> getPmuCounters() const;
     uint64_t getCycleCounter() const;
-    bool failed() const;
+    InferenceStatus status() const;
     int getFd() const;
     const std::shared_ptr<Network> getNetwork() const;
     std::vector<std::shared_ptr<Buffer>> &getIfmBuffers();