Add common RPC interface components

Add rpc_status_t, service_status_t and rpc_uuid definitions which are
intended to be used across different RPC implementations and in both
client and endpoint code.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Icba3c7098657cde2904fe94e7154610253ad2438
diff --git a/components/rpc/common/interface/rpc_uuid.h b/components/rpc/common/interface/rpc_uuid.h
new file mode 100644
index 0000000..52782c7
--- /dev/null
+++ b/components/rpc/common/interface/rpc_uuid.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef RPC_UUID_H
+#define RPC_UUID_H
+
+#include <stdbool.h>
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief RPC UUID
+ *
+ * Describes a UUID for identifying an RPC service.
+ */
+struct rpc_uuid {
+	uint8_t uuid[16];
+};
+
+/**
+ * @brief Checks if two RPC UUIDs are equal
+ *
+ * @param uuid_a UUID A
+ * @param uuid_b UUID B
+ * @return true
+ * @return false
+ */
+bool rpc_uuid_equal(const struct rpc_uuid *uuid_a, const struct rpc_uuid *uuid_b);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RPC_UUID_H */