#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. |
Definition in file pipes.h.