summaryrefslogtreecommitdiff
path: root/yocto/meta-bsp-rvphone/recipes-bsp/esp32spid/src/msgq.h
diff options
context:
space:
mode:
Diffstat (limited to 'yocto/meta-bsp-rvphone/recipes-bsp/esp32spid/src/msgq.h')
-rw-r--r--yocto/meta-bsp-rvphone/recipes-bsp/esp32spid/src/msgq.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/yocto/meta-bsp-rvphone/recipes-bsp/esp32spid/src/msgq.h b/yocto/meta-bsp-rvphone/recipes-bsp/esp32spid/src/msgq.h
new file mode 100644
index 0000000..665be32
--- /dev/null
+++ b/yocto/meta-bsp-rvphone/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);