VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vsf_winusb_hcd.c File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "kernel/vsf_kernel.h"
#include "component/usb/host/vsf_usbh.h"
#include "./vsf_winusb_hcd.h"
#include <Windows.h>
#include <SetupAPI.h>
#include <winusb.h>
#include <dbt.h>
#include <initguid.h>
#include <Usbiodef.h>
#include "libwdi.h"

Data Structures

struct  vk_winusb_hcd_dev_ep_t
 
struct  vk_winusb_hcd_dev_t
 
struct  vk_winusb_hcd_t
 
struct  vk_winusb_hcd_urb_t
 

Macros

#define __VSF_USBH_CLASS_IMPLEMENT_HCD__
 
#define __VSF_USBH_CLASS_IMPLEMENT_HUB__
 
#define __VSF_EDA_CLASS_INHERIT__
 
#define VSF_WINUSB_CFG_WIN7   DISABLED
 
#define VSF_EVT_WINUSB_HCD_BASE   ((VSF_EVT_USER + 0x100) & ~0xFF)
 
#define VSF_WINUSB_HCD_DEF_DEV(__N, __BIT)
 

Typedefs

typedef struct vk_winusb_hcd_dev_ep_t vk_winusb_hcd_dev_ep_t
 
typedef struct vk_winusb_hcd_dev_t vk_winusb_hcd_dev_t
 
typedef struct vk_winusb_hcd_t vk_winusb_hcd_t
 
typedef struct vk_winusb_hcd_urb_t vk_winusb_hcd_urb_t
 

Enumerations

enum  {
  VSF_EVT_WINUSB_HCD_ATTACH = VSF_EVT_WINUSB_HCD_BASE + 0x100 ,
  VSF_EVT_WINUSB_HCD_DETACH = VSF_EVT_WINUSB_HCD_BASE + 0x200 ,
  VSF_EVT_WINUSB_HCD_READY = VSF_EVT_WINUSB_HCD_BASE + 0x300
}
 

Functions

void vsf_winusb_on_install_driver (uint_fast16_t vid, uint_fast16_t pid)
 
void vsf_winusb_on_driver_installed (uint_fast16_t vid, uint_fast16_t pid, int result, const char *strerr)
 

Variables

const vk_usbh_hcd_drv_t vk_winusb_hcd_drv
 

Macro Definition Documentation

◆ __VSF_USBH_CLASS_IMPLEMENT_HCD__

#define __VSF_USBH_CLASS_IMPLEMENT_HCD__

◆ __VSF_USBH_CLASS_IMPLEMENT_HUB__

#define __VSF_USBH_CLASS_IMPLEMENT_HUB__

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ VSF_WINUSB_CFG_WIN7

#define VSF_WINUSB_CFG_WIN7   DISABLED

◆ VSF_EVT_WINUSB_HCD_BASE

#define VSF_EVT_WINUSB_HCD_BASE   ((VSF_EVT_USER + 0x100) & ~0xFF)

◆ VSF_WINUSB_HCD_DEF_DEV

#define VSF_WINUSB_HCD_DEF_DEV (   __N,
  __BIT 
)
Value:
{ \
.vid = VSF_WINUSB_HCD_DEV##__N##_VID, \
.pid = VSF_WINUSB_HCD_DEV##__N##_PID, \
.addr = -1, \
},

Typedef Documentation

◆ vk_winusb_hcd_dev_ep_t

◆ vk_winusb_hcd_dev_t

◆ vk_winusb_hcd_t

◆ vk_winusb_hcd_urb_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VSF_EVT_WINUSB_HCD_ATTACH 
VSF_EVT_WINUSB_HCD_DETACH 
VSF_EVT_WINUSB_HCD_READY 

Function Documentation

◆ vsf_winusb_on_install_driver()

void vsf_winusb_on_install_driver ( uint_fast16_t  vid,
uint_fast16_t  pid 
)

◆ vsf_winusb_on_driver_installed()

void vsf_winusb_on_driver_installed ( uint_fast16_t  vid,
uint_fast16_t  pid,
int  result,
const char *  strerr 
)

Variable Documentation

◆ vk_winusb_hcd_drv

const vk_usbh_hcd_drv_t vk_winusb_hcd_drv
Initial value:
= {
.init_evthandler = __vk_winusb_hcd_init_evthandler,
.fini = __vk_winusb_hcd_fini,
.suspend = __vk_winusb_hcd_suspend,
.resume = __vk_winusb_hcd_resume,
.get_frame_number = __vk_winusb_hcd_get_frame_number,
.alloc_device = __vk_winusb_hcd_alloc_device,
.free_device = __vk_winusb_hcd_free_device,
.alloc_urb = __vk_winusb_hcd_alloc_urb,
.free_urb = __vk_winusb_hcd_free_urb,
.submit_urb = __vk_winusb_hcd_submit_urb,
.relink_urb = __vk_winusb_hcd_relink_urb,
.reset_dev = __vk_winusb_hcd_reset_dev,
.is_dev_reset = __vk_winusb_hcd_is_dev_reset,
}