aboutsummaryrefslogtreecommitdiff
path: root/src/ffi.rs
Commit message (Collapse)AuthorAge
* Do not include layout tests in generated bindingsRobin Krahl2020-09-22
| | | | | | | | | | | | We are generating the Rust bindings in src/ffi.rs using bindgen once for all platforms on an amd64 machine. These bindings previously included layout tests. But these tests fail on some 32-bit architecture. See this discussion for more information: https://lists.sr.ht/~ireas/nitrokey-rs-dev/%3C20200919182408.GA1513%40ireas.org%3E With this patch, we remove the layout tests from the generated bindings. Instead, we will add the option to re-generate the bindings, including the layout tests, during the build in the next patch.
* Update to libnitrokey v3.6Robin Krahl2020-09-20
| | | | | | | | | | | | | | | | | | | This patch updates libnitrokey from version 3.5 to version 3.6, causing these changes: - New constants: - `NK_device_model_NK_LIBREM` (`NK_device_model` enum) - New structures: - `NK_config` - New functions: - `NK_device_serial_number_as_u32` - `NK_write_config_struct` - `NK_free_config` - `NK_read_config_struct` - `NK_free_password_safe_slot_status` - Deprecated functions: - `NK_set_unencrypted_read_only` - `NK_set_unencrypted_read_write`
* Derive Default for libnitrokey structsRobin Krahl2020-09-20
| | | | | | | | This patch adds the --with-derive-default option to the bindgen invocation so that it derives Default implementations for all libnitrokey structs. This allows us to simplify code in nitrokey-rs, for example the initialization of structs that are used in nitrokey-sys functions with output parameters.
* Re-generate bindings in src/ffi.rsRobin Krahl2020-09-20
| | | | | | | | Older versions of bindgen rendered C++ doc comments as Rust doc comments using the /// syntax. Newer versions use the doc attribute instead. This patch re-generates the src/ffi.rs file with bindgen 0.55.1 so that it uses the new format. This makes it easier to perform changes in the future.
* Remove unnecessary __uint*_t typedefsRobin Krahl2020-09-20
| | | | | | | | While bindgen is able to replace the C uint types with the correct Rust types, it still generates typedefs for __uint{8,16,32,64}_t [0]. We don’t need these typedefs, so we add a patch to remove them. [0] https://github.com/rust-lang/rust-bindgen/issues/1663
* Add Makefile for generating src/ffi.rsRobin Krahl2020-09-20
| | | | | | | This patch adds a Makefile to make it easier to generate the src/ffi.rs file using bindgen. As we can use whitelists instead of manually removing the unnecessary type definitions, we also re-generate the file with the new settings.
* Mark deprecated functions using the deprecated attributeRobin Krahl2019-07-04
| | | | | | nitrokey-sys currently contains two deprecated functions: `NK_status` and `NK_totp_get_time`. This patch adds Rust’s `deprecated` attribute to the functions.
* Update to libnitrokey v3.5Robin Krahl2019-07-04
| | | | | This patch updates libnitrokey from version 3.4.1 to version 3.5 and lists all API changes in the changelog.
* Update to libnitrokey v3.4v3.4.0Robin Krahl2018-12-10
| | | | | | Besides the changes listed in the changelog, this patch also changes the build system to be able to generate the version.cc file containing the library version.
* Replace generated with static codeRobin Krahl2018-05-20
Use bindgen to generate the bindings statically instead of during build. Code generation is not necessary as NK_C_API.h does not contain any system-dependent definitions. Removing bindgen as a build dependency also drastically speeds up compilation.