Changeset b4b534ac in mainline for uspace/lib/drv/include/usb_iface.h


Ignore:
Timestamp:
2016-07-22T08:24:47Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f76d2c2
Parents:
5b18137 (diff), 8351f9a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jan.vesely/helenos/usb

File:
1 edited

Legend:

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

    r5b18137 rb4b534ac  
    4242#include <usb/usb.h>
    4343
    44 int usb_get_my_address(async_exch_t *, usb_address_t *);
     44typedef async_sess_t usb_dev_session_t;
     45
     46usb_dev_session_t *usb_dev_connect(devman_handle_t);
     47usb_dev_session_t *usb_dev_connect_to_self(ddf_dev_t *);
     48void usb_dev_disconnect(usb_dev_session_t *);
     49
    4550int usb_get_my_interface(async_exch_t *, int *);
    46 int usb_get_hc_handle(async_exch_t *, devman_handle_t *);
     51int usb_get_my_device_handle(async_exch_t *, devman_handle_t *);
     52
     53int usb_reserve_default_address(async_exch_t *, usb_speed_t);
     54int usb_release_default_address(async_exch_t *);
     55
     56int usb_device_enumerate(async_exch_t *, unsigned port);
     57int usb_device_remove(async_exch_t *, unsigned port);
     58
     59int usb_register_endpoint(async_exch_t *, usb_endpoint_t, usb_transfer_type_t,
     60    usb_direction_t, size_t, unsigned, unsigned);
     61int usb_unregister_endpoint(async_exch_t *, usb_endpoint_t, usb_direction_t);
     62int usb_read(async_exch_t *, usb_endpoint_t, uint64_t, void *, size_t, size_t *);
     63int usb_write(async_exch_t *, usb_endpoint_t, uint64_t, const void *, size_t);
     64
     65/** Callback for outgoing transfer. */
     66typedef void (*usb_iface_transfer_out_callback_t)(int, void *);
     67
     68/** Callback for incoming transfer. */
     69typedef void (*usb_iface_transfer_in_callback_t)(int, size_t, void *);
    4770
    4871/** USB device communication interface. */
    4972typedef struct {
    50         int (*get_my_address)(ddf_fun_t *, usb_address_t *);
    5173        int (*get_my_interface)(ddf_fun_t *, int *);
    52         int (*get_hc_handle)(ddf_fun_t *, devman_handle_t *);
     74        int (*get_my_device_handle)(ddf_fun_t *, devman_handle_t *);
     75
     76        int (*reserve_default_address)(ddf_fun_t *, usb_speed_t);
     77        int (*release_default_address)(ddf_fun_t *);
     78
     79        int (*device_enumerate)(ddf_fun_t *, unsigned);
     80        int (*device_remove)(ddf_fun_t *, unsigned);
     81
     82        int (*register_endpoint)(ddf_fun_t *, usb_endpoint_t,
     83            usb_transfer_type_t, usb_direction_t, size_t, unsigned, unsigned);
     84        int (*unregister_endpoint)(ddf_fun_t *, usb_endpoint_t,
     85            usb_direction_t);
     86
     87        int (*read)(ddf_fun_t *, usb_endpoint_t, uint64_t, uint8_t *, size_t,
     88            usb_iface_transfer_in_callback_t, void *);
     89        int (*write)(ddf_fun_t *, usb_endpoint_t, uint64_t, const uint8_t *,
     90            size_t, usb_iface_transfer_out_callback_t, void *);
    5391} usb_iface_t;
    5492
Note: See TracChangeset for help on using the changeset viewer.