connhost.c File Reference

Host controller interface implementation. More...

#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


Detailed Description

Host controller interface implementation.

Definition in file connhost.c.


Generated on Thu Jun 2 07:45:52 2011 for HelenOS/USB by  doxygen 1.4.7