Changes in uspace/drv/bus/usb/vhc/vhcd.h [9d58539:58563585] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/vhcd.h
r9d58539 r58563585 33 33 * @brief Virtual USB host controller common definitions. 34 34 */ 35 35 36 #ifndef VHCD_VHCD_H_ 36 37 #define VHCD_VHCD_H_ 37 38 38 #include <usb/debug.h>39 39 #include <usbvirt/device.h> 40 #include <usb/host/usb_endpoint_manager.h>41 #include <usb/host/usb_device_manager.h>42 40 #include <usbhc_iface.h> 43 41 #include <async.h> 42 43 #include <usb/host/hcd.h> 44 44 45 45 #define NAME "vhc" … … 59 59 list_t devices; 60 60 fibril_mutex_t guard; 61 usb_endpoint_manager_t ep_manager; 62 usb_device_manager_t dev_manager; 63 usbvirt_device_t *hub; 64 ddf_fun_t *hc_fun; 61 usbvirt_device_t hub; 65 62 } vhc_data_t; 66 63 67 64 typedef struct { 68 65 link_t link; 69 usb_address_t address; 70 usb_endpoint_t endpoint; 71 usb_direction_t direction; 72 usb_transfer_type_t transfer_type; 73 void *setup_buffer; 74 size_t setup_buffer_size; 75 void *data_buffer; 76 size_t data_buffer_size; 77 ddf_fun_t *ddf_fun; 78 void *callback_arg; 79 usbhc_iface_transfer_in_callback_t callback_in; 80 usbhc_iface_transfer_out_callback_t callback_out; 66 usb_transfer_batch_t *batch; 81 67 } vhc_transfer_t; 82 68 83 vhc_transfer_t *vhc_transfer_create(usb_address_t, usb_endpoint_t, 84 usb_direction_t, usb_transfer_type_t, ddf_fun_t *, void *); 69 void on_client_close(ddf_fun_t *fun); 70 void default_connection_handler(ddf_fun_t *fun, ipc_callid_t icallid, 71 ipc_call_t *icall); 72 85 73 int vhc_virtdev_plug(vhc_data_t *, async_sess_t *, uintptr_t *); 86 74 int vhc_virtdev_plug_local(vhc_data_t *, usbvirt_device_t *, uintptr_t *); 87 int vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t * );75 int vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *, usb_address_t address); 88 76 void vhc_virtdev_unplug(vhc_data_t *, uintptr_t); 89 int vhc_virtdev_add_transfer(vhc_data_t *, vhc_transfer_t *);90 77 78 int vhc_init(vhc_data_t *instance); 79 int vhc_schedule(hcd_t *hcd, usb_transfer_batch_t *batch); 91 80 int vhc_transfer_queue_processor(void *arg); 92 81 82 #endif 93 83 94 #endif95 84 /** 96 85 * @}
Note:
See TracChangeset
for help on using the changeset viewer.