From b2a7efd1834e0a7d5353724f3a26c2712330324d Mon Sep 17 00:00:00 2001
From: Juergen Hannappel <Juergen.Hannappel@desy.de>
Date: Tue, 8 Jun 2021 15:27:19 +0200
Subject: [PATCH] c header wityh reasonable content

---
 consumer/api/c/include/asapo/consumer_c.h | 40 ++++++++++++++++++++---
 1 file changed, 36 insertions(+), 4 deletions(-)

diff --git a/consumer/api/c/include/asapo/consumer_c.h b/consumer/api/c/include/asapo/consumer_c.h
index cc6b665e2..8b90e5704 100644
--- a/consumer/api/c/include/asapo/consumer_c.h
+++ b/consumer/api/c/include/asapo/consumer_c.h
@@ -5,20 +5,52 @@
 typedef void* asapoConsumer;
 typedef void* asapoSourceCredentials;
 typedef void* asapoError;
-struct asapoErrorBuffer {
-  asapoError error;
-};
 typedef void* asapoMessageMeta;
 typedef void* asapoMessageData;
 
 #endif
+enum asapoErrorType {
+    kUnknownError = 0,
+    kAsapoError,
+    kHttpError,
+    kIOError,
+    kDBError,
+    kReceiverError,
+    kProducerError,
+    kConsumerError,
+    kMemoryAllocationError,
+    kEndOfFile,
+    kFabricError,
+};
+void asapoErrorExplain(const asapoError error, char *buf, size_t maxSize./modm);
+enum asapoErrorType asapoErrorGetType(const asapoError error);
+void asapoClearError(asapoError* error);
 
 asapoConsumer asapoCreateConsumer(const char* server_name,
 				  const char* source_path,
 				  _Bool has_filesysytem,
 				  asapoSourceCredentials source,
-				  asapoErrorBuffer* error);
+				  asapoError* error);
+void asapoDeleteConsumer(asapoDeleteConsumer* consumer);
+
+asapoSourceCredentials asapoCreateSourceCredentials(const char* type,
+						    const char* beamtime,
+						    const char* beamline,
+						    const char* data_source,
+						    const char* token);
+void asapoDeleteSourceCredentials(asapoSourceCredentials* cred);
+
 asapoMessageMeta asapoCreateMessageMeta();
 void asapoDeleteMessageMeta(asapoMessageMeta* meta);
 
+const char* asapoMessageMetaGetName(const asapoMessageMeta md);
+void asapoMessageMetaGetTimestamp(const asapoMessageMeta md,
+				  struct timespec* stamp);
+uint64_t asapoMessageMetaGetSize(const asapoMessageMeta md);
+uint64_t asapoMessageMetaGetId(const asapoMessageMeta md);
+const char* asapoMessageMetaGetSource(const asapoMessageMeta md);
+const char* asapoMessageMetaGetMetadata(const asapoMessageMeta md);
+uint64_t asapoMessageMetaGetBuf_id(const asapoMessageMeta md);
+uint64_t asapoMessageMetaGetDataset_Substream(const asapoMessageMeta md);
+
 #endif
-- 
GitLab