2026-05-16 01:08:42 +02:00
|
|
|
use std::os::raw::{c_char, c_int, c_void};
|
|
|
|
|
|
|
|
|
|
pub type FFICallback = unsafe extern "C" fn(
|
|
|
|
|
ret: c_int,
|
|
|
|
|
msg: *const c_char,
|
|
|
|
|
len: usize,
|
|
|
|
|
user_data: *mut c_void,
|
|
|
|
|
);
|
|
|
|
|
|
2026-05-19 12:43:34 +02:00
|
|
|
#[link(name = "my_timer")]
|
2026-05-16 01:08:42 +02:00
|
|
|
extern "C" {
|
2026-05-19 12:43:34 +02:00
|
|
|
pub fn my_timer_create(req_cbor: *const u8, req_cbor_len: usize, callback: FFICallback, user_data: *mut c_void) -> *mut c_void;
|
|
|
|
|
pub fn my_timer_echo(ctx: *mut c_void, callback: FFICallback, user_data: *mut c_void, req_cbor: *const u8, req_cbor_len: usize) -> c_int;
|
|
|
|
|
pub fn my_timer_version(ctx: *mut c_void, callback: FFICallback, user_data: *mut c_void, req_cbor: *const u8, req_cbor_len: usize) -> c_int;
|
|
|
|
|
pub fn my_timer_complex(ctx: *mut c_void, callback: FFICallback, user_data: *mut c_void, req_cbor: *const u8, req_cbor_len: usize) -> c_int;
|
|
|
|
|
pub fn my_timer_schedule(ctx: *mut c_void, callback: FFICallback, user_data: *mut c_void, req_cbor: *const u8, req_cbor_len: usize) -> c_int;
|
|
|
|
|
pub fn my_timer_destroy(ctx: *mut c_void) -> c_int;
|
2026-05-28 16:00:28 +02:00
|
|
|
pub fn my_timer_add_event_listener(ctx: *mut c_void, event_name: *const c_char, callback: FFICallback, user_data: *mut c_void) -> u64;
|
|
|
|
|
pub fn my_timer_remove_event_listener(ctx: *mut c_void, listener_id: u64) -> c_int;
|
2026-05-16 01:08:42 +02:00
|
|
|
}
|