Sophie

Sophie

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

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>usb_make_path</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="up" href="ch04.html" title="Chapter&#160;4.&#160;Host-Side Data Types and Macros" /><link rel="prev" href="re22.html" title="usb_interface_claimed" /><link rel="next" href="re24.html" title="USB_DEVICE" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>usb_make_path</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re22.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Host-Side Data Types and Macros</th><td width="20%" align="right">&#160;<a accesskey="n" href="re24.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="usb_make_path"><a id="API-usb-make-path"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>usb_make_path &#8212; 
     returns stable device path in the usb tree
 </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">int <b class="fsfunc">usb_make_path </b>(</code></td><td>struct usb_device * <var class="pdparam">dev</var>, </td></tr><tr><td>&#160;</td><td>char * <var class="pdparam">buf</var>, </td></tr><tr><td>&#160;</td><td>size_t <var class="pdparam">size</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id3103501"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p>
     the device whose path is being constructed
    </p></dd><dt><span class="term"><em class="parameter"><code>buf</code></em></span></dt><dd><p>
     where to put the string
    </p></dd><dt><span class="term"><em class="parameter"><code>size</code></em></span></dt><dd><p>
     how big is <span class="quote">&#8220;<span class="quote">buf</span>&#8221;</span>?
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id3103564"></a><h2>Description</h2><p>
   Returns length of the string (&gt; 0) or negative if size was too small.
   </p><p>

   This identifier is intended to be <span class="quote">&#8220;<span class="quote">stable</span>&#8221;</span>, reflecting physical paths in
   hardware such as physical bus addresses for host controllers or ports on
   USB hubs.  That makes it stay the same until systems are physically
   reconfigured, by re-cabling a tree of USB devices or by moving USB host
   controllers.  Adding and removing devices, including virtual root hubs
   in host controller driver modules, does not change these path identifers;
   neither does rebooting or re-enumerating.  These are more useful identifiers
   than changeable (<span class="quote">&#8220;<span class="quote">unstable</span>&#8221;</span>) ones like bus numbers or device addresses.
   </p><p>

   With a partial exception for devices connected to USB 2.0 root hubs, these
   identifiers are also predictable.  So long as the device tree isn't changed,
   plugging any USB device into a given hub port always gives it the same path.
   Because of the use of <span class="quote">&#8220;<span class="quote">companion</span>&#8221;</span> controllers, devices connected to ports on
   USB 2.0 root hubs (EHCI host controllers) will get one path ID if they are
   high speed, and a different one if they are full or low speed.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re22.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re24.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>usb_interface_claimed</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span>USB_DEVICE</span></td></tr></table></div></body></html>