1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>usb_string_ids_tab</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="USB Gadget API for Linux"><link rel="up" href="composite.html" title="Composite Device Framework"><link rel="prev" href="API-usb-string-id.html" title="usb_string_id"><link rel="next" href="API-usb-gstrings-attach.html" title="usb_gstrings_attach"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">usb_string_ids_tab</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-usb-string-id.html">Prev</a>&#160;</td><th width="60%" align="center">Composite Device Framework</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-usb-gstrings-attach.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-usb-string-ids-tab"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>usb_string_ids_tab &#8212; 
2     allocate unused string IDs in batch
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">usb_string_ids_tab </b>(</code></td><td>struct usb_composite_dev * <var class="pdparam">cdev</var>, </td></tr><tr><td>&#160;</td><td>struct usb_string * <var class="pdparam">str</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1124461476"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>cdev</code></em></span></dt><dd><p>
4     the device whose string descriptor IDs are being allocated
5    </p></dd><dt><span class="term"><em class="parameter"><code>str</code></em></span></dt><dd><p>
6     an array of usb_string objects to assign numbers to
7    </p></dd></dl></div></div><div class="refsect1"><a name="idp1124464108"></a><h2>Context</h2><p>
8   single threaded during gadget setup
9</p></div><div class="refsect1"><a name="idp1124464732"></a><h2>Description</h2><p>
10   <em class="parameter"><code>usb_string_ids</code></em>() is called from <code class="function">bind</code> callbacks to allocate
11   string IDs.  Drivers for functions, configurations, or gadgets will
12   then copy IDs from the string table to the appropriate descriptors
13   and string table for other languages.
14   </p><p>
15
16   All string identifier should be allocated using this,
17   <em class="parameter"><code>usb_string_id</code></em>() or <em class="parameter"><code>usb_string_ids_n</code></em>() routine, to ensure that for
18   example different functions don't wrongly assign different meanings
19   to the same identifier.
20</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-usb-string-id.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="composite.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-usb-gstrings-attach.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">usb_string_id</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 class="phrase">usb_gstrings_attach</span></td></tr></table></div></body></html>
21