<!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/xhtml;charset=UTF-8"/> <title>libusb: libusb_device_descriptor Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <script type="text/javascript"> <!-- function changeDisplayState (e){ var num=this.id.replace(/[^[0-9]/g,''); var button=this.firstChild; var sectionDiv=document.getElementById('dynsection'+num); if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ sectionDiv.style.display='block'; button.src='open.gif'; }else{ sectionDiv.style.display='none'; button.src='closed.gif'; } } function initDynSections(){ var divs=document.getElementsByTagName('div'); var sectionCounter=1; for(var i=0;i<divs.length-1;i++){ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ var header=divs[i]; var section=divs[i+1]; var button=header.firstChild; if (button!='IMG'){ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); button=document.createElement('img'); divs[i].insertBefore(button,divs[i].firstChild); } header.style.cursor='pointer'; header.onclick=changeDisplayState; header.id='dynheader'+sectionCounter; button.src='closed.gif'; section.id='dynsection'+sectionCounter; section.style.display='none'; section.style.marginLeft='14px'; sectionCounter++; } } } window.onload = initDynSections; --> </script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>libusb_device_descriptor Struct Reference<br/> <small> [<a class="el" href="group__desc.html">USB descriptors</a>]</small> </h1><!-- doxytag: class="libusb_device_descriptor" --> <p>A structure representing the standard USB device descriptor. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="libusb_8h_source.html">libusb.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affda0be3fe1c37092ddc7cb120428f30"></a><!-- doxytag: member="libusb_device_descriptor::bLength" ref="affda0be3fe1c37092ddc7cb120428f30" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#affda0be3fe1c37092ddc7cb120428f30">bLength</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Size of this descriptor (in bytes). <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a63c4b109725ce829fc81c5c9cad8c87a">bDescriptorType</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Descriptor type. <a href="#a63c4b109725ce829fc81c5c9cad8c87a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#af0682f293291db942b5d253092d472e4">bcdUSB</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB specification release number in binary-coded decimal. <a href="#af0682f293291db942b5d253092d472e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#ab86c8f43e75d4d54fccbc199cfa9703b">bDeviceClass</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB-IF class code for the device. <a href="#ab86c8f43e75d4d54fccbc199cfa9703b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c3a91102d3d53d9414d0dda0191c5ab"></a><!-- doxytag: member="libusb_device_descriptor::bDeviceSubClass" ref="a9c3a91102d3d53d9414d0dda0191c5ab" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a9c3a91102d3d53d9414d0dda0191c5ab">bDeviceSubClass</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB-IF subclass code for the device, qualified by the bDeviceClass value. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a480a0b5345a2e59987e20fa7247c3f0e"></a><!-- doxytag: member="libusb_device_descriptor::bDeviceProtocol" ref="a480a0b5345a2e59987e20fa7247c3f0e" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a480a0b5345a2e59987e20fa7247c3f0e">bDeviceProtocol</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB-IF protocol code for the device, qualified by the bDeviceClass and bDeviceSubClass values. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b60170f077c9b26fc9f86e0cdb1d28a"></a><!-- doxytag: member="libusb_device_descriptor::bMaxPacketSize0" ref="a3b60170f077c9b26fc9f86e0cdb1d28a" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a3b60170f077c9b26fc9f86e0cdb1d28a">bMaxPacketSize0</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum packet size for endpoint 0. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad26c5e2fbd16ce3ee143f4bac5d49bda"></a><!-- doxytag: member="libusb_device_descriptor::idVendor" ref="ad26c5e2fbd16ce3ee143f4bac5d49bda" args="" --> uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#ad26c5e2fbd16ce3ee143f4bac5d49bda">idVendor</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB-IF vendor ID. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a568d479fb0b76ea572a739c961fd3047"></a><!-- doxytag: member="libusb_device_descriptor::idProduct" ref="a568d479fb0b76ea572a739c961fd3047" args="" --> uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a568d479fb0b76ea572a739c961fd3047">idProduct</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">USB-IF product ID. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb5e0fc6f0cfe51de900d35506fb9317"></a><!-- doxytag: member="libusb_device_descriptor::bcdDevice" ref="afb5e0fc6f0cfe51de900d35506fb9317" args="" --> uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#afb5e0fc6f0cfe51de900d35506fb9317">bcdDevice</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Device release number in binary-coded decimal. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9e9a064265f2833d1d3f216f15a487a"></a><!-- doxytag: member="libusb_device_descriptor::iManufacturer" ref="ab9e9a064265f2833d1d3f216f15a487a" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#ab9e9a064265f2833d1d3f216f15a487a">iManufacturer</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Index of string descriptor describing manufacturer. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20082f9e03f1cbffef3d9472a8dcfd64"></a><!-- doxytag: member="libusb_device_descriptor::iProduct" ref="a20082f9e03f1cbffef3d9472a8dcfd64" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a20082f9e03f1cbffef3d9472a8dcfd64">iProduct</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Index of string descriptor describing product. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a327e8ede51268b38955ef035cf6de875"></a><!-- doxytag: member="libusb_device_descriptor::iSerialNumber" ref="a327e8ede51268b38955ef035cf6de875" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a327e8ede51268b38955ef035cf6de875">iSerialNumber</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Index of string descriptor containing device serial number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f3f80cd931628a0531a815b59d067dd"></a><!-- doxytag: member="libusb_device_descriptor::bNumConfigurations" ref="a0f3f80cd931628a0531a815b59d067dd" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibusb__device__descriptor.html#a0f3f80cd931628a0531a815b59d067dd">bNumConfigurations</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of possible configurations. <br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A structure representing the standard USB device descriptor. </p> <p>This descriptor is documented in section 9.6.1 of the USB 2.0 specification. All multiple-byte fields are represented in host-endian format. </p> <hr/><h2>Field Documentation</h2> <a class="anchor" id="a63c4b109725ce829fc81c5c9cad8c87a"></a><!-- doxytag: member="libusb_device_descriptor::bDescriptorType" ref="a63c4b109725ce829fc81c5c9cad8c87a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint8_t <a class="el" href="structlibusb__device__descriptor.html#a63c4b109725ce829fc81c5c9cad8c87a">libusb_device_descriptor::bDescriptorType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Descriptor type. </p> <p>Will have value <a class="el" href="group__desc.html#gga0a2e8a25dfdebf29fdd4764dcdbc1a9ca486e222e9f3053502ce4954a5bd89ba2">libusb_descriptor_type::LIBUSB_DT_DEVICE</a> LIBUSB_DT_DEVICE in this context. </p> </div> </div> <a class="anchor" id="af0682f293291db942b5d253092d472e4"></a><!-- doxytag: member="libusb_device_descriptor::bcdUSB" ref="af0682f293291db942b5d253092d472e4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint16_t <a class="el" href="structlibusb__device__descriptor.html#af0682f293291db942b5d253092d472e4">libusb_device_descriptor::bcdUSB</a></td> </tr> </table> </div> <div class="memdoc"> <p>USB specification release number in binary-coded decimal. </p> <p>A value of 0x0200 indicates USB 2.0, 0x0110 indicates USB 1.1, etc. </p> </div> </div> <a class="anchor" id="ab86c8f43e75d4d54fccbc199cfa9703b"></a><!-- doxytag: member="libusb_device_descriptor::bDeviceClass" ref="ab86c8f43e75d4d54fccbc199cfa9703b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint8_t <a class="el" href="structlibusb__device__descriptor.html#ab86c8f43e75d4d54fccbc199cfa9703b">libusb_device_descriptor::bDeviceClass</a></td> </tr> </table> </div> <div class="memdoc"> <p>USB-IF class code for the device. </p> <p>See <a class="el" href="group__desc.html#gac529888effbefef8af4f9d17ebc903a1">libusb_class_code</a>. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="libusb_8h_source.html">libusb.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 28 09:03:59 2010 for libusb by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>