2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
12 .\" Copyright 2016 Joyent, Inc.
15 .Dt USB_EP_XDESCR_FILL 9F
18 .Nm usb_ep_xdescr_fill
19 .Nd fill extended endpoint description from endpoint data
23 .Fo usb_ep_xdescr_fill
26 .Fa "usb_ep_data_t *ep_data"
27 .Fa "usb_ep_xdescr_t *ep_xdescr"
29 .Sh INTERFACE STABILITY
34 Indicates the current version of the
36 structure the driver is using.
37 Callers should always specify
38 .Sy USB_EP_XDESCR_CURRENT_VERSION .
40 Pointer to the device's
44 Pointer to endpoint data retrieved by calling
45 .Xr usb_lookup_ep_data 9F .
47 Pointer to the extended endpoint descriptor that will be filled out.
51 .Fn usb_ep_xdescr_fill
52 function is used to fill in the members of the extended endpoint
55 based on the endpoint descriptor data in
59 can be used to open a pipe by calling
60 .Xr usb_pipe_xopen 9F .
62 Prior to USB 3.0, only one descriptor, the
64 was needed to describe an endpoint.
65 However, with USB 3.0, additional companion descriptors have been added and are
66 required to successfully open an endpoint.
67 After calling this, all descriptors needed to successfully open a pipe will be
70 and the endpoint data,
72 is no longer required.
75 .Fn usb_ep_xdescr_fill
76 is generally only called from a drivers
78 entry point; however, it may be called from either
84 Upon successful completion, the
85 .Fn usb_ep_xdescr_fill
88 Otherwise an error number is returned.
91 .It Er USB_INVALID_ARGS
99 was an invalid pointer.
101 An unknown error occurred.
104 .Xr usb_lookup_ep_data 9F ,
105 .Xr usb_pipe_xopen 9F ,
106 .Xr usb_ep_descr 9S ,
107 .Xr usb_ep_ss_comp_descr 9S ,