Type Alias flipperzero_sys::usbd_ctl_callback

source ·
pub type usbd_ctl_callback = Option<unsafe extern "C" fn(dev: *mut usbd_device, req: *mut usbd_ctlreq, callback: *mut usbd_rqc_callback) -> usbd_respond>;
Expand description

USB control callback function.

Uses for the control request processing. Some requests will be handled by core if callback don’t process it (returns FALSE). If request was not processed STALL PID will be issued.

  • GET_CONFIGURATION
  • SET_CONFIGURATION (passes to usbd_cfg_callback)
  • GET_DESCRIPTOR (passes to usbd_dsc_callback)
  • GET_STATUS
  • SET_FEATURE, CLEAR_FEATURE (endpoints only)
  • SET_ADDRESS

§Arguments

  • dev (direction in) - points to USB device
  • req (direction in) - points to usb control request
  • *callback (direction out) - USB control transfer completion callback, default is NULL (no callback)

§Returns

usbd_respond status.

Aliased Type§

enum usbd_ctl_callback {
    None,
    Some(unsafe extern "C" fn(_: *mut _usbd_device, _: *mut usbd_ctlreq, _: *mut Option<unsafe extern "C" fn(_: *mut _usbd_device, _: *mut usbd_ctlreq)>) -> u8),
}

Variants§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(_: *mut _usbd_device, _: *mut usbd_ctlreq, _: *mut Option<unsafe extern "C" fn(_: *mut _usbd_device, _: *mut usbd_ctlreq)>) -> u8)

Some value of type T.