aboutsummaryrefslogtreecommitdiffstats
path: root/dome_key_map.h
diff options
context:
space:
mode:
authorTeddy Wing2018-08-26 01:32:43 +0200
committerTeddy Wing2018-08-26 01:32:43 +0200
commit9b0e6e4207f5c44bef5d0b28ba036040845f82d8 (patch)
tree5b36998374244fe599fe34670f9def45753110f4 /dome_key_map.h
parent4fd3fd4ded73aa4ba5320de50cd6b19fdf70a8a7 (diff)
downloaddome-key-map-9b0e6e4207f5c44bef5d0b28ba036040845f82d8.tar.bz2
Get `run_key_action` to export correctly to C
Add a new wrapper function for `run_key_action` that uses C appropriate inputs & outputs and calls into our Rusty `run_key_action`. This new function now correctly gets a header generated for it by 'cbindgen'. Immense thanks to Jake Goulding on the Rust FFI Omnibus for showing me how to pass a slice argument from C: http://jakegoulding.com/rust-ffi-omnibus/slice_arguments/ In order to pass the slice from C, we need to pass a C array and its length to the function. Cool.
Diffstat (limited to 'dome_key_map.h')
-rw-r--r--dome_key_map.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/dome_key_map.h b/dome_key_map.h
index 473d2f0..d128979 100644
--- a/dome_key_map.h
+++ b/dome_key_map.h
@@ -20,3 +20,5 @@ typedef struct {
Option_CString action;
MapKind kind;
} KeyActionResult;
+
+const KeyActionResult *c_run_key_action(const HeadphoneButton *trigger, size_t length);