Changeset 50ba203 in mainline for uspace/lib/drv/include/usbhc_iface.h
- Timestamp:
- 2011-02-20T15:46:48Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6bb83c7
- Parents:
- d81ef61c (diff), 0c00dac (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/include/usbhc_iface.h
rd81ef61c r50ba203 40 40 #include "driver.h" 41 41 #include <usb/usb.h> 42 #include <bool.h> 42 43 43 44 … … 66 67 * - argument #2 is target endpoint 67 68 * - argument #3 is buffer size 69 * - this call is immediately followed by IPC data read (async version) 68 70 * - the call is not answered until the device returns some data (or until 69 71 * error occurs) 70 * - if the call is answered with EOK, first argument of the answer is buffer71 * hash that could be used to retrieve the actual data72 72 * 73 73 * Some special methods (NO-DATA transactions) do not send any data. These 74 74 * might behave as both OUT or IN transactions because communication parts 75 75 * where actual buffers are exchanged are omitted. 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 * 76 ** 85 77 * For all these methods, wrap functions exists. Important rule: functions 86 78 * for IN transactions have (as parameters) buffers where retrieved data … … 104 96 IPC_M_USBHC_GET_ADDRESS, 105 97 106 /** Asks for data buffer.107 * See explanation at usb_iface_funcs_t.108 * This function does not have counter part in functional interface109 * as it is handled by the remote part itself.110 */111 IPC_M_USBHC_GET_BUFFER,112 113 98 114 99 /** Reserve usage of default address. … … 223 208 /** Callback for outgoing transfer. */ 224 209 typedef void (*usbhc_iface_transfer_out_callback_t)(device_t *, 225 usb_transaction_outcome_t, void *);210 int, void *); 226 211 227 212 /** Callback for incoming transfer. */ 228 213 typedef void (*usbhc_iface_transfer_in_callback_t)(device_t *, 229 usb_transaction_outcome_t, size_t, void *);214 int, size_t, void *); 230 215 231 216 232 217 /** Out transfer processing function prototype. */ 233 typedef int (*usbhc_iface_transfer_out_t)(device_t *, usb_target_t, 218 typedef int (*usbhc_iface_transfer_out_t)(device_t *, usb_target_t, size_t, 234 219 void *, size_t, 235 220 usbhc_iface_transfer_out_callback_t, void *); 236 221 237 /** Setup transfer processing function prototype. */222 /** Setup transfer processing function prototype. @deprecated */ 238 223 typedef usbhc_iface_transfer_out_t usbhc_iface_transfer_setup_t; 239 224 240 225 /** In transfer processing function prototype. */ 241 typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t, 226 typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t, size_t, 242 227 void *, size_t, 243 228 usbhc_iface_transfer_in_callback_t, void *); … … 247 232 int (*tell_address)(device_t *, devman_handle_t, usb_address_t *); 248 233 249 int (*reserve_default_address)(device_t * );234 int (*reserve_default_address)(device_t *, bool); 250 235 int (*release_default_address)(device_t *); 251 int (*request_address)(device_t *, usb_address_t *);236 int (*request_address)(device_t *, bool, usb_address_t *); 252 237 int (*bind_address)(device_t *, usb_address_t, devman_handle_t); 253 238 int (*release_address)(device_t *, usb_address_t); … … 267 252 268 253 int (*control_write)(device_t *, usb_target_t, 254 size_t, 269 255 void *, size_t, void *, size_t, 270 256 usbhc_iface_transfer_out_callback_t, void *); 271 257 272 258 int (*control_read)(device_t *, usb_target_t, 259 size_t, 273 260 void *, size_t, void *, size_t, 274 261 usbhc_iface_transfer_in_callback_t, void *);
Note:
See TracChangeset
for help on using the changeset viewer.