---
name: "usb_string_ids_tab"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/usb_string_ids_tab"
---

# usb\_string\_ids\_tab(9)

allocate unused string IDs in batch

## NAME

usb\_string\_ids\_tab - allocate unused string IDs in batch

## SYNOPSIS

**int usb\_string\_ids\_tab(struct usb\_composite\_dev \*** *cdev***, struct usb\_string \*** *str***);**

## ARGUMENTS

*cdev*

the device whose string descriptor IDs are being allocated

*str*

an array of usb\_string objects to assign numbers to

## CONTEXT

single threaded during gadget setup

## DESCRIPTION

*usb\_string\_ids*() is called from **bind** callbacks to allocate string IDs. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages.

All string identifier should be allocated using this, *usb\_string\_id*() or *usb\_string\_ids\_n*() routine, to ensure that for example different functions don't wrongly assign different meanings to the same identifier.

## AUTHOR

**David Brownell** \<dbrownell@users.sourceforge.net\>

Author.

## COPYRIGHT
