Ignore:
File:
1 edited

Legend:

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

    r6427cf67 r9753220  
    4040#include "driver.h"
    4141#include <usb/usb.h>
    42 #include <bool.h>
    4342
    4443
     
    6766 *   - argument #2 is target endpoint
    6867 *   - argument #3 is buffer size
    69  * - this call is immediately followed by IPC data read (async version)
    7068 * - the call is not answered until the device returns some data (or until
    7169 *   error occurs)
     70 * - if the call is answered with EOK, first argument of the answer is buffer
     71 *   hash that could be used to retrieve the actual data
    7272 *
    7373 * Some special methods (NO-DATA transactions) do not send any data. These
    7474 * might behave as both OUT or IN transactions because communication parts
    7575 * where actual buffers are exchanged are omitted.
    76  **
     76 *
     77 * The mentioned data retrieval can be done any time after receiving EOK
     78 * answer to IN method.
     79 * This retrieval is done using the IPC_M_USBHC_GET_BUFFER where
     80 * the first argument is buffer hash from call answer.
     81 * This call must be immediately followed by data read-in and after the
     82 * data are transferred, the initial call (IPC_M_USBHC_GET_BUFFER)
     83 * is answered. Each buffer can be retrieved only once.
     84 *
    7785 * For all these methods, wrap functions exists. Important rule: functions
    7886 * for IN transactions have (as parameters) buffers where retrieved data
     
    96104        IPC_M_USBHC_GET_ADDRESS,
    97105
     106        /** Asks for data buffer.
     107         * See explanation at usb_iface_funcs_t.
     108         * This function does not have counter part in functional interface
     109         * as it is handled by the remote part itself.
     110         */
     111        IPC_M_USBHC_GET_BUFFER,
     112
    98113
    99114        /** Reserve usage of default address.
     
    208223/** Callback for outgoing transfer. */
    209224typedef void (*usbhc_iface_transfer_out_callback_t)(device_t *,
    210     int, void *);
     225    usb_transaction_outcome_t, void *);
    211226
    212227/** Callback for incoming transfer. */
    213228typedef void (*usbhc_iface_transfer_in_callback_t)(device_t *,
    214     int, size_t, void *);
     229    usb_transaction_outcome_t, size_t, void *);
    215230
    216231
     
    232247        int (*tell_address)(device_t *, devman_handle_t, usb_address_t *);
    233248
    234         int (*reserve_default_address)(device_t *, bool);
     249        int (*reserve_default_address)(device_t *);
    235250        int (*release_default_address)(device_t *);
    236         int (*request_address)(device_t *, bool, usb_address_t *);
     251        int (*request_address)(device_t *, usb_address_t *);
    237252        int (*bind_address)(device_t *, usb_address_t, devman_handle_t);
    238253        int (*release_address)(device_t *, usb_address_t);
Note: See TracChangeset for help on using the changeset viewer.