18#ifndef __VSF_USB_MITM_H__
19#define __VSF_USB_MITM_H__
25#if VSF_USE_USB_HOST == ENABLED && VSF_USBH_USE_LIBUSB == ENABLED \
26 && VSF_USE_USB_DEVICE == ENABLED && VSF_USBD_CFG_RAW_MODE == ENABLED
28#if defined(__VSF_USB_MITM_CLASS_IMPLEMENT)
29# define __VSF_CLASS_IMPLEMENT__
30# undef __VSF_USB_MITM_CLASS_IMPLEMENT
31#elif defined(__VSF_USB_MITM_CLASS_INHERIT__)
32# define __VSF_CLASS_INHERIT__
33# undef __VSF_USB_MITM_CLASS_INHERIT__
44#ifndef VSF_USB_MITM_USBH_PERIODIC_TICKTOCK
45# define VSF_USB_MITM_USBH_PERIODIC_TICKTOCK DISABLED
48#ifdef VSF_USB_MITM_USBH_URB_NUM
49# error VSF_USB_MITM_USBH_URB_NUM will be defined according to VSF_USB_MITM_USBH_PERIODIC_TICKTOCK
51#if VSF_USB_MITM_USBH_PERIODIC_TICKTOCK == ENABLED
52# define VSF_USB_MITM_USBH_URB_NUM 2
54# define VSF_USB_MITM_USBH_URB_NUM 1
74 vsf_fifo(vsf_usb_mitm_usbh_urb_ready_fifo) ready_fifo;
79 vk_usbd_dev_t usb_dev;
91 uint8_t *config_desc[16], *cur_config_desc;
93 bool is_setup_pending;
98#if VSF_USBH_USE_HUB == ENABLED
105 bool is_control_requesting;
Definition vsf_usbd.h:402
Definition vsf_usbh.h:523
Definition vsf_usbh.h:450
Definition vsf_usbmitm.h:77
#define vsf_class(__name)
Definition ooc_class.h:48
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition usb_common.h:85
Definition vsf_usbh.h:279
Definition vsf_usbh_libusb.h:34
Definition vsf_utilities.h:51
Definition vsf_usbmitm.h:63
vsf_mem_t mem_save
Definition vsf_usbmitm.h:65
Definition vsf_usbmitm.h:72
vsf_fifo(vsf_usb_mitm_usbh_urb_ready_fifo) ready_fifo
vk_usbh_urb_t usbh_urb[VSF_USB_MITM_USBH_URB_NUM]
Definition vsf_usbmitm.h:73
#define def_vsf_fifo( __name, __item_type, __depth)
Definition vsf_fifo.h:129
#define dcl_vsf_fifo(__name)
Definition vsf_fifo.h:121
@ VSF_USBD_MAX_EVT
Definition vsf_usbd.h:376
void vsf_usb_mitm_start(vsf_usb_mitm_t *mitm)
Definition vsf_usbmitm.c:640
#define VSF_USB_MITM_USBH_URB_NUM
Definition vsf_usbmitm.h:52
vsf_usb_mitm_evt_t
Definition vsf_usbmitm.h:68
@ USB_ON_PREPARE_DATA
Definition vsf_usbmitm.h:69