Ticket #1740: USB3_sample2_definitions.diff
File USB3_sample2_definitions.diff, 30.5 KB (added by , 15 years ago) |
---|
-
drivers/USB3.dox
16 16 17 17 /*! 18 18 \typedef struct usb_module_info usb_module_info 19 \brief Th e main interface object. See the usb_module_info documentation.19 \brief This is the main interface object. See the usb_module_info documentation. 20 20 */ 21 21 22 22 /*! 23 23 \typedef uint32 usb_id 24 \brief Uniquely identify various USB objects that are used in the module.24 \brief uniquely identifies various USB objects that are used in the module 25 25 */ 26 26 27 27 /*! 28 28 \typedef usb_id usb_device 29 \brief Uniquely identify USB devices.29 \brief uniquely identifies USB devices 30 30 */ 31 31 32 32 /*! 33 33 \typedef usb_id usb_interface 34 \brief Uniquely identify USB interfaces.34 \brief uniquely identifies USB interfaces 35 35 */ 36 36 37 37 /*! 38 38 \typedef usb_id usb_pipe 39 \brief Uniquely identify USB pipes.39 \brief uniquely identifies USB pipes 40 40 */ 41 41 42 42 /*! 43 43 \typedef struct usb_endpoint_info usb_endpoint_info 44 \brief Container for USB endpoint descriptors.45 \see Documentation for usb_endpoint_info.44 \brief container for USB endpoint descriptors 45 \see documentation for usb_endpoint_info 46 46 */ 47 47 48 48 /*! 49 49 \typedef struct usb_interface_info usb_interface_info 50 50 \brief Container for USB interface descriptors. 51 \see Documentation for usb_interface_info.51 \see documentation for usb_interface_info 52 52 */ 53 53 54 54 /*! 55 \typedef usb_interface_list usb_interface_list55 \typedef struct usb_interface_list usb_interface_list 56 56 \brief Container that holds a list of USB interface descriptors. 57 \see Documentation for usb_interface_list.57 \see documentation for usb_interface_list 58 58 */ 59 59 60 60 /*! 61 61 \typedef struct usb_configuration_info usb_configuration_info 62 62 \brief Container for USB configuration descriptors. 63 \see Documentation for usb_configuration_info.63 \see documentation for usb_configuration_info 64 64 */ 65 65 66 66 ///// usb_notify_hooks ///// 67 67 68 68 /*! 69 69 \struct usb_notify_hooks 70 \brief Hooks that the USB stack can callback in case of events.70 \brief hooks that the USB stack can callback in case of events 71 71 */ 72 72 73 73 /*! 74 74 \fn status_t (*usb_notify_hooks::device_added)(usb_device device, void **cookie) 75 \brief Called by the stack in case a device is added.75 \brief called by the stack in case a device is added 76 76 77 As soon asyou have registered hooks using the77 Once you have registered hooks using the 78 78 usb_module_info::install_notify() method, this hook will be called as soon as 79 79 a device is inserted that matches your provided usb_support_descriptor. 80 80 81 \param device A unique id that identifies this USB device.81 \param device a unique id that identifies this USB device 82 82 \param[in] cookie You can store a pointer to an object in this variable. 83 83 When the device is removed, this cookie will be provided to you. 84 84 \return You should return \c B_OK in case of success. The USB stack will then 85 request the kernel to republish your device names ,so that the new device85 request the kernel to republish your device names so that the new device 86 86 will be shown in the \c /dev tree. If you return an error value, the 87 87 \a device id will become invalid and you will not be notified if this 88 88 device is removed. … … 91 91 92 92 /*! 93 93 \var status_t (*usb_notify_hooks::device_removed)(void *cookie) 94 \brief Called by the stack in case a device you are using is removed.94 \brief called by the stack in case a device you are using is removed 95 95 96 96 If you have accepted a device in the device_added() hook, this hook will 97 97 be called as soon as the device is removed. 98 98 99 \param cookie Th e cookie you provided in the device_added() hook. Make sure100 that you free the cookie ,if necessary.99 \param cookie This is the cookie you provided in the device_added() hook. Make sure 100 that you free the cookie if necessary. 101 101 \return Currently the return value of this hook is ignored. It is recommended 102 102 to return \c B_OK though. 103 103 */ … … 106 106 107 107 /*! 108 108 \struct usb_support_descriptor 109 \brief Description of device descriptor that the driver can handle.109 \brief description of device descriptor that the driver can handle 110 110 111 Support descriptors can be used to match any form of class, subclass or112 protocol, or a vendor and/or product. If any field has the value \c 0, it113 is treated as a wildcard.111 Support descriptors can be used to match any form of class, subclass, or 112 protocol, or they can be used to match a vendor and/or product. 113 If any field has the value \c 0, it is treated as a wildcard. 114 114 115 115 For example, if you want to watch for all the hubs, which have a device 116 116 class of \c 0x09, you would pass this descriptor: … … 125 125 126 126 /*! 127 127 \var usb_support_descriptor::dev_class 128 \brief The supported device classes.128 \brief the supported device classes 129 129 */ 130 130 131 131 /*! 132 132 \var usb_support_descriptor::dev_subclass 133 \brief The suported device subclasses.133 \brief the supported device subclasses 134 134 */ 135 135 136 136 /*! 137 137 \var usb_support_descriptor::dev_protocol 138 \brief The supported device protocols.138 \brief the supported device protocols 139 139 */ 140 140 141 141 /*! 142 142 \var usb_support_descriptor::vendor 143 \brief The supported device vendor.143 \brief the supported device vendor 144 144 */ 145 145 146 146 /*! 147 147 \var usb_support_descriptor::product 148 \brief The supported device products.148 \brief the supported device products 149 149 */ 150 150 151 151 ///// usb_endpoint_info ///// 152 152 153 153 /*! 154 154 \struct usb_endpoint_info 155 \brief Container for endpoint descriptors and their Haiku USB stack156 identifiers .155 \brief a container for endpoint descriptors and their Haiku USB stack 156 identifiers 157 157 */ 158 158 159 159 /*! 160 160 \var usb_endpoint_descriptor *usb_endpoint_info::descr 161 \brief Pointer to the descriptor of the endpoint.161 \brief a pointer to the descriptor of the endpoint 162 162 */ 163 163 164 164 /*! 165 165 \var usb_pipe usb_endpoint_info::handle 166 \brief Handle to use when using the stack to transfer data to and from this167 endpoint .166 \brief a handle to use when using the stack to transfer data to and from this 167 endpoint 168 168 */ 169 169 170 170 ///// usb_interface_info ///// 171 171 172 172 /*! 173 173 \struct usb_interface_info 174 \brief Container for interface descriptors and their Haiku USB stack175 identifiers .174 \brief acontainer for interface descriptors and their Haiku USB stack 175 identifiers 176 176 */ 177 177 178 178 //! @{ 179 179 180 180 /*! 181 181 \var usb_interface_descriptor *usb_interface_info::descr 182 \brief Pointer to the descriptor of the interface.182 \brief a pointer to the descriptor of the interface 183 183 */ 184 184 185 185 /*! 186 186 \var usb_interface usb_interface_info::handle 187 \brief Handle to use when using the stack to manipulate this interface.187 \brief a handle to use when using the stack to manipulate this interface 188 188 */ 189 189 190 190 //! @} … … 197 197 198 198 /*! 199 199 \var size_t usb_interface_info::endpoint_count 200 \brief The number of endpoints in this interface.200 \brief the number of endpoints in this interface 201 201 */ 202 202 203 203 /*! 204 204 \var usb_endpoint_info *usb_interface_info::endpoint 205 \brief An array of endpoints that are associated to this interface.205 \brief an array of endpoints that are associated to this interface 206 206 */ 207 207 208 208 //! @} … … 215 215 216 216 /*! 217 217 \var size_t usb_interface_info::generic_count 218 \brief The number of unparsed descriptors in this interface.218 \brief the number of unparsed descriptors in this interface 219 219 */ 220 220 221 221 /*! 222 222 \var usb_descriptor **usb_interface_info::generic 223 \brief Unparsed descriptors in this interface.223 \brief unparsed descriptors in this interface 224 224 */ 225 225 226 226 //! @} … … 229 229 230 230 /*! 231 231 \struct usb_interface_list 232 \brief List of interfaces available to a configuration.232 \brief the list of interfaces available to a configuration 233 233 */ 234 234 235 235 /*! 236 236 \var size_t usb_interface_list::alt_count 237 \brief Number of available interfaces.237 \brief the number of available interfaces 238 238 */ 239 239 240 240 /*! 241 241 \var usb_interface_info *usb_interface_list::alt 242 \brief Array of available interfaces.242 \brief the array of available interfaces 243 243 */ 244 244 245 245 /*! 246 246 \var usb_interface_info *usb_interface_list::active 247 \brief Pointer to active interface.247 \brief the pointer to active interface 248 248 */ 249 249 250 250 ///// usb_configuration_info ///// 251 251 252 252 /*! 253 253 \struct usb_configuration_info 254 \brief Container for a specific configuration descriptor of a device.254 \brief a container for a specific configuration descriptor of a device 255 255 */ 256 256 257 257 /*! 258 258 \var usb_configuration_descriptor *usb_configuration_info::descr 259 \brief The configuration descriptor.259 \brief the configuration descriptor 260 260 */ 261 261 262 262 /*! 263 263 \var size_t usb_configuration_info::interface_count 264 \brief The number of interfaces in this configuration.264 \brief the number of interfaces in this configuration 265 265 */ 266 266 267 267 /*! 268 268 \var usb_interface_list *usb_configuration_info::interface 269 \brief The list of interfaces available to this configuration.269 \brief the list of interfaces available to this configuration 270 270 */ 271 271 272 272 ///// usb_iso_packet_descriptor ///// 273 273 274 274 /*! 275 275 \struct usb_iso_packet_descriptor 276 \brief The descriptor for data packets of isochronous transfers.276 \brief the descriptor for data packets of isochronous transfers 277 277 */ 278 278 279 279 /*! 280 280 \var int16 usb_iso_packet_descriptor::req_len 281 \brief Length of the request.281 \brief the length of the request 282 282 */ 283 283 284 284 /*! … … 288 288 289 289 /*! 290 290 \var status_t usb_iso_packet_descriptor::status 291 \brief The status of the transfer.291 \brief the status of the transfer 292 292 */ 293 293 294 294 ///// usb_callback_func ///// 295 295 296 296 /*! 297 297 \typedef typedef void (*usb_callback_func)(void *cookie, status_t status, void *data, size_t actualLength) 298 \brief Callback function for asynchronous transfers.298 \brief callback function for asynchronous transfers 299 299 300 \param cookie The cookie you supplied when you queued the transfer.301 \param status Th e status of the transfer. This isone of the following:300 \param cookie the cookie you supplied when you queued the transfer 301 \param status This is the status of the transfer. It can be one of the following: 302 302 <table> 303 303 <tr> 304 <td><em>B_OK</em></td><td>T ransfer succeeded.</td>304 <td><em>B_OK</em></td><td>The transfer succeeded.</td> 305 305 </tr> 306 306 <tr> 307 <td><em>B_CANCELED</em></td><td>T ransfer cancelled by the user via a308 usb_module_info::cancel_queued_transfers() call.</td>307 <td><em>B_CANCELED</em></td><td>The transfer was cancelled by the user 308 via a usb_module_info::cancel_queued_transfers() call.</td> 309 309 </tr> 310 310 <tr> 311 311 <td><em>B_DEV_MULTIPLE_ERRORS</em></td><td>More than one of the errors 312 below. Unfortunately, the stack cannot give you more information.</td> 312 below occurred. Unfortunately, the stack cannot give you more 313 information.</td> 313 314 </tr> 314 315 <tr> 315 316 <td><em>B_DEV_STALLED</em></td><td>The endpoint is stalled. You can use … … 322 323 </tr> 323 324 <tr> 324 325 <td><em>B_DEV_DATA_UNDERRUN</em></td><td>Outgoing transfer: more data 325 flowing out than the endpoint accepts.</td>326 is flowing out than the endpoint accepts.</td> 326 327 </tr> 327 328 <tr> 328 329 <td><em>B_DEV_CRC_ERROR</em></td><td>The internal data consistency 329 checks of the USB protocol failed. You arebest to retry. If you keep330 on getting this error ,there might be something wrong with the330 checks of the USB protocol failed. It is best to retry. If you keep 331 on getting this error there might be something wrong with the 331 332 device.</td> 332 333 </tr> 333 334 <tr> 334 <td><em>B_DEV_UNEXPECTED_PID</em></td><td> Internal error. You should335 retry your transfer.</td>335 <td><em>B_DEV_UNEXPECTED_PID</em></td><td>There was an internal error. 336 You should retry your transfer.</td> 336 337 </tr> 337 338 <tr> 338 <td><em>B_DEV_FIFO_OVERRUN</em></td><td> Internal error. You should339 retry your transfer.</td>339 <td><em>B_DEV_FIFO_OVERRUN</em></td><td>There was an internal error. 340 You should retry your transfer.</td> 340 341 </tr> 341 342 <tr> 342 <td><em>B_DEV_FIFO_UNDERRUN</em></td><td> Internal error. You should343 retry your transfer.</td>343 <td><em>B_DEV_FIFO_UNDERRUN</em></td><td>There was an internal error. 344 You should retry your transfer.</td> 344 345 </tr> 345 346 </table> 346 \param data The provided buffer.347 \param actualLength The amount of bytes read or written during the transfer.347 \param data the provided buffer 348 \param actualLength the amount of bytes read or written during the transfer 348 349 */ 349 350 350 351 ///// usb_module_info ///// 351 352 352 353 /*! 353 354 \struct usb_module_info 354 \brief Interface for drivers to interact with Haiku's USB stack.355 \brief interface for drivers to interact with Haiku's USB stack 355 356 */ 356 357 357 358 /*! 358 359 \var usb_module_info::binfo 359 \brief Instance of the bus_manager_info object.360 \brief instance of the bus_manager_info object 360 361 */ 361 362 362 363 /*! … … 364 365 \brief Register your driver. 365 366 366 367 To let the USB stack know that a driver is available to support devices, a 367 driver needs to register itself first. To let the stack know whichdevices368 driver needs to register itself first. To let the stack know about devices 368 369 it needs to notify the driver of, have a look at usb_support_descriptor. 369 370 370 371 It is possible to supply a list of support constructors. You should allocate 371 an array of support constructors ,and give the amount of constructors in the372 an array of support constructors and give the amount of constructors in the 372 373 array using the \a supportDescriptorCount parameter. 373 374 374 In case your driver supports all devices , or more likely, in caseyou want to375 In case your driver supports all devices or, more likely, you want to 375 376 monitor all devices plugged in and removed, it is safe to pass \c NULL to the 376 377 \a supportDescriptors paramater and zero (0) to \a supportDescriptorCount. 377 378 378 \param driverName Aunique name that identifies your driver. Avoid names like379 \param driverName This is a unique name that identifies your driver. Avoid names like 379 380 \c webcam or \c mouse, instead use vendor names and device types to avoid 380 381 nameclashes. The install_notify() and uninstall_notify() functions use the 381 382 driver name as an identifier. 382 \param supportDescriptors An array of the type usb_support_descriptor. Pass383 \param supportDescriptors This is an array of the type usb_support_descriptor. Pass 383 384 the amount of objects in the next parameter. 384 \param supportDescriptorCount The number of objects in the array supplied in385 the previous parameter .385 \param supportDescriptorCount the number of objects in the array supplied in 386 the previous parameter 386 387 \param optionalRepublishDriverName Unused parameter. You should pass \c NULL. 387 388 \retval B_OK The driver is registered. You can now call install_notify() 388 389 \retval B_BAD_VALUE You passed \c NULL as \a driverName. 389 \retval B_ERROR General internal error in the USB stack. You may retry the390 \retval B_ERROR A general internal error in the USB stack occured. You may retry the 390 391 request in this case. 391 \retval B_NO_MEMORY Error allocating some internal objects. The system is392 \retval B_NO_MEMORY An error allocating some internal objects occured. The system is 392 393 out of memory. 393 394 */ 394 395 … … 400 401 are called whenever a device that matches your \link usb_support_descriptor 401 402 support descriptor \endlink . 402 403 403 As soon as the hooks are installed you'll receive callbacks for devices that404 are already attached ,so make sure your driver is initialized properly when404 As soon as the hooks are installed, you'll receive callbacks for devices that 405 are already attached; so make sure your driver is initialized properly when 405 406 calling this method. 406 407 407 \param driverName The name you passed in register_driver().408 \param hooks The hooks the stack should call in case the status of devices409 that match your support descriptor changes .408 \param driverName the name you passed in register_driver() 409 \param hooks the hooks the stack should call in case the status of devices 410 that match your support descriptor changes 410 411 \retval B_OK Hooks are installed succesfully. 411 \retval B_NAME_NOT_FOUND Invalid \a driverName.412 \retval B_NAME_NOT_FOUND invalid \a driverName 412 413 413 414 \see usb_notify_hooks for information on how your hooks should behave. 414 415 \see uninstall_notify() … … 419 420 \brief Uninstall notify hooks for your driver. 420 421 421 422 If your driver needs to stop, you can uninstall the notifier hooks. This will 422 clear the stored hooks in the driver and you will not receive any423 clear the stored hooks in the driver, and you will not receive any 423 424 notifications when new devices are attached. This method will also call 424 425 usb_notify_hooks::device_removed() for all the devices that you are using and 425 426 all the stack's resources that are allocated to your driver are cleared. 426 427 427 \param driverName The name you passed in register_driver().428 \retval B_OK Hooks are uninstalled.429 \retval B_NAME_NOT_FOUND Invalid \a driverName.428 \param driverName the name you passed in register_driver() 429 \retval B_OK hooks are uninstalled 430 \retval B_NAME_NOT_FOUND invalid \a driverName 430 431 */ 431 432 432 433 /*! 433 434 \fn const usb_device_descriptor *(*usb_module_info::get_device_descriptor)(usb_device device) 434 435 \brief Get the device descriptor. 435 436 436 \param device The id of the device you want to query.437 \return The standard usb_device_descriptor, or \c NULL in case of an error.437 \param device the id of the device you want to query 438 \return the standard usb_device_descriptor or \c NULL in case of an error 438 439 */ 439 440 440 441 /*! 441 442 \fn const usb_configuration_info *(*usb_module_info::get_nth_configuration)(usb_device device, uint index) 442 443 \brief Get a configuration descriptor by index. 443 444 444 \param device The id of the device you want to query.445 \param index The (zero based) offset of the list of configurations.446 \return Th e usb_configuration_info with the standard usb configuration447 descriptor, or \c NULL if the \a id is invalid or the \a index is out of448 bounds.445 \param device the id of the device you want to query 446 \param index the (zero based) offset of the list of configurations 447 \return This will normally return the usb_configuration_info with the 448 standard usb configuration descriptor. \c NULL will be returned if the 449 \a id is invalid or the \a index is out of bounds. 449 450 */ 450 451 451 452 /*! 452 453 \fn const usb_configuration_info *(*usb_module_info::get_configuration)(usb_device device) 453 454 \brief Get the current configuration. 454 455 455 \param id The id of the device you want to query.456 \retval Th e usb_configuration_info with the standard usb configuration457 descriptor, or\c NULL if the \a id is invalid.456 \param id the id of the device you want to query 457 \retval This will return usb_configuration_info with the standard usb 458 configuration descriptor, or it will return\c NULL if the \a id is invalid. 458 459 */ 459 460 460 461 /*! … … 465 466 \a configuration points to the current configuration, the request will be 466 467 ignored and \c B_OK will be returned. 467 468 468 \param device The id of the device you want to query.469 \param configuration The pointer to the new configuration you want to set.469 \param device the id of the device you want to query 470 \param configuration the pointer to the new configuration you want to set 470 471 \retval B_OK The new configuration is set succesfully. 471 472 \retval B_DEV_INVALID_PIPE The \a device parameter is invalid. 472 473 \retval B_BAD_VALUE The configuration does not exist. … … 478 479 479 480 /*! 480 481 \fn status_t (*usb_module_info::set_alt_interface)(usb_device device, const usb_interface_info *interface) 481 \brief Set an alternative interface. Not implemented.482 \brief Set an alternative interface. This is not implemented. 482 483 483 484 This method currently always returns \c B_ERROR. 484 485 */ 485 486 486 487 /*! 487 488 \fn status_t (*usb_module_info::set_feature)(usb_id handle, uint16 selector) 488 \brief Convenience function for standard control pipe set feature requests.489 \brief convenience function for standard control pipe set feature requests 489 490 490 491 Both the set_feature() and clear_feature() requests work on all the Stack's 491 492 objects: devices, interfaces and pipes. 492 493 493 \param handle The object you want to query.494 \param selector The value you want to pass in the feature request.495 \return \c B_OK in case the request succeeded and the device responded496 positively, oran error code in case it failed.494 \param handle the object you want to query 495 \param selector the value you want to pass in the feature request 496 \return This returns \c B_OK in case the request succeeded and the device 497 responded positively, or it returns an error code in case it failed. 497 498 */ 498 499 499 500 /*! 500 501 \fn status_t (*usb_module_info::clear_feature)(usb_id handle, uint16 selector) 501 \brief Convenience function for standard control pipe clear feature requests.502 \brief convenience function for standard control pipe clear feature requests 502 503 503 504 \see set_feature() to see how this method works. 504 505 */ … … 507 508 \fn status_t (*usb_module_info::get_status)(usb_id handle, uint16 *status) 508 509 \brief Convenience function for standard usb status requests. 509 510 510 \param[in] handle The object you want to query.511 \param[out] status A variable in which the device can store it's status.512 \return \c B_OK i n case the request succeeded and the device responded513 positively, or an error codein case it failed.511 \param[in] handle the object you want to query 512 \param[out] status a variable in which the device can store it's status 513 \return \c B_OK is returned in case the request succeeded and the device 514 responded positively, or an error code is returned in case it failed. 514 515 */ 515 516 516 517 /*! 517 518 \fn status_t (*usb_module_info::get_descriptor)(usb_device device, uint8 descriptorType, uint8 index, uint16 languageID, void *data, size_t dataLength, size_t *actualLength) 518 \brief Convenience function to get a descriptor from a device.519 \brief convenience function to get a descriptor from a device 519 520 520 \param[in] device The device you want to query.521 \param[in] descriptorType The type of descriptor you are requesting.521 \param[in] device the device you want to query 522 \param[in] descriptorType the type of descriptor you are requesting 522 523 \param[in] index In case there are multiple descriptors of this type, you 523 524 select which one you want. 524 \param[in] languageID The language you want the descriptor in (if applicable,525 like with string_descriptors).526 \param[out] data The buffer in which the descriptor can be written.527 \param[in] dataLength The size of the buffer (in bytes).528 \param[out] actualLength Apointer to a variable in which the actual number529 of bytes written can be stored .525 \param[in] languageID the language you want the descriptor in (if applicable, 526 as with string_descriptors) 527 \param[out] data the buffer in which the descriptor can be written 528 \param[in] dataLength the size of the buffer (in bytes) 529 \param[out] actualLength a pointer to a variable in which the actual number 530 of bytes written can be stored 530 531 \retval B_OK The request succeeded, and the descriptor is written. 531 \retval B_DEV_INVALID_PIPE Invalid \a device parameter.532 \retval "other errors" Request failed.532 \retval B_DEV_INVALID_PIPE invalid \a device parameter 533 \retval "other errors" The Request failed. 533 534 */ 534 535 535 536 /*! … … 540 541 541 542 Most of the standard values of a request are defined in USB_spec.h. 542 543 543 \param[in] device The device you want to query.544 \param[in] requestType The request type.545 \param[in] request The request you want to perform.546 \param[in] value The value of the request.547 \param[in] index The index for the request.548 \param[in] length The size of the buffer pointed by \a data549 \param[out] data The buffer where to put the result in.550 \param[out] actualLength The actual numbers of bytes written.544 \param[in] device the device you want to query 545 \param[in] requestType the request type 546 \param[in] request the request you want to perform 547 \param[in] value the value of the request 548 \param[in] index the index for the request 549 \param[in] length the size of the buffer pointed by \a data 550 \param[out] data the buffer where to put the result in 551 \param[out] actualLength the actual numbers of bytes written 551 552 552 \retval B_OK The request succeeded.553 \retval B_DEV_INVALID_PIPE Invalid \a device parameter.554 \retval "other errors" Request failed.553 \retval B_OK the request succeeded 554 \retval B_DEV_INVALID_PIPE invalid \a device parameter 555 \retval "other errors" The request failed. 555 556 */ 556 557 557 558 /*! 558 559 \fn status_t (*usb_module_info::queue_interrupt)(usb_pipe pipe, void *data, size_t dataLength, usb_callback_func callback, void *callbackCookie) 559 560 \brief Asynchronously queue an interrupt transfer. 560 561 561 \param pipe The id of the pipe you want to query.562 \param data The data buffer you want to pass.563 \param dataLength The size of the data buffer.564 \param callback The callback function the stack should call after finishing.565 \param callbackCookie Acookie that will be supplied to your callback566 function when the transfer is finished .562 \param pipe the id of the pipe you want to query 563 \param data the data buffer you want to pass 564 \param dataLength the size of the data buffer 565 \param callback the callback function the stack should call after finishing 566 \param callbackCookie a cookie that will be supplied to your callback 567 function when the transfer is finished 567 568 568 \return Whether or not the queueing of the transfer went well. The return 569 value won't tell you if the transfer actually succeeded. 569 \return This will return a value indicating whether or not the queueing of 570 the transfer went well. The return value won't tell you if the transfer 571 actually succeeded. 570 572 \retval B_OK The interrupt transfer is queued. 571 \retval B_NO_MEMORY Error allocating objects.573 \retval B_NO_MEMORY error allocating objects 572 574 \retval B_DEV_INVALID_PIPE The \a pipe is not a valid interrupt pipe. 573 575 */ 574 576 … … 587 589 This method behaves like the queue_interrupt() method, except that it queues 588 590 bulk transfers and that it is based on an (array of) io vectors. 589 591 590 \param vector One or more io vectors. IO vectors are standard POSIX entities. 591 \param vectorCount The number of elements in the \a vector array. 592 \param vector This contains one or more io vectors. IO vectors are standard 593 POSIX entities. 594 \param vectorCount the number of elements in the \a vector array 592 595 */ 593 596 594 597 /*! 595 598 \fn status_t (*usb_module_info::queue_isochronous)(usb_pipe pipe, void *data, size_t dataLength, usb_iso_packet_descriptor *packetDesc, uint32 packetCount, uint32 *startingFrameNumber, uint32 flags, usb_callback_func callback, void *callbackCookie) 596 \brief Asynchronously queue a isochronous transfer. Not implemented.599 \brief Asynchronously queue a isochronous transfer. This is not implemented. 597 600 598 Not implemented in the current Haiku USB Stack.601 This is not implemented in the current Haiku USB Stack. 599 602 */ 600 603 601 604 /*! … … 606 609 asynchronously. This means that the method will return as soon as the 607 610 transfer is queued. 608 611 609 \param callback The callback function for when the transfer is done. 610 \param callbackCookie The cookie that the stack should pass to your callback 611 function. 612 \return Whether or not the queueing of the transfer went well. The return 613 value won't tell you if the transfer actually succeeded. 614 \retval B_OK The control transfer is queued. 615 \retval B_NO_MEMORY Error allocating objects. 616 \retval B_DEV_INVALID_PIPE The \a device argument is invalid. 612 \param callback the callback function for when the transfer is done 613 \param callbackCookie the cookie that the stack should pass to your callback 614 functiont 615 \return This will return a value indicating whether or not the queueing of 616 the transfer went well. The return value won't tell you if the transfer 617 actually succeeded. 618 \retval B_OK the control transfer is queued 619 \retval B_NO_MEMORY error allocating objects 620 \retval B_DEV_INVALID_PIPE the \a device argument is invalid 617 621 */ 618 622 619 623 /*! … … 621 625 \brief Set some pipe features. 622 626 623 627 The USB standard specifies some properties that should be able to be set on 624 625 628 isochronous pipes. If your driver requires the properties to be changed, you 629 should use this method. 626 630 627 \param pipe The id of the isochronous pipe you want to alter.628 \param maxNumQueuedPackets The maximum number of queued packets allowed on629 this pipe .630 \param maxBufferDurationMS The maximum time in ms that the buffers are valid.631 \param sampleSize The size of the samples through this pipe.632 \retval B_OK Pipe policy changed.631 \param pipe the id of the isochronous pipe you want to alter 632 \param maxNumQueuedPackets the maximum number of queued packets allowed on 633 this pipe 634 \param maxBufferDurationMS the maximum time in ms that the buffers are valid 635 \param sampleSize the size of the samples through this pipe 636 \retval B_OK The pipe policy changed. 633 637 \retval B_DEV_INVALID_PIPE The \a pipe argument is invalid or not an 634 638 isochronous pipe. 635 639 */ … … 646 650 performed. Make sure you don't delete any buffers that could still be used 647 651 by these transfers. 648 652 649 \param pipe The id of the pipe to clear.653 \param pipe the id of the pipe to clear 650 654 651 655 \retval B_OK All the pending transfers on this pipe are deleted. 652 656 \retval B_DEV_INVALID_PIPE The supplied usb_id is not a valid pipe. … … 657 661 \fn status_t (*usb_module_info::usb_ioctl)(uint32 opcode, void *buffer, size_t bufferSize) 658 662 \brief Low level commands to the USB stack. 659 663 660 This method is used to give low level commands to the Stack. There are664 This method is used to give low level commands to the Stack. There are 661 665 currently no uses documented. 662 666 */ 663 667 … … 665 669 666 670 /*! 667 671 \def B_USB_MODULE_NAME 668 \brief The identifier string for the USB Stack interface module.672 \brief the identifier string for the USB Stack interface module 669 673 */