Changes in uspace/lib/drv/include/usbhc_iface.h [cb59f787:fb1dca09] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/include/usbhc_iface.h
rcb59f787 rfb1dca09 92 92 */ 93 93 typedef enum { 94 /** Tell USB address assigned to device. 95 * Parameters: 96 * - devman handle id 97 * Answer: 98 * - EINVAL - unknown handle or handle not managed by this driver 99 * - ENOTSUP - operation not supported by HC (shall not happen) 100 * - arbitrary error code if returned by remote implementation 101 * - EOK - handle found, first parameter contains the USB address 102 */ 103 IPC_M_USBHC_GET_ADDRESS, 104 94 105 /** Asks for data buffer. 95 106 * See explanation at usb_iface_funcs_t. … … 155 166 usb_transaction_outcome_t, size_t, void *); 156 167 168 169 /** Out transfer processing function prototype. */ 170 typedef int (*usbhc_iface_transfer_out_t)(device_t *, usb_target_t, 171 void *, size_t, 172 usbhc_iface_transfer_out_callback_t, void *); 173 174 /** Setup transfer processing function prototype. */ 175 typedef usbhc_iface_transfer_out_t usbhc_iface_transfer_setup_t; 176 177 /** In transfer processing function prototype. */ 178 typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t, 179 void *, size_t, 180 usbhc_iface_transfer_in_callback_t, void *); 181 157 182 /** USB devices communication interface. */ 158 183 typedef struct { 159 int (*interrupt_out)(device_t *, usb_target_t, 160 void *, size_t, 184 int (*tell_address)(device_t *, devman_handle_t, usb_address_t *); 185 186 usbhc_iface_transfer_out_t interrupt_out; 187 usbhc_iface_transfer_in_t interrupt_in; 188 189 usbhc_iface_transfer_setup_t control_write_setup; 190 usbhc_iface_transfer_out_t control_write_data; 191 int (*control_write_status)(device_t *, usb_target_t, 192 usbhc_iface_transfer_in_callback_t, void *); 193 194 usbhc_iface_transfer_setup_t control_read_setup; 195 usbhc_iface_transfer_in_t control_read_data; 196 int (*control_read_status)(device_t *, usb_target_t, 161 197 usbhc_iface_transfer_out_callback_t, void *); 162 int (*interrupt_in)(device_t *, usb_target_t,163 void *, size_t,164 usbhc_iface_transfer_in_callback_t, void *);165 198 } usbhc_iface_t; 166 199
Note:
See TracChangeset
for help on using the changeset viewer.