Changeset 6cb58e6 in mainline for uspace/drv/vhc/vhcd.h
- Timestamp:
- 2011-04-28T07:36:48Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6fd7062
- Parents:
- 48d1c228
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/vhc/vhcd.h
r48d1c228 r6cb58e6 37 37 38 38 #include <usb/debug.h> 39 #include <usbvirt/device.h> 40 #include <usb/host/usb_endpoint_manager.h> 41 #include <usb/host/device_keeper.h> 42 #include <usbhc_iface.h> 39 43 40 44 #define NAME "vhc" 41 #define NAME_DEV "hcd-virt-dev"42 #define NAMESPACE "usb"43 45 44 #define DEVMAP_PATH_HC NAMESPACE "/" NAME 45 #define DEVMAP_PATH_DEV NAMESPACE "/" NAME_DEV 46 typedef struct { 47 link_t link; 48 int dev_phone; 49 usbvirt_device_t *dev_local; 50 bool plugged; 51 usb_address_t address; 52 fibril_mutex_t guard; 53 link_t transfer_queue; 54 } vhc_virtdev_t; 46 55 47 //#define dprintf(level, format, ...) 48 // usb_dprintf(NAME, (level), format "\n", ##__VA_ARGS__) 49 //void dprintf_inval_call(int, ipc_call_t, sysarg_t); 56 typedef struct { 57 uint32_t magic; 58 link_t devices; 59 fibril_mutex_t guard; 60 usb_endpoint_manager_t ep_manager; 61 usb_device_keeper_t dev_keeper; 62 usbvirt_device_t *hub; 63 ddf_fun_t *hc_fun; 64 } vhc_data_t; 65 66 typedef struct { 67 link_t link; 68 usb_address_t address; 69 usb_endpoint_t endpoint; 70 usb_direction_t direction; 71 usb_transfer_type_t transfer_type; 72 void *setup_buffer; 73 size_t setup_buffer_size; 74 void *data_buffer; 75 size_t data_buffer_size; 76 ddf_fun_t *ddf_fun; 77 void *callback_arg; 78 usbhc_iface_transfer_in_callback_t callback_in; 79 usbhc_iface_transfer_out_callback_t callback_out; 80 } vhc_transfer_t; 81 82 vhc_transfer_t *vhc_transfer_create(usb_address_t, usb_endpoint_t, 83 usb_direction_t, usb_transfer_type_t, ddf_fun_t *, void *); 84 int vhc_virtdev_plug(vhc_data_t *, int, uintptr_t *); 85 int vhc_virtdev_plug_local(vhc_data_t *, usbvirt_device_t *, uintptr_t *); 86 int vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *); 87 void vhc_virtdev_unplug(vhc_data_t *, uintptr_t); 88 int vhc_virtdev_add_transfer(vhc_data_t *, vhc_transfer_t *); 89 90 int vhc_transfer_queue_processor(void *arg); 91 50 92 51 93 #endif
Note:
See TracChangeset
for help on using the changeset viewer.