VSF Documented
Data Structures | Macros | Typedefs | Functions
vsf_usbip_dcd.h File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "hal/driver/common/template/vsf_template_usb.h"
#include "component/usb/common/usb_common.h"
#include "kernel/vsf_kernel.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

struct  vk_usbip_dcd_param_t
 
struct  vk_usbip_dcd_ep_t
 
class  vk_usbip_dcd_t
 

Macros

#define VSF_USBIP_DCD_CFG_BACKEND_WIN   1
 
#define VSF_USBIP_DCD_CFG_BACKEND_VSFSOCK   2
 
#define VSF_USBIP_DCD_CFG_BACKEND_LWIP   3
 
#define VSF_USBIP_DCD_CFG_BACKEND   VSF_USBIP_DCD_CFG_BACKEND_LWIP
 
#define VSF_USBIP_DCD_CFG_PATH   "/vsf/usbd/0"
 
#define vsf_usb_dc_from_usbip_ip(__n, __obj, __drv_name)    __USB_DC_FROM_IP(__n, (__obj), __drv_name, vk_usbip_usbd)
 
#define __vk_usbip_server_trace(...)    vsf_trace_debug("usbip_server: " __VA_ARGS__)
 
#define __vk_usbip_server_trace_buffer(...)    vsf_trace_buffer(VSF_TRACE_DEBUG, __VA_ARGS__, VSF_TRACE_DF_DEFAULT)
 
#define __vk_usbip_server_trace_rx(__buffer, __size)
 
#define __vk_usbip_server_trace_tx(__buffer, __size)
 
#define __vk_usbip_server_trace_urb_submit(__urb)
 
#define __vk_usbip_server_trace_urb_done(__urb)
 
#define __vk_usbip_server_trace_urb_unlink(__urb)
 

Typedefs

typedef struct vk_usbip_dcd_param_t vk_usbip_dcd_param_t
 
typedef struct vk_usbip_dcd_ep_t vk_usbip_dcd_ep_t
 

Functions

vsf_err_t vk_usbip_usbd_init (vk_usbip_dcd_t *usbd, usb_dc_cfg_t *cfg)
 
void vk_usbip_usbd_fini (vk_usbip_dcd_t *usbd)
 
void vk_usbip_usbd_reset (vk_usbip_dcd_t *usbd, usb_dc_cfg_t *cfg)
 
void vk_usbip_usbd_connect (vk_usbip_dcd_t *usbd)
 
void vk_usbip_usbd_disconnect (vk_usbip_dcd_t *usbd)
 
void vk_usbip_usbd_wakeup (vk_usbip_dcd_t *usbd)
 
void vk_usbip_usbd_set_address (vk_usbip_dcd_t *usbd, uint_fast8_t addr)
 
uint_fast8_t vk_usbip_usbd_get_address (vk_usbip_dcd_t *usbd)
 
uint_fast16_t vk_usbip_usbd_get_frame_number (vk_usbip_dcd_t *usbd)
 
uint_fast8_t vk_usbip_usbd_get_mframe_number (vk_usbip_dcd_t *usbd)
 
void vk_usbip_usbd_get_setup (vk_usbip_dcd_t *usbd, uint8_t *buffer)
 
void vk_usbip_usbd_status_stage (vk_usbip_dcd_t *usbd, bool is_in)
 
uint_fast8_t vk_usbip_usbd_ep_get_feature (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint_fast8_t feature)
 
vsf_err_t vk_usbip_usbd_ep_add (vk_usbip_dcd_t *usbd, uint_fast8_t ep, usb_ep_type_t type, uint_fast16_t size)
 
uint_fast16_t vk_usbip_usbd_ep_get_size (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
vsf_err_t vk_usbip_usbd_ep_set_stall (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
bool vk_usbip_usbd_ep_is_stalled (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
vsf_err_t vk_usbip_usbd_ep_clear_stall (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
uint_fast32_t vk_usbip_usbd_ep_get_data_size (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
vsf_err_t vk_usbip_usbd_ep_transaction_read_buffer (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint8_t *buffer, uint_fast16_t size)
 
vsf_err_t vk_usbip_usbd_ep_transaction_enable_out (vk_usbip_dcd_t *usbd, uint_fast8_t ep)
 
vsf_err_t vk_usbip_usbd_ep_transaction_set_data_size (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint_fast16_t size)
 
vsf_err_t vk_usbip_usbd_ep_transaction_write_buffer (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint8_t *buffer, uint_fast16_t size)
 
vsf_err_t vk_usbip_usbd_ep_transfer_recv (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint8_t *buffer, uint_fast32_t size)
 
vsf_err_t vk_usbip_usbd_ep_transfer_send (vk_usbip_dcd_t *usbd, uint_fast8_t ep, uint8_t *buffer, uint_fast32_t size, bool zlp)
 
void vk_usbip_usbd_irq (vk_usbip_dcd_t *usbd)
 

Macro Definition Documentation

◆ VSF_USBIP_DCD_CFG_BACKEND_WIN

#define VSF_USBIP_DCD_CFG_BACKEND_WIN   1

◆ VSF_USBIP_DCD_CFG_BACKEND_VSFSOCK

#define VSF_USBIP_DCD_CFG_BACKEND_VSFSOCK   2

◆ VSF_USBIP_DCD_CFG_BACKEND_LWIP

#define VSF_USBIP_DCD_CFG_BACKEND_LWIP   3

◆ VSF_USBIP_DCD_CFG_BACKEND

#define VSF_USBIP_DCD_CFG_BACKEND   VSF_USBIP_DCD_CFG_BACKEND_LWIP

◆ VSF_USBIP_DCD_CFG_PATH

#define VSF_USBIP_DCD_CFG_PATH   "/vsf/usbd/0"

◆ vsf_usb_dc_from_usbip_ip

#define vsf_usb_dc_from_usbip_ip (   __n,
  __obj,
  __drv_name 
)     __USB_DC_FROM_IP(__n, (__obj), __drv_name, vk_usbip_usbd)

◆ __vk_usbip_server_trace

#define __vk_usbip_server_trace (   ...)     vsf_trace_debug("usbip_server: " __VA_ARGS__)

◆ __vk_usbip_server_trace_buffer

#define __vk_usbip_server_trace_buffer (   ...)     vsf_trace_buffer(VSF_TRACE_DEBUG, __VA_ARGS__, VSF_TRACE_DF_DEFAULT)

◆ __vk_usbip_server_trace_rx

#define __vk_usbip_server_trace_rx (   __buffer,
  __size 
)
Value:
do { \
__vk_usbip_server_trace("recv %d bytes" VSF_TRACE_CFG_LINEEND, __size);\
__vk_usbip_server_trace_buffer(__buffer, __size); \
} while (0)
#define VSF_TRACE_CFG_LINEEND
Definition vsf_trace.h:47

◆ __vk_usbip_server_trace_tx

#define __vk_usbip_server_trace_tx (   __buffer,
  __size 
)
Value:
do { \
__vk_usbip_server_trace("send %d bytes" VSF_TRACE_CFG_LINEEND, __size);\
__vk_usbip_server_trace_buffer(__buffer, __size); \
} while (0)

◆ __vk_usbip_server_trace_urb_submit

#define __vk_usbip_server_trace_urb_submit (   __urb)
Value:
do { \
__vk_usbip_server_trace("submit urb%d %s%d %d bytes" VSF_TRACE_CFG_LINEEND,\
(__urb)->req.seqnum, \
(__urb)->req.direction ? "IN" : "OUT", \
(__urb)->req.ep, \
(__urb)->req.transfer_length); \
if (!(__urb)->req.ep) { \
__vk_usbip_server_trace_buffer(&((__urb)->req.setup), 8); \
} \
if (!(__urb)->req.direction && (__urb)->req.transfer_length) { \
__vk_usbip_server_trace_buffer((__urb)->dynmem.buffer, (__urb)->req.transfer_length);\
} \
} while (0)

◆ __vk_usbip_server_trace_urb_done

#define __vk_usbip_server_trace_urb_done (   __urb)
Value:
do { \
__vk_usbip_server_trace("done urb%d %s%d " VSF_TRACE_CFG_LINEEND, \
(__urb)->req.seqnum, \
(__urb)->req.direction ? "IN" : "OUT", \
(__urb)->req.ep); \
uint_fast32_t actual_length = be32_to_cpu((__urb)->rep.actual_length);\
if ((__urb)->req.direction && actual_length) { \
__vk_usbip_server_trace_buffer((__urb)->dynmem.buffer, actual_length);\
} \
} while (0)
unsigned int uint_fast32_t
Definition stdint.h:27
#define be32_to_cpu
Definition vsf_arch_abstraction.h:161

◆ __vk_usbip_server_trace_urb_unlink

#define __vk_usbip_server_trace_urb_unlink (   __urb)
Value:
do { \
__vk_usbip_server_trace("unlink urb%d %s%d " VSF_TRACE_CFG_LINEEND, \
(__urb)->req.seqnum, \
(__urb)->req.direction ? "IN" : "OUT", \
(__urb)->req.ep); \
} while (0)

Typedef Documentation

◆ vk_usbip_dcd_param_t

◆ vk_usbip_dcd_ep_t

Function Documentation

◆ vk_usbip_usbd_init()

vsf_err_t vk_usbip_usbd_init ( vk_usbip_dcd_t usbd,
usb_dc_cfg_t cfg 
)
extern

◆ vk_usbip_usbd_fini()

void vk_usbip_usbd_fini ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_reset()

void vk_usbip_usbd_reset ( vk_usbip_dcd_t usbd,
usb_dc_cfg_t cfg 
)
extern

◆ vk_usbip_usbd_connect()

void vk_usbip_usbd_connect ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_disconnect()

void vk_usbip_usbd_disconnect ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_wakeup()

void vk_usbip_usbd_wakeup ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_set_address()

void vk_usbip_usbd_set_address ( vk_usbip_dcd_t usbd,
uint_fast8_t  addr 
)
extern

◆ vk_usbip_usbd_get_address()

uint_fast8_t vk_usbip_usbd_get_address ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_get_frame_number()

uint_fast16_t vk_usbip_usbd_get_frame_number ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_get_mframe_number()

uint_fast8_t vk_usbip_usbd_get_mframe_number ( vk_usbip_dcd_t usbd)
extern

◆ vk_usbip_usbd_get_setup()

void vk_usbip_usbd_get_setup ( vk_usbip_dcd_t usbd,
uint8_t buffer 
)
extern

◆ vk_usbip_usbd_status_stage()

void vk_usbip_usbd_status_stage ( vk_usbip_dcd_t usbd,
bool  is_in 
)
extern

◆ vk_usbip_usbd_ep_get_feature()

uint_fast8_t vk_usbip_usbd_ep_get_feature ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint_fast8_t  feature 
)
extern

◆ vk_usbip_usbd_ep_add()

vsf_err_t vk_usbip_usbd_ep_add ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
usb_ep_type_t  type,
uint_fast16_t  size 
)
extern

◆ vk_usbip_usbd_ep_get_size()

uint_fast16_t vk_usbip_usbd_ep_get_size ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_set_stall()

vsf_err_t vk_usbip_usbd_ep_set_stall ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_is_stalled()

bool vk_usbip_usbd_ep_is_stalled ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_clear_stall()

vsf_err_t vk_usbip_usbd_ep_clear_stall ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_get_data_size()

uint_fast32_t vk_usbip_usbd_ep_get_data_size ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_transaction_read_buffer()

vsf_err_t vk_usbip_usbd_ep_transaction_read_buffer ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint8_t buffer,
uint_fast16_t  size 
)
extern

◆ vk_usbip_usbd_ep_transaction_enable_out()

vsf_err_t vk_usbip_usbd_ep_transaction_enable_out ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep 
)
extern

◆ vk_usbip_usbd_ep_transaction_set_data_size()

vsf_err_t vk_usbip_usbd_ep_transaction_set_data_size ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint_fast16_t  size 
)
extern

◆ vk_usbip_usbd_ep_transaction_write_buffer()

vsf_err_t vk_usbip_usbd_ep_transaction_write_buffer ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint8_t buffer,
uint_fast16_t  size 
)
extern

◆ vk_usbip_usbd_ep_transfer_recv()

vsf_err_t vk_usbip_usbd_ep_transfer_recv ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint8_t buffer,
uint_fast32_t  size 
)
extern

◆ vk_usbip_usbd_ep_transfer_send()

vsf_err_t vk_usbip_usbd_ep_transfer_send ( vk_usbip_dcd_t usbd,
uint_fast8_t  ep,
uint8_t buffer,
uint_fast32_t  size,
bool  zlp 
)
extern

◆ vk_usbip_usbd_irq()

void vk_usbip_usbd_irq ( vk_usbip_dcd_t usbd)
extern