_wlan_fullmac_mlme_c_rustc_static

Function start_fullmac_mlme

Source
#[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 when run_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 until run_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.