Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 3790

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>The Linux-USB Host Side API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The Linux-USB Host Side API" /><link rel="next" href="ch01.html" title="Chapter&#160;1.&#160;Introduction to USB on Linux" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The Linux-USB Host Side API</th></tr><tr><td width="20%" align="left">&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr /></div><div class="book" title="The Linux-USB Host Side API"><div class="titlepage"><div><div><h1 class="title"><a id="Linux-USB-API"></a>The Linux-USB Host Side API</h1></div><div><div class="legalnotice" title="Legal Notice"><a id="id3086534"></a><p>
     This documentation is free software; you can redistribute
     it and/or modify it under the terms of the GNU General Public
     License as published by the Free Software Foundation; either
     version 2 of the License, or (at your option) any later
     version.
   </p><p>
     This program is distributed in the hope that it will be
     useful, but WITHOUT ANY WARRANTY; without even the implied
     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     See the GNU General Public License for more details.
   </p><p>
     You should have received a copy of the GNU General Public
     License along with this program; if not, write to the Free
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
     MA 02111-1307 USA
   </p><p>
     For more details see the file COPYING in the source
     distribution of Linux.
   </p></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Introduction to USB on Linux</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. USB Host-Side API Model</a></span></dt><dt><span class="chapter"><a href="ch03.html">3. USB-Standard Types</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re01.html"><span>struct usb_ctrlrequest</span></a></span><span class="refpurpose"> &#8212; 
  SETUP data for a USB device control request
 </span></dt><dt><span class="refentrytitle"><a href="re02.html"><span>usb_endpoint_num</span></a></span><span class="refpurpose"> &#8212; 
     get the endpoint's number
 </span></dt><dt><span class="refentrytitle"><a href="re03.html"><span>usb_endpoint_type</span></a></span><span class="refpurpose"> &#8212; 
     get the endpoint's transfer type
 </span></dt><dt><span class="refentrytitle"><a href="re04.html"><span>usb_endpoint_dir_in</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has IN direction
 </span></dt><dt><span class="refentrytitle"><a href="re05.html"><span>usb_endpoint_dir_out</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has OUT direction
 </span></dt><dt><span class="refentrytitle"><a href="re06.html"><span>usb_endpoint_xfer_bulk</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has bulk transfer type
 </span></dt><dt><span class="refentrytitle"><a href="re07.html"><span>usb_endpoint_xfer_control</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has control transfer type
 </span></dt><dt><span class="refentrytitle"><a href="re08.html"><span>usb_endpoint_xfer_int</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has interrupt transfer type
 </span></dt><dt><span class="refentrytitle"><a href="re09.html"><span>usb_endpoint_xfer_isoc</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint has isochronous transfer type
 </span></dt><dt><span class="refentrytitle"><a href="re10.html"><span>usb_endpoint_is_bulk_in</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is bulk IN
 </span></dt><dt><span class="refentrytitle"><a href="re11.html"><span>usb_endpoint_is_bulk_out</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is bulk OUT
 </span></dt><dt><span class="refentrytitle"><a href="re12.html"><span>usb_endpoint_is_int_in</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is interrupt IN
 </span></dt><dt><span class="refentrytitle"><a href="re13.html"><span>usb_endpoint_is_int_out</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is interrupt OUT
 </span></dt><dt><span class="refentrytitle"><a href="re14.html"><span>usb_endpoint_is_isoc_in</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is isochronous IN
 </span></dt><dt><span class="refentrytitle"><a href="re15.html"><span>usb_endpoint_is_isoc_out</span></a></span><span class="refpurpose"> &#8212; 
     check if the endpoint is isochronous OUT
 </span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Host-Side Data Types and Macros</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re16.html"><span>struct usb_host_ss_ep_comp</span></a></span><span class="refpurpose"> &#8212; 
  Valid for SuperSpeed devices only
 </span></dt><dt><span class="refentrytitle"><a href="re17.html"><span>struct usb_host_endpoint</span></a></span><span class="refpurpose"> &#8212; 
     host-side endpoint descriptor and queue
 </span></dt><dt><span class="refentrytitle"><a href="re18.html"><span>struct usb_interface</span></a></span><span class="refpurpose"> &#8212; 
     what usb device drivers talk to
 </span></dt><dt><span class="refentrytitle"><a href="re19.html"><span>struct usb_interface_cache</span></a></span><span class="refpurpose"> &#8212; 
     long-term representation of a device interface
 </span></dt><dt><span class="refentrytitle"><a href="re20.html"><span>struct usb_host_config</span></a></span><span class="refpurpose"> &#8212; 
     representation of a device's configuration
 </span></dt><dt><span class="refentrytitle"><a href="re21.html"><span>struct usb_device</span></a></span><span class="refpurpose"> &#8212; 
     kernel's representation of a USB device
 </span></dt><dt><span class="refentrytitle"><a href="re22.html"><span>usb_interface_claimed</span></a></span><span class="refpurpose"> &#8212; 
     returns true iff an interface is claimed
 </span></dt><dt><span class="refentrytitle"><a href="re23.html"><span>usb_make_path</span></a></span><span class="refpurpose"> &#8212; 
     returns stable device path in the usb tree
 </span></dt><dt><span class="refentrytitle"><a href="re24.html"><span>USB_DEVICE</span></a></span><span class="refpurpose"> &#8212; 
     macro used to describe a specific usb device
 </span></dt><dt><span class="refentrytitle"><a href="re25.html"><span>USB_DEVICE_VER</span></a></span><span class="refpurpose"> &#8212; 
     describe a specific usb device with a version range
 </span></dt><dt><span class="refentrytitle"><a href="re26.html"><span>USB_DEVICE_INTERFACE_PROTOCOL</span></a></span><span class="refpurpose"> &#8212; 
     describe a usb device with a specific interface protocol
 </span></dt><dt><span class="refentrytitle"><a href="re27.html"><span>USB_DEVICE_INFO</span></a></span><span class="refpurpose"> &#8212; 
     macro used to describe a class of usb devices
 </span></dt><dt><span class="refentrytitle"><a href="re28.html"><span>USB_INTERFACE_INFO</span></a></span><span class="refpurpose"> &#8212; 
     macro used to describe a class of usb interfaces
 </span></dt><dt><span class="refentrytitle"><a href="re29.html"><span>USB_DEVICE_AND_INTERFACE_INFO</span></a></span><span class="refpurpose"> &#8212; 
     describe a specific usb device with a class of usb interfaces
 </span></dt><dt><span class="refentrytitle"><a href="re30.html"><span>struct usbdrv_wrap</span></a></span><span class="refpurpose"> &#8212; 
     wrapper for driver-model structure
 </span></dt><dt><span class="refentrytitle"><a href="re31.html"><span>struct usb_driver</span></a></span><span class="refpurpose"> &#8212; 
     identifies USB interface driver to usbcore
 </span></dt><dt><span class="refentrytitle"><a href="re32.html"><span>struct usb_device_driver</span></a></span><span class="refpurpose"> &#8212; 
     identifies USB device driver to usbcore
 </span></dt><dt><span class="refentrytitle"><a href="re33.html"><span>struct usb_class_driver</span></a></span><span class="refpurpose"> &#8212; 
     identifies a USB driver that wants to use the USB major number
 </span></dt><dt><span class="refentrytitle"><a href="re34.html"><span>struct urb</span></a></span><span class="refpurpose"> &#8212; 
     USB Request Block
 </span></dt><dt><span class="refentrytitle"><a href="re35.html"><span>usb_fill_control_urb</span></a></span><span class="refpurpose"> &#8212; 
     initializes a control urb
 </span></dt><dt><span class="refentrytitle"><a href="re36.html"><span>usb_fill_bulk_urb</span></a></span><span class="refpurpose"> &#8212; 
     macro to help initialize a bulk urb
 </span></dt><dt><span class="refentrytitle"><a href="re37.html"><span>usb_fill_int_urb</span></a></span><span class="refpurpose"> &#8212; 
     macro to help initialize a interrupt urb
 </span></dt><dt><span class="refentrytitle"><a href="re38.html"><span>usb_urb_dir_in</span></a></span><span class="refpurpose"> &#8212; 
     check if an URB describes an IN transfer
 </span></dt><dt><span class="refentrytitle"><a href="re39.html"><span>usb_urb_dir_out</span></a></span><span class="refpurpose"> &#8212; 
     check if an URB describes an OUT transfer
 </span></dt><dt><span class="refentrytitle"><a href="re40.html"><span>struct usb_sg_request</span></a></span><span class="refpurpose"> &#8212; 
     support for scatter/gather I/O
 </span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. USB Core APIs</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re41.html"><span>usb_init_urb</span></a></span><span class="refpurpose"> &#8212; 
  initializes a urb so that it can be used by a USB driver
 </span></dt><dt><span class="refentrytitle"><a href="re42.html"><span>usb_alloc_urb</span></a></span><span class="refpurpose"> &#8212; 
     creates a new urb for a USB driver to use
 </span></dt><dt><span class="refentrytitle"><a href="re43.html"><span>usb_free_urb</span></a></span><span class="refpurpose"> &#8212; 
     frees the memory used by a urb when all users of it are finished
 </span></dt><dt><span class="refentrytitle"><a href="re44.html"><span>usb_get_urb</span></a></span><span class="refpurpose"> &#8212; 
     increments the reference count of the urb
 </span></dt><dt><span class="refentrytitle"><a href="re45.html"><span>usb_anchor_urb</span></a></span><span class="refpurpose"> &#8212; 
     anchors an URB while it is processed
 </span></dt><dt><span class="refentrytitle"><a href="re46.html"><span>usb_unanchor_urb</span></a></span><span class="refpurpose"> &#8212; 
     unanchors an URB
 </span></dt><dt><span class="refentrytitle"><a href="re47.html"><span>usb_submit_urb</span></a></span><span class="refpurpose"> &#8212; 
     issue an asynchronous transfer request for an endpoint
 </span></dt><dt><span class="refentrytitle"><a href="re48.html"><span>usb_unlink_urb</span></a></span><span class="refpurpose"> &#8212; 
     abort/cancel a transfer request for an endpoint
 </span></dt><dt><span class="refentrytitle"><a href="re49.html"><span>usb_kill_urb</span></a></span><span class="refpurpose"> &#8212; 
     cancel a transfer request and wait for it to finish
 </span></dt><dt><span class="refentrytitle"><a href="re50.html"><span>usb_poison_urb</span></a></span><span class="refpurpose"> &#8212; 
     reliably kill a transfer and prevent further use of an URB
 </span></dt><dt><span class="refentrytitle"><a href="re51.html"><span>usb_kill_anchored_urbs</span></a></span><span class="refpurpose"> &#8212; 
     cancel transfer requests en masse
 </span></dt><dt><span class="refentrytitle"><a href="re52.html"><span>usb_poison_anchored_urbs</span></a></span><span class="refpurpose"> &#8212; 
     cease all traffic from an anchor
 </span></dt><dt><span class="refentrytitle"><a href="re53.html"><span>usb_unpoison_anchored_urbs</span></a></span><span class="refpurpose"> &#8212; 
     let an anchor be used successfully again
 </span></dt><dt><span class="refentrytitle"><a href="re54.html"><span>usb_unlink_anchored_urbs</span></a></span><span class="refpurpose"> &#8212; 
     asynchronously cancel transfer requests en masse
 </span></dt><dt><span class="refentrytitle"><a href="re55.html"><span>usb_wait_anchor_empty_timeout</span></a></span><span class="refpurpose"> &#8212; 
     wait for an anchor to be unused
 </span></dt><dt><span class="refentrytitle"><a href="re56.html"><span>usb_get_from_anchor</span></a></span><span class="refpurpose"> &#8212; 
     get an anchor's oldest urb
 </span></dt><dt><span class="refentrytitle"><a href="re57.html"><span>usb_scuttle_anchored_urbs</span></a></span><span class="refpurpose"> &#8212; 
     unanchor all an anchor's urbs
 </span></dt><dt><span class="refentrytitle"><a href="re58.html"><span>usb_anchor_empty</span></a></span><span class="refpurpose"> &#8212; 
     is an anchor empty
 </span></dt><dt><span class="refentrytitle"><a href="re59.html"><span>usb_control_msg</span></a></span><span class="refpurpose"> &#8212; 
  Builds a control urb, sends it off and waits for completion
 </span></dt><dt><span class="refentrytitle"><a href="re60.html"><span>usb_interrupt_msg</span></a></span><span class="refpurpose"> &#8212; 
     Builds an interrupt urb, sends it off and waits for completion
 </span></dt><dt><span class="refentrytitle"><a href="re61.html"><span>usb_bulk_msg</span></a></span><span class="refpurpose"> &#8212; 
     Builds a bulk urb, sends it off and waits for completion
 </span></dt><dt><span class="refentrytitle"><a href="re62.html"><span>usb_sg_init</span></a></span><span class="refpurpose"> &#8212; 
     initializes scatterlist-based bulk/interrupt I/O request
 </span></dt><dt><span class="refentrytitle"><a href="re63.html"><span>usb_sg_wait</span></a></span><span class="refpurpose"> &#8212; 
     synchronously execute scatter/gather request
 </span></dt><dt><span class="refentrytitle"><a href="re64.html"><span>usb_sg_cancel</span></a></span><span class="refpurpose"> &#8212; 
     stop scatter/gather i/o issued by <code class="function">usb_sg_wait</code>
 </span></dt><dt><span class="refentrytitle"><a href="re65.html"><span>usb_get_descriptor</span></a></span><span class="refpurpose"> &#8212; 
     issues a generic GET_DESCRIPTOR request
 </span></dt><dt><span class="refentrytitle"><a href="re66.html"><span>usb_string</span></a></span><span class="refpurpose"> &#8212; 
     returns UTF-8 version of a string descriptor
 </span></dt><dt><span class="refentrytitle"><a href="re67.html"><span>usb_get_status</span></a></span><span class="refpurpose"> &#8212; 
     issues a GET_STATUS call
 </span></dt><dt><span class="refentrytitle"><a href="re68.html"><span>usb_clear_halt</span></a></span><span class="refpurpose"> &#8212; 
     tells device to clear endpoint halt/stall condition
 </span></dt><dt><span class="refentrytitle"><a href="re69.html"><span>usb_reset_endpoint</span></a></span><span class="refpurpose"> &#8212; 
     Reset an endpoint's state.
 </span></dt><dt><span class="refentrytitle"><a href="re70.html"><span>usb_set_interface</span></a></span><span class="refpurpose"> &#8212; 
     Makes a particular alternate setting be current
 </span></dt><dt><span class="refentrytitle"><a href="re71.html"><span>usb_reset_configuration</span></a></span><span class="refpurpose"> &#8212; 
     lightweight device reset
 </span></dt><dt><span class="refentrytitle"><a href="re72.html"><span>usb_driver_set_configuration</span></a></span><span class="refpurpose"> &#8212; 
     Provide a way for drivers to change device configurations
 </span></dt><dt><span class="refentrytitle"><a href="re73.html"><span>usb_register_dev</span></a></span><span class="refpurpose"> &#8212; 
  register a USB device, and ask for a minor number
 </span></dt><dt><span class="refentrytitle"><a href="re74.html"><span>usb_deregister_dev</span></a></span><span class="refpurpose"> &#8212; 
     deregister a USB device's dynamic minor.
 </span></dt><dt><span class="refentrytitle"><a href="re75.html"><span>usb_driver_claim_interface</span></a></span><span class="refpurpose"> &#8212; 
  bind a driver to an interface
 </span></dt><dt><span class="refentrytitle"><a href="re76.html"><span>usb_driver_release_interface</span></a></span><span class="refpurpose"> &#8212; 
     unbind a driver from an interface
 </span></dt><dt><span class="refentrytitle"><a href="re77.html"><span>usb_match_id</span></a></span><span class="refpurpose"> &#8212; 
     find first usb_device_id matching device or interface
 </span></dt><dt><span class="refentrytitle"><a href="re78.html"><span>usb_register_device_driver</span></a></span><span class="refpurpose"> &#8212; 
     register a USB device (not interface) driver
 </span></dt><dt><span class="refentrytitle"><a href="re79.html"><span>usb_deregister_device_driver</span></a></span><span class="refpurpose"> &#8212; 
     unregister a USB device (not interface) driver
 </span></dt><dt><span class="refentrytitle"><a href="re80.html"><span>usb_register_driver</span></a></span><span class="refpurpose"> &#8212; 
     register a USB interface driver
 </span></dt><dt><span class="refentrytitle"><a href="re81.html"><span>usb_deregister</span></a></span><span class="refpurpose"> &#8212; 
     unregister a USB interface driver
 </span></dt><dt><span class="refentrytitle"><a href="re82.html"><span>usb_autopm_put_interface</span></a></span><span class="refpurpose"> &#8212; 
     decrement a USB interface's PM-usage counter
 </span></dt><dt><span class="refentrytitle"><a href="re83.html"><span>usb_autopm_put_interface_async</span></a></span><span class="refpurpose"> &#8212; 
     decrement a USB interface's PM-usage counter
 </span></dt><dt><span class="refentrytitle"><a href="re84.html"><span>usb_device_autosuspend_enable</span></a></span><span class="refpurpose"> &#8212; 
     enable autosuspend on a device
 </span></dt><dt><span class="refentrytitle"><a href="re85.html"><span>usb_autopm_get_interface</span></a></span><span class="refpurpose"> &#8212; 
     increment a USB interface's PM-usage counter
 </span></dt><dt><span class="refentrytitle"><a href="re86.html"><span>usb_autopm_get_interface_async</span></a></span><span class="refpurpose"> &#8212; 
     increment a USB interface's PM-usage counter
 </span></dt><dt><span class="refentrytitle"><a href="re87.html"><span>usb_autopm_set_interface</span></a></span><span class="refpurpose"> &#8212; 
     set a USB interface's autosuspend state
 </span></dt><dt><span class="refentrytitle"><a href="re88.html"><span>usb_find_alt_setting</span></a></span><span class="refpurpose"> &#8212; 
  Given a configuration, find the alternate setting for the given interface.
 </span></dt><dt><span class="refentrytitle"><a href="re89.html"><span>usb_ifnum_to_if</span></a></span><span class="refpurpose"> &#8212; 
     get the interface object with a given interface number
 </span></dt><dt><span class="refentrytitle"><a href="re90.html"><span>usb_altnum_to_altsetting</span></a></span><span class="refpurpose"> &#8212; 
     get the altsetting structure with a given alternate setting number.
 </span></dt><dt><span class="refentrytitle"><a href="re91.html"><span>usb_find_interface</span></a></span><span class="refpurpose"> &#8212; 
     find usb_interface pointer for driver and device
 </span></dt><dt><span class="refentrytitle"><a href="re92.html"><span>usb_get_dev</span></a></span><span class="refpurpose"> &#8212; 
     increments the reference count of the usb device structure
 </span></dt><dt><span class="refentrytitle"><a href="re93.html"><span>usb_put_dev</span></a></span><span class="refpurpose"> &#8212; 
     release a use of the usb device structure
 </span></dt><dt><span class="refentrytitle"><a href="re94.html"><span>usb_get_intf</span></a></span><span class="refpurpose"> &#8212; 
     increments the reference count of the usb interface structure
 </span></dt><dt><span class="refentrytitle"><a href="re95.html"><span>usb_put_intf</span></a></span><span class="refpurpose"> &#8212; 
     release a use of the usb interface structure
 </span></dt><dt><span class="refentrytitle"><a href="re96.html"><span>usb_lock_device_for_reset</span></a></span><span class="refpurpose"> &#8212; 
     cautiously acquire the lock for a usb device structure
 </span></dt><dt><span class="refentrytitle"><a href="re97.html"><span>usb_get_current_frame_number</span></a></span><span class="refpurpose"> &#8212; 
     return current bus frame number
 </span></dt><dt><span class="refentrytitle"><a href="re98.html"><span>usb_buffer_alloc</span></a></span><span class="refpurpose"> &#8212; 
     allocate dma-consistent buffer for URB_NO_xxx_DMA_MAP
 </span></dt><dt><span class="refentrytitle"><a href="re99.html"><span>usb_buffer_free</span></a></span><span class="refpurpose"> &#8212; 
     free memory allocated with <code class="function">usb_buffer_alloc</code>
 </span></dt><dt><span class="refentrytitle"><a href="re100.html"><span>usb_buffer_map</span></a></span><span class="refpurpose"> &#8212; 
     create DMA mapping(s) for an urb
 </span></dt><dt><span class="refentrytitle"><a href="re101.html"><span>usb_buffer_dmasync</span></a></span><span class="refpurpose"> &#8212; 
     synchronize DMA and CPU view of buffer(s)
 </span></dt><dt><span class="refentrytitle"><a href="re102.html"><span>usb_buffer_unmap</span></a></span><span class="refpurpose"> &#8212; 
     free DMA mapping(s) for an urb
 </span></dt><dt><span class="refentrytitle"><a href="re103.html"><span>usb_buffer_map_sg</span></a></span><span class="refpurpose"> &#8212; 
     create scatterlist DMA mapping(s) for an endpoint
 </span></dt><dt><span class="refentrytitle"><a href="re104.html"><span>usb_buffer_dmasync_sg</span></a></span><span class="refpurpose"> &#8212; 
     synchronize DMA and CPU view of scatterlist buffer(s)
 </span></dt><dt><span class="refentrytitle"><a href="re105.html"><span>usb_buffer_unmap_sg</span></a></span><span class="refpurpose"> &#8212; 
     free DMA mapping(s) for a scatterlist
 </span></dt><dt><span class="refentrytitle"><a href="re106.html"><span>usb_hub_clear_tt_buffer</span></a></span><span class="refpurpose"> &#8212; 
  clear control/bulk TT state in high speed hub
 </span></dt><dt><span class="refentrytitle"><a href="re107.html"><span>usb_set_device_state</span></a></span><span class="refpurpose"> &#8212; 
     change a device's current state (usbcore, hcds)
 </span></dt><dt><span class="refentrytitle"><a href="re108.html"><span>usb_root_hub_lost_power</span></a></span><span class="refpurpose"> &#8212; 
     called by HCD if the root hub lost Vbus power
 </span></dt><dt><span class="refentrytitle"><a href="re109.html"><span>usb_reset_device</span></a></span><span class="refpurpose"> &#8212; 
     warn interface drivers and perform a USB port reset
 </span></dt><dt><span class="refentrytitle"><a href="re110.html"><span>usb_queue_reset_device</span></a></span><span class="refpurpose"> &#8212; 
     Reset a USB device from an atomic context
 </span></dt></dl></dd><dt><span class="chapter"><a href="ch06.html">6. Host Controller APIs</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re111.html"><span>usb_calc_bus_time</span></a></span><span class="refpurpose"> &#8212; 
  approximate periodic transaction time in nanoseconds
 </span></dt><dt><span class="refentrytitle"><a href="re112.html"><span>usb_hcd_link_urb_to_ep</span></a></span><span class="refpurpose"> &#8212; 
     add an URB to its endpoint queue
 </span></dt><dt><span class="refentrytitle"><a href="re113.html"><span>usb_hcd_check_unlink_urb</span></a></span><span class="refpurpose"> &#8212; 
     check whether an URB may be unlinked
 </span></dt><dt><span class="refentrytitle"><a href="re114.html"><span>usb_hcd_unlink_urb_from_ep</span></a></span><span class="refpurpose"> &#8212; 
     remove an URB from its endpoint queue
 </span></dt><dt><span class="refentrytitle"><a href="re115.html"><span>usb_hcd_giveback_urb</span></a></span><span class="refpurpose"> &#8212; 
     return URB from HCD to device driver
 </span></dt><dt><span class="refentrytitle"><a href="re116.html"><span>usb_alloc_streams</span></a></span><span class="refpurpose"> &#8212; 
     allocate bulk endpoint stream IDs.
 </span></dt><dt><span class="refentrytitle"><a href="re117.html"><span>usb_free_streams</span></a></span><span class="refpurpose"> &#8212; 
     free bulk endpoint stream IDs.
 </span></dt><dt><span class="refentrytitle"><a href="re118.html"><span>usb_hcd_resume_root_hub</span></a></span><span class="refpurpose"> &#8212; 
     called by HCD to resume its root hub
 </span></dt><dt><span class="refentrytitle"><a href="re119.html"><span>usb_bus_start_enum</span></a></span><span class="refpurpose"> &#8212; 
     start immediate enumeration (for OTG)
 </span></dt><dt><span class="refentrytitle"><a href="re120.html"><span>usb_hcd_irq</span></a></span><span class="refpurpose"> &#8212; 
     hook IRQs to HCD framework (bus glue)
 </span></dt><dt><span class="refentrytitle"><a href="re121.html"><span>usb_hc_died</span></a></span><span class="refpurpose"> &#8212; 
     report abnormal shutdown of a host controller (bus glue)
 </span></dt><dt><span class="refentrytitle"><a href="re122.html"><span>usb_create_hcd</span></a></span><span class="refpurpose"> &#8212; 
     create and initialize an HCD structure
 </span></dt><dt><span class="refentrytitle"><a href="re123.html"><span>usb_add_hcd</span></a></span><span class="refpurpose"> &#8212; 
     finish generic HCD structure initialization and register
 </span></dt><dt><span class="refentrytitle"><a href="re124.html"><span>usb_remove_hcd</span></a></span><span class="refpurpose"> &#8212; 
     shutdown processing for generic HCDs
 </span></dt><dt><span class="refentrytitle"><a href="re125.html"><span>usb_hcd_pci_probe</span></a></span><span class="refpurpose"> &#8212; 
  initialize PCI-based HCDs
 </span></dt><dt><span class="refentrytitle"><a href="re126.html"><span>usb_hcd_pci_remove</span></a></span><span class="refpurpose"> &#8212; 
     shutdown processing for PCI-based HCDs
 </span></dt><dt><span class="refentrytitle"><a href="re127.html"><span>usb_hcd_pci_shutdown</span></a></span><span class="refpurpose"> &#8212; 
     shutdown host controller
 </span></dt><dt><span class="refentrytitle"><a href="re128.html"><span>hcd_buffer_create</span></a></span><span class="refpurpose"> &#8212; 
  initialize buffer pools
 </span></dt><dt><span class="refentrytitle"><a href="re129.html"><span>hcd_buffer_destroy</span></a></span><span class="refpurpose"> &#8212; 
     deallocate buffer pools
 </span></dt></dl></dd><dt><span class="chapter"><a href="ch07.html">7. The USB Filesystem (usbfs)</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch07.html#usbfs-files">What files are in "usbfs"?</a></span></dt><dt><span class="sect1"><a href="ch07s02.html">Mounting and Access Control</a></span></dt><dt><span class="sect1"><a href="ch07s03.html">/proc/bus/usb/devices</a></span></dt><dt><span class="sect1"><a href="ch07s04.html">/proc/bus/usb/BBB/DDD</a></span></dt><dt><span class="sect1"><a href="ch07s05.html">Life Cycle of User Mode Drivers</a></span></dt><dt><span class="sect1"><a href="ch07s06.html">The ioctl() Requests</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s06.html#usbfs-mgmt">Management/Status Requests</a></span></dt><dt><span class="sect2"><a href="ch07s06.html#usbfs-sync">Synchronous I/O Support</a></span></dt><dt><span class="sect2"><a href="ch07s06.html#usbfs-async">Asynchronous I/O Support</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right" valign="top">&#160;Chapter&#160;1.&#160;Introduction to USB on Linux</td></tr></table></div></body></html>