cue-sdk-sys

GithubRepo CratesIO DocsRS

The cue-sdk-sys crate is a low-level unsafe Rust bindings to the native Corsair iCUE SDK.

Source Generation Process

The follow describes the steps taken to generate the source code, and what manual tweaks were made to the generated code.

  1. Run bindgen with the following arguments: bindgen <path_to_CUESDK.h> -- -x c++ -std=gnu++14
  2. Combine function calls into a single extern block.
  3. Add #[must_use] to functions which return boolean "success" values.
  4. Import rust FFI types.
  5. Add Send and Sync traits to non-auto send/sync structs since the iCUE SDK documentation shares that the SDK is thread-safe.

Building

MacOS

Windows