Changeset 1e647c7d in mainline for uspace/lib/usbhost/src/iface.c
- Timestamp:
- 2011-09-13T14:24:16Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5d915b7
- Parents:
- e3f6304
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/iface.c
re3f6304 r1e647c7d 221 221 } 222 222 /*----------------------------------------------------------------------------*/ 223 /** Interrupt out transaction interface function224 *225 * @param[in] fun DDF function that was called.226 * @param[in] target USB device to write to.227 * @param[in] data Source of data.228 * @param[in] size Size of data source.229 * @param[in] callback Function to call on transaction completion230 * @param[in] arg Additional for callback function.231 * @return Error code.232 */233 static int interrupt_out(234 ddf_fun_t *fun, usb_target_t target, void *data,235 size_t size, usbhc_iface_transfer_out_callback_t callback, void *arg)236 {237 return send_batch(fun, target, USB_DIRECTION_OUT, data, size,238 0, NULL, callback, arg, "Interrupt OUT");239 }240 /*----------------------------------------------------------------------------*/241 /** Interrupt in transaction interface function242 *243 * @param[in] fun DDF function that was called.244 * @param[in] target USB device to write to.245 * @param[out] data Data destination.246 * @param[in] size Size of data source.247 * @param[in] callback Function to call on transaction completion248 * @param[in] arg Additional for callback function.249 * @return Error code.250 */251 static int interrupt_in(252 ddf_fun_t *fun, usb_target_t target, void *data,253 size_t size, usbhc_iface_transfer_in_callback_t callback, void *arg)254 {255 return send_batch(fun, target, USB_DIRECTION_IN, data, size,256 0, callback, NULL, arg, "Interrupt IN");257 }258 /*----------------------------------------------------------------------------*/259 /** Bulk out transaction interface function260 *261 * @param[in] fun DDF function that was called.262 * @param[in] target USB device to write to.263 * @param[in] data Source of data.264 * @param[in] size Size of data source.265 * @param[in] callback Function to call on transaction completion266 * @param[in] arg Additional for callback function.267 * @return Error code.268 */269 static int bulk_out(270 ddf_fun_t *fun, usb_target_t target, void *data,271 size_t size, usbhc_iface_transfer_out_callback_t callback, void *arg)272 {273 return send_batch(fun, target, USB_DIRECTION_OUT, data, size,274 0, NULL, callback, arg, "Bulk OUT");275 }276 /*----------------------------------------------------------------------------*/277 /** Bulk in transaction interface function278 *279 * @param[in] fun DDF function that was called.280 * @param[in] target USB device to write to.281 * @param[out] data Data destination.282 * @param[in] size Size of data source.283 * @param[in] callback Function to call on transaction completion284 * @param[in] arg Additional for callback function.285 * @return Error code.286 */287 static int bulk_in(288 ddf_fun_t *fun, usb_target_t target, void *data,289 size_t size, usbhc_iface_transfer_in_callback_t callback, void *arg)290 {291 return send_batch(fun, target, USB_DIRECTION_IN, data, size,292 0, callback, NULL, arg, "Bulk IN");293 }294 /*----------------------------------------------------------------------------*/295 /** Control write transaction interface function296 *297 * @param[in] fun DDF function that was called.298 * @param[in] target USB device to write to.299 * @param[in] setup_data Data to send with SETUP transfer.300 * @param[in] setup_size Size of data to send with SETUP transfer (always 8B).301 * @param[in] data Source of data.302 * @param[in] size Size of data source.303 * @param[in] callback Function to call on transaction completion.304 * @param[in] arg Additional for callback function.305 * @return Error code.306 */307 static int control_write(308 ddf_fun_t *fun, usb_target_t target,309 void *setup_data, size_t setup_size, void *data, size_t size,310 usbhc_iface_transfer_out_callback_t callback, void *arg)311 {312 uint64_t setup_buffer;313 memcpy(&setup_buffer, setup_data, 8);314 return send_batch(fun, target, USB_DIRECTION_BOTH, data, size,315 setup_buffer, NULL, callback, arg, "Control WRITE");316 }317 /*----------------------------------------------------------------------------*/318 /** Control read transaction interface function319 *320 * @param[in] fun DDF function that was called.321 * @param[in] target USB device to write to.322 * @param[in] setup_data Data to send with SETUP packet.323 * @param[in] setup_size Size of data to send with SETUP packet (should be 8B).324 * @param[out] data Source of data.325 * @param[in] size Size of data source.326 * @param[in] callback Function to call on transaction completion.327 * @param[in] arg Additional for callback function.328 * @return Error code.329 */330 static int control_read(331 ddf_fun_t *fun, usb_target_t target,332 void *setup_data, size_t setup_size, void *data, size_t size,333 usbhc_iface_transfer_in_callback_t callback, void *arg)334 {335 uint64_t setup_buffer;336 memcpy(&setup_buffer, setup_data, 8);337 return send_batch(fun, target, USB_DIRECTION_BOTH, data, size,338 setup_buffer, callback, NULL, arg, "Control READ");339 }340 /*----------------------------------------------------------------------------*/341 223 static int usb_read(ddf_fun_t *fun, usb_target_t target, uint64_t setup_data, 342 224 uint8_t *data, size_t size, usbhc_iface_transfer_in_callback_t callback, … … 364 246 .unregister_endpoint = unregister_endpoint, 365 247 366 .interrupt_out = interrupt_out,367 .interrupt_in = interrupt_in,368 369 .bulk_out = bulk_out,370 .bulk_in = bulk_in,371 372 .control_write = control_write,373 .control_read = control_read,374 375 248 .read = usb_read, 376 249 .write = usb_write,
Note:
See TracChangeset
for help on using the changeset viewer.