summaryrefslogtreecommitdiff
path: root/recipes-bsp/esp32spid/src/msgq.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2021-08-27 02:50:19 +0200
committerUros Majstorovic <majstor@majstor.org>2021-08-27 02:50:19 +0200
commit01270b114be7a82a4dbeae7a3d40c83495224842 (patch)
treea1a37b6fbc3a7e09c47695a0ef980500ad258320 /recipes-bsp/esp32spid/src/msgq.h
parent52bbf971706df3752d5a41879495740041a4a735 (diff)
parent5c6a2266ffa6780935959af6c96ffc8dd8e2dc1a (diff)
Merge remote-tracking branch 'meta-bsp-rvphone/master'
Diffstat (limited to 'recipes-bsp/esp32spid/src/msgq.h')
-rw-r--r--recipes-bsp/esp32spid/src/msgq.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/recipes-bsp/esp32spid/src/msgq.h b/recipes-bsp/esp32spid/src/msgq.h
new file mode 100644
index 0000000..665be32
--- /dev/null
+++ b/recipes-bsp/esp32spid/src/msgq.h
@@ -0,0 +1,19 @@
+#include <stdint.h>
+
+#define MSGQ_OK 0
+#define MSGQ_ERR -1
+#define MSGQ_ERR_FULL -10
+
+typedef struct MSGQueue {
+ uint16_t idx_r;
+ uint16_t idx_w;
+ uint16_t size;
+ unsigned char **array;
+ pthread_mutex_t mutex;
+ pthread_cond_t cond;
+} MSGQueue;
+
+int msgq_init(MSGQueue *msgq, unsigned char **array, uint16_t size);
+int msgq_push(MSGQueue *msgq, unsigned char *buffer);
+unsigned char *msgq_pop(MSGQueue *msgq);
+uint16_t msgq_len(MSGQueue *msgq);