VSF Documented
vsf_usbh_libusb.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __VSF_USBH_LIBUSB_H__
19#define __VSF_USBH_LIBUSB_H__
20
21/*============================ INCLUDES ======================================*/
23
24#if VSF_USE_USB_HOST == ENABLED && VSF_USBH_USE_LIBUSB == ENABLED
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30/*============================ MACROS ========================================*/
31/*============================ MACROFIED FUNCTIONS ===========================*/
32/*============================ TYPES =========================================*/
33
34typedef struct vk_usbh_libusb_dev_t {
38 void *user_data;
39
49
54
55typedef void (*vk_usbh_libusb_on_event_t)( void *param,
58
59/*============================ GLOBAL VARIABLES ==============================*/
60
62
63/*============================ PROTOTYPES ====================================*/
64
65// user should treat on_event as probe callback, submitting urb in on_event is prohibited
66// and if user code MUST be same as a usbh driver, eg: request ep0.crit before access ep0
67extern void vk_usbh_libusb_set_evthandler(void *param,
69
72
73#ifdef __cplusplus
74}
75#endif
76
77#endif
78#endif
vsf_err_t
Definition __type.h:42
Definition vsf_usbh.h:268
Definition vsf_usbh.h:478
Definition vsf_usbh.h:523
Definition vsf_usbh.h:450
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_usbh_libusb.h:34
uint8_t ep0size
Definition vsf_usbh_libusb.h:44
vk_usbh_t * usbh
Definition vsf_usbh_libusb.h:35
void * user_data
Definition vsf_usbh_libusb.h:38
bool is_to_remove
Definition vsf_usbh_libusb.h:47
uint8_t subc
Definition vsf_usbh_libusb.h:42
uint8_t protocol
Definition vsf_usbh_libusb.h:43
bool is_opened
Definition vsf_usbh_libusb.h:46
uint8_t c
Definition vsf_usbh_libusb.h:41
uint8_t address
Definition vsf_usbh_libusb.h:45
uint16_t vid
Definition vsf_usbh_libusb.h:40
uint16_t pid
Definition vsf_usbh_libusb.h:40
vk_usbh_dev_t * dev
Definition vsf_usbh_libusb.h:36
vk_usbh_urb_t urb
Definition vsf_usbh_libusb.h:37
void vk_usbh_libusb_close(vk_usbh_libusb_dev_t *ldev)
Definition vsf_usbh_libusb.c:147
void vk_usbh_libusb_set_evthandler(void *param, vk_usbh_libusb_on_event_t on_event)
Definition vsf_usbh_libusb.c:141
void(* vk_usbh_libusb_on_event_t)(void *param, vk_usbh_libusb_dev_t *dev, vk_usbh_libusb_evt_t evt)
Definition vsf_usbh_libusb.h:55
vsf_err_t vk_usbh_libusb_open(vk_usbh_libusb_dev_t *ldev)
Definition vsf_usbh_libusb.c:155
vk_usbh_libusb_evt_t
Definition vsf_usbh_libusb.h:50
@ VSF_USBH_LIBUSB_EVT_ON_ARRIVED
Definition vsf_usbh_libusb.h:51
@ VSF_USBH_LIBUSB_EVT_ON_LEFT
Definition vsf_usbh_libusb.h:52
const vk_usbh_class_drv_t vk_usbh_libusb_drv
Definition vsf_usbh_libusb.c:62