Ignore:
File:
1 edited

Legend:

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

    r9d58539 r70a422b  
    4242#include <usb/usb.h>
    4343
     44typedef intptr_t usb_device_handle_t;
     45enum {
     46        USB_DEVICE_HANDLE_INVALID = -1
     47};
     48typedef async_sess_t usb_dev_session_t;
     49
     50usb_dev_session_t *usb_dev_connect(devman_handle_t);
     51usb_dev_session_t *usb_dev_connect_to_self(ddf_dev_t *);
     52void usb_dev_disconnect(usb_dev_session_t *);
     53
    4454int usb_get_my_address(async_exch_t *, usb_address_t *);
    4555int usb_get_my_interface(async_exch_t *, int *);
    4656int usb_get_hc_handle(async_exch_t *, devman_handle_t *);
     57
     58int usb_reserve_default_address(async_exch_t *, usb_speed_t);
     59int usb_release_default_address(async_exch_t *);
     60
     61int usb_device_enumerate(async_exch_t *, usb_device_handle_t *);
     62int usb_device_remove(async_exch_t *, usb_device_handle_t);
     63
     64int usb_register_endpoint(async_exch_t *, usb_endpoint_t, usb_transfer_type_t,
     65    usb_direction_t, size_t, unsigned);
     66int usb_unregister_endpoint(async_exch_t *, usb_endpoint_t, usb_direction_t);
    4767
    4868/** USB device communication interface. */
     
    5171        int (*get_my_interface)(ddf_fun_t *, int *);
    5272        int (*get_hc_handle)(ddf_fun_t *, devman_handle_t *);
     73
     74        int (*reserve_default_address)(ddf_fun_t *, usb_speed_t);
     75        int (*release_default_address)(ddf_fun_t *);
     76        int (*device_enumerate)(ddf_fun_t *, usb_device_handle_t *);
     77        int (*device_remove)(ddf_fun_t *, usb_device_handle_t);
     78        int (*register_endpoint)(ddf_fun_t *, usb_endpoint_t,
     79            usb_transfer_type_t, usb_direction_t, size_t, unsigned);
     80        int (*unregister_endpoint)(ddf_fun_t *, usb_endpoint_t,
     81            usb_direction_t);
    5382} usb_iface_t;
    5483
Note: See TracChangeset for help on using the changeset viewer.