#include <assert.h>
#include <errno.h>
#include <usb/usb.h>
#include <usb/ddfiface.h>
#include <usb/debug.h>
#include <usbhc_iface.h>
#include "vhcd.h"
Go to the source code of this file.
Defines | |
#define | GET_VHC_DATA(fun) ((vhc_data_t *)fun->dev->driver_data) |
#define | UNSUPPORTED(methodname) |
#define | VHC_DATA(vhc, fun) vhc_data_t *vhc = GET_VHC_DATA(fun); assert(vhc->magic == 0xdeadbeef) |
Functions | |
static int | bind_address (ddf_fun_t *fun, usb_address_t address, devman_handle_t handle) |
Bind USB address with device devman handle. | |
static int | bulk_in (ddf_fun_t *fun, usb_target_t target, void *data, size_t size, usbhc_iface_transfer_in_callback_t callback, void *arg) |
Schedule bulk in transfer. | |
static int | bulk_out (ddf_fun_t *fun, usb_target_t target, void *data, size_t size, usbhc_iface_transfer_out_callback_t callback, void *arg) |
Schedule bulk out transfer. | |
static int | control_read (ddf_fun_t *fun, usb_target_t target, void *setup_packet, size_t setup_packet_size, void *data_buffer, size_t data_buffer_size, usbhc_iface_transfer_in_callback_t callback, void *arg) |
Schedule control read transfer. | |
static int | control_write (ddf_fun_t *fun, usb_target_t target, void *setup_packet, size_t setup_packet_size, void *data_buffer, size_t data_buffer_size, usbhc_iface_transfer_out_callback_t callback, void *arg) |
Schedule control write transfer. | |
static int | find_by_address (ddf_fun_t *fun, usb_address_t address, devman_handle_t *handle) |
Find device handle by address interface function. | |
static int | interrupt_in (ddf_fun_t *fun, usb_target_t target, void *data, size_t size, usbhc_iface_transfer_in_callback_t callback, void *arg) |
Schedule interrupt in transfer. | |
static int | interrupt_out (ddf_fun_t *fun, usb_target_t target, void *data, size_t size, usbhc_iface_transfer_out_callback_t callback, void *arg) |
Schedule interrupt out transfer. | |
static int | register_endpoint (ddf_fun_t *fun, usb_address_t address, usb_speed_t speed, usb_endpoint_t endpoint, usb_transfer_type_t transfer_type, usb_direction_t direction, size_t max_packet_size, unsigned int interval) |
Register endpoint for bandwidth reservation. | |
static int | release_address (ddf_fun_t *fun, usb_address_t address) |
Release previously requested address. | |
static int | request_address (ddf_fun_t *fun, usb_speed_t speed, usb_address_t *address) |
Found free USB address. | |
static int | tell_address (ddf_fun_t *fun, devman_handle_t handle, usb_address_t *address) |
static int | tell_address_rh (ddf_fun_t *root_hub_fun, devman_handle_t handle, usb_address_t *address) |
static int | unregister_endpoint (ddf_fun_t *fun, usb_address_t address, usb_endpoint_t endpoint, usb_direction_t direction) |
Unregister endpoint (free some bandwidth reservation). | |
static int | usb_iface_get_hc_handle_rh_impl (ddf_fun_t *root_hub_fun, devman_handle_t *handle) |
Variables | |
usb_iface_t | rh_usb_iface |
usbhc_iface_t | vhc_iface |
usb_iface_t | vhc_usb_iface |
Definition in file connhost.c.