Expand description
C ABI for the Enpose API.
This is a thin wrapper over the idiomatic Rust API (DeviceDiscovery,
PoseStream, MarkerPose); Rust applications should use those types
directly. The functions here exist so C (and other languages with a C
FFI) can drive the same discover-then-stream workflow. The matching C
declarations live in the hand-written c/enpose_api.h.
Conventions:
- Stateful objects are exposed as opaque pointers created by a
connectfunction and released by afreefunction. - Variable-length results (the device list, a pose batch) are returned as
library-allocated arrays; the caller must release each with the matching
*_array_freefunction and must not free the memory itself. - Functions returning
EnposeStatusreport success asEnposeStatus::Ok; functions returning a pointer report failure asNULL. - Every entry point is panic-safe: a panic is caught at the boundary and turned into an error result rather than unwinding into C.
Structs§
- Enpose
Device Info - C-compatible view of one discovered device.
Enums§
- Enpose
Status - Result code returned by the fallible C API functions.
Functions§
- enpose_
device_ ⚠info_ array_ free - Release an array returned by
enpose_discover. - enpose_
discover ⚠ - Discover Enpose devices on the local network.
- enpose_
marker_ ⚠pose_ array_ free - Release an array returned by
enpose_pose_stream_receive. - enpose_
pose_ ⚠stream_ connect - Connect a pose stream to the device at
ip(an IPv4 string). - enpose_
pose_ ⚠stream_ free - Disconnect and free a pose stream handle.
- enpose_
pose_ ⚠stream_ receive - Return the marker poses received from the stream.