aboutsummaryrefslogtreecommitdiff
path: root/lib/pbdrv/pb-serial.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pbdrv/pb-serial.h')
-rw-r--r--lib/pbdrv/pb-serial.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/pbdrv/pb-serial.h b/lib/pbdrv/pb-serial.h
new file mode 100644
index 0000000..d3d0007
--- /dev/null
+++ b/lib/pbdrv/pb-serial.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <mpack.h>
+
+#include "pb-types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define __pb_cmd(name) \
+ pb_ser_r_t pb_ser_r_##name; \
+ pb_ser_w_t pb_ser_w_##name; \
+ pb_ser_free_t pb_ser_free_##name;
+
+typedef void pb_ser_w_t(mpack_writer_t * writer, const pb_msg_t * msg);
+pb_ser_w_t pb_ser_w;
+
+typedef void pb_ser_r_t(mpack_reader_t * reader, pb_msg_t * msg);
+pb_ser_r_t pb_ser_r;
+
+typedef void pb_ser_free_t(pb_msg_t * msg);
+pb_ser_free_t pb_ser_free;
+
+__pb_cmd(cmd_prop)
+__pb_cmd(cmd_state)
+__pb_cmd(cmd_magic)
+
+#ifdef __cplusplus
+}
+#endif
+