#[no_mangle]
pub unsafe extern "C" fn start_fullmac_mlme(
fullmac_client_end_handle: zx_handle_t,
shutdown_completer: *mut c_void,
run_shutdown_completer: unsafe extern "C" fn(shutdown_completer: *mut c_void, status: zx_status_t),
) -> *mut FullmacMlmeHandle
Expand description
Starts and runs the FullMAC MLME and SME futures on a separate thread. MLME will call the given
run_shutdown_completer
when it exits.
§Safety
This function is unsafe for the following reasons:
- This function cannot guarantee
fullmac_client_end_handle
is a valid handle. - This function cannot guarantee
run_shutdown_completer
is thread-safe. - This function cannot guarantee
shutdown_completer
points to a valid object whenrun_shutdown_completer
is called.
By calling this function, the caller promises the following:
- The
fullmac_client_end_handle
is a valid handle. - The
run_shutdown_completer
function is thread-safe. - The
shutdown_completer
pointer will point to a valid object at least untilrun_shutdown_completer
is called.
It is additionally the caller’s responsibility to deallocate the returned FullmacMlmeHandle.
The caller promises that they will eventually call delete_fullmac_mlme
on the returned
FullmacMlmeHandle.