pipes.h File Reference

USB pipes representation. More...

#include <sys/types.h>
#include <usb/usb.h>
#include <usb/hc.h>
#include <usb/descriptor.h>
#include <ipc/devman.h>
#include <ddf/driver.h>
#include <fibril_synch.h>

Go to the source code of this file.

Data Structures

struct  usb_device_connection_t
 Abstraction of a physical connection to the device. More...
struct  usb_endpoint_description_t
 Description of endpoint characteristics. More...
struct  usb_endpoint_mapping_t
 Mapping of endpoint pipes and endpoint descriptions. More...
struct  usb_pipe_t
 Abstraction of a logical connection to USB device endpoint. More...

Functions

int usb_device_connection_initialize (usb_device_connection_t *connection, devman_handle_t host_controller_handle, usb_address_t device_address)
 Initialize connection to USB device.
int usb_device_connection_initialize_from_device (usb_device_connection_t *connection, ddf_dev_t *dev)
 Initialize connection to USB device.
int usb_device_connection_initialize_on_default_address (usb_device_connection_t *dev_connection, usb_hc_connection_t *hc_connection)
 Initialize connection to USB device on default address.
int usb_device_get_assigned_interface (ddf_dev_t *device)
 Tell USB interface assigned to given device.
int usb_pipe_control_read (usb_pipe_t *pipe, void *setup_buffer, size_t setup_buffer_size, void *data_buffer, size_t data_buffer_size, size_t *data_transfered_size)
 Request a control read transfer on an endpoint pipe.
int usb_pipe_control_write (usb_pipe_t *pipe, void *setup_buffer, size_t setup_buffer_size, void *data_buffer, size_t data_buffer_size)
 Request a control write transfer on an endpoint pipe.
void usb_pipe_end_long_transfer (usb_pipe_t *pipe)
 Terminate a long transfer on a pipe.
int usb_pipe_initialize (usb_pipe_t *pipe, usb_device_connection_t *connection, usb_endpoint_t endpoint_no, usb_transfer_type_t transfer_type, size_t max_packet_size, usb_direction_t direction)
 Initialize USB endpoint pipe.
int usb_pipe_initialize_default_control (usb_pipe_t *pipe, usb_device_connection_t *connection)
 Initialize USB endpoint pipe as the default zero control pipe.
int usb_pipe_initialize_from_configuration (usb_endpoint_mapping_t *mapping, size_t mapping_count, uint8_t *configuration_descriptor, size_t configuration_descriptor_size, usb_device_connection_t *connection)
 Initialize endpoint pipes from configuration descriptor.
int usb_pipe_probe_default_control (usb_pipe_t *pipe)
 Probe default control pipe for max packet size.
int usb_pipe_read (usb_pipe_t *pipe, void *buffer, size_t size, size_t *size_transfered)
 Request a read (in) transfer on an endpoint pipe.
int usb_pipe_register (usb_pipe_t *pipe, unsigned int interval, usb_hc_connection_t *hc_connection)
 Register endpoint with the host controller.
int usb_pipe_register_with_speed (usb_pipe_t *pipe, usb_speed_t speed, unsigned int interval, usb_hc_connection_t *hc_connection)
 Register endpoint with a speed at the host controller.
void usb_pipe_start_long_transfer (usb_pipe_t *pipe)
 Prepare pipe for a long transfer.
int usb_pipe_unregister (usb_pipe_t *pipe, usb_hc_connection_t *hc_connection)
 Revert endpoint registration with the host controller.
int usb_pipe_write (usb_pipe_t *pipe, void *buffer, size_t size)
 Request a write (out) transfer on an endpoint pipe.


Detailed Description

USB pipes representation.

Definition in file pipes.h.


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