From 8c36971afa38f8a2fb058704d6c584e0ce0c2bc4 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 02 二月 2023 17:59:22 +0800
Subject: [PATCH] add go api

---
 shmparser/shmparser.h |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/shmparser.h b/shmparser/shmparser.h
similarity index 63%
rename from shmparser.h
rename to shmparser/shmparser.h
index bce3460..9fe8732 100644
--- a/shmparser.h
+++ b/shmparser/shmparser.h
@@ -107,6 +107,46 @@
 struct strule* shm2rule(void* shm);
 void free_strule(struct strule* rule);
 
+///////////////////////////////////////////////////////////////
+// go need function
+// go image
+void goimage2shm(void* shm, void* img);
+void goimageinfo(void* img, void** data, uint64_t* size,
+                void** ts, uint32_t* tss,
+                void** cid, uint32_t* cids,
+                void** cname, uint32_t* cnames,
+                uint64_t* id, uint32_t* w, uint32_t* h);
+
+// go rule/sdk/result
+void gotargetsdel(void* tgts);
+void* gotargetsnew(const uint32_t size);
+void gotargetsadd(void* tgts, int idx, uint64_t id, char* type, uint32_t tsize, int32_t confidence,
+                    int left, int top, int right, int bottom,
+                    unsigned char* feat, uint32_t featsize,
+                    unsigned char* attr, uint32_t attrsize);
+void goruleaddsdk(void* shm, void* tgts, uint32_t tgtcnt,
+                    char* type, uint32_t tsize,
+                    char* timestamp, uint32_t tmsize);
+
+// unserialize
+void gorulehandletrack(void* rule, void** data, uint32_t* size);
+void goruledatatype(void* rule, void** data, uint32_t* size);
+
+void gorulesdk(void* rule, void** data, uint32_t* size);
+void gorulesdkinfo(void* sdk, int idx, void** t, uint32_t* ts,
+                    void** i, uint32_t* is, void** n, uint32_t* ns,
+                    void** tm, uint32_t* tms, void** data, uint32_t* size);
+void gorulesdktargetinfo(void* tgt, int idx, uint64_t* id, int32_t* c,
+                        int32_t* l,int32_t* t,int32_t* r,int32_t* b,
+                        void** tp, uint32_t* tps,
+                        void** feat, uint32_t* fs, void** attr, uint32_t* attrs);
+//////////////////////////////////////////////////////////////
+// no use
+void* gosdknew();
+void gosdkadd(void* sdk, char* type, uint32_t tsize, char* id, uint32_t idsize,
+                    char* name, uint32_t nsize, char* timestamp, uint32_t tmsize,
+                    uint32_t tgtcnt, void* tgts);
+
 #ifdef __cplusplus
 }
 #endif

--
Gitblit v1.8.0