esp32_nimble/utilities/
mod.rs

1mod ble_uuid;
2pub use ble_uuid::BleUuid;
3
4pub mod mutex;
5
6mod arc_unsafe_cell;
7pub(crate) use arc_unsafe_cell::*;
8
9mod ble_functions;
10pub(crate) use ble_functions::*;
11
12mod nimble_npl_os;
13pub(crate) use nimble_npl_os::*;
14
15mod os_mbuf;
16pub(crate) use os_mbuf::*;
17
18#[inline]
19#[allow(unused)]
20pub(crate) unsafe fn extend_lifetime_mut<'a, 'b: 'a, T: ?Sized>(r: &'a mut T) -> &'b mut T {
21    unsafe { core::mem::transmute::<&'a mut T, &'b mut T>(r) }
22}
23
24#[inline]
25#[allow(unused)]
26pub(crate) const unsafe fn as_mut_ptr<T>(ptr: *const T) -> *mut T {
27    ptr as *mut T
28}
29
30#[inline]
31pub(crate) unsafe fn as_void_ptr<T>(r: &mut T) -> *mut ::core::ffi::c_void {
32    (r as *mut T).cast()
33}
34
35#[inline]
36pub(crate) unsafe fn voidp_to_ref<'a, T>(ptr: *mut core::ffi::c_void) -> &'a mut T {
37    unsafe { &mut *ptr.cast() }
38}