1. NAME

usb_copy_descriptors - copy a vector of USB descriptors

2. SYNOPSIS

struct usb_descriptor_header ** usb_copy_descriptors(struct usb_descriptor_header **  src );

3. ARGUMENTS

src
    null-terminated vector to copy

4. CONTEXT

initialization code, which may sleep

5. DESCRIPTION

This makes a copy of a vector of USB descriptors. Its primary use is to support usb_function objects which can have multiple copies, each needing different descriptors. Functions may have static tables of descriptors, which are used as templates and customized with identifiers (for interfaces, strings, endpoints, and more) as needed by a given function instance.

6. AUTHOR

David Brownell <>
    Author.

7. COPYRIGHT