Ignore:
Timestamp:
2010-11-28T20:58:35Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ba7f671
Parents:
710f518
Message:

Refactoring of remote USBHC interface

It is still not optimal but at least less error prone.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/include/usbhc_iface.h

    r710f518 rfb1dca09  
    166166    usb_transaction_outcome_t, size_t, void *);
    167167
     168
     169/** Out transfer processing function prototype. */
     170typedef 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. */
     175typedef usbhc_iface_transfer_out_t usbhc_iface_transfer_setup_t;
     176
     177/** In transfer processing function prototype. */
     178typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t,
     179    void *, size_t,
     180    usbhc_iface_transfer_in_callback_t, void *);
     181
    168182/** USB devices communication interface. */
    169183typedef struct {
    170184        int (*tell_address)(device_t *, devman_handle_t, usb_address_t *);
    171185
    172         int (*interrupt_out)(device_t *, usb_target_t,
    173             void *, size_t,
    174             usbhc_iface_transfer_out_callback_t, void *);
    175         int (*interrupt_in)(device_t *, usb_target_t,
    176             void *, size_t,
    177             usbhc_iface_transfer_in_callback_t, void *);
    178 
    179         int (*control_write_setup)(device_t *, usb_target_t,
    180             void *, size_t,
    181             usbhc_iface_transfer_out_callback_t, void *);
    182         int (*control_write_data)(device_t *, usb_target_t,
    183             void *, size_t,
    184             usbhc_iface_transfer_out_callback_t, void *);
     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;
    185191        int (*control_write_status)(device_t *, usb_target_t,
    186192            usbhc_iface_transfer_in_callback_t, void *);
    187193
    188         int (*control_read_setup)(device_t *, usb_target_t,
    189             void *, size_t,
    190             usbhc_iface_transfer_out_callback_t, void *);
    191         int (*control_read_data)(device_t *, usb_target_t,
    192             void *, size_t,
    193             usbhc_iface_transfer_in_callback_t, void *);
     194        usbhc_iface_transfer_setup_t control_read_setup;
     195        usbhc_iface_transfer_in_t control_read_data;
    194196        int (*control_read_status)(device_t *, usb_target_t,
    195197            usbhc_iface_transfer_out_callback_t, void *);
Note: See TracChangeset for help on using the changeset viewer.