1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use core::ffi::c_void;
use crate::furi::base::Status;
use crate::opaque;
opaque!(FuriMessageQueue);
extern "C" {
#[link_name = "furi_message_queue_alloc"]
pub fn alloc(count: usize, size: usize) -> *const FuriMessageQueue;
#[link_name = "furi_message_queue_free"]
pub fn free(queue: *const FuriMessageQueue);
#[link_name = "furi_message_queue_put"]
pub fn put(queue: *const FuriMessageQueue, payload: *const c_void, timeout: u32) -> Status;
#[link_name = "furi_message_queue_get"]
pub fn get(queue: *const FuriMessageQueue, payload: *mut c_void, timeout: u32) -> Status;
#[link_name = "furi_message_queue_get_capacity"]
pub fn capacity(queue: *const FuriMessageQueue) -> u32;
#[link_name = "furi_message_queue_get_count"]
pub fn count(queue: *const FuriMessageQueue) -> u32;
#[link_name = "furi_message_queue_get_space"]
pub fn space(queue: *const FuriMessageQueue) -> u32;
}