diff options
| author | Teddy Wing | 2018-08-26 01:32:43 +0200 |
|---|---|---|
| committer | Teddy Wing | 2018-08-26 01:32:43 +0200 |
| commit | 9b0e6e4207f5c44bef5d0b28ba036040845f82d8 (patch) | |
| tree | 5b36998374244fe599fe34670f9def45753110f4 /dome_key_map.h | |
| parent | 4fd3fd4ded73aa4ba5320de50cd6b19fdf70a8a7 (diff) | |
| download | dome-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.h | 2 |
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); |
