edesc
} edesc[0];
usb_endpoint_descriptor_t *edesc;
edesc = usbd_get_endpoint_descriptor(sc->sc_iface, 0x83);
if (edesc == NULL)
sc->ibuf_size = UGETW(edesc->wMaxPacketSize);
const usb_endpoint_descriptor_audio_t *edesc;
ai.edesc = ed;
if (UE_GET_DIR(as->edesc->bEndpointAddress) == UE_DIR_OUT)
endpt = as->edesc->bEndpointAddress;
UGETW(sc->sc_alts[paltidx].edesc->wMaxPacketSize), false);
UGETW(sc->sc_alts[raltidx].edesc->wMaxPacketSize), true);
KASSERT(sce->edesc);
switch (sce->edesc->bmAttributes & UE_XFERTYPE) {
UGETW(sce->edesc->wMaxPacketSize), 0, 0, &xfer);
while ((n = uimin(UGETW(sce->edesc->wMaxPacketSize),
isize = UGETW(sce->edesc->wMaxPacketSize);
usb_endpoint_descriptor_t *edesc;
sce->edesc = ed;
usb_endpoint_descriptor_t *edesc;
edesc = sce->edesc;
if ((edesc->bmAttributes & UE_XFERTYPE) != UE_BULK)
edesc = sce->edesc;
if ((edesc->bmAttributes & UE_XFERTYPE) != UE_BULK)
edesc = usbd_find_edesc(cdesc, ed->ued_interface_index,
if (edesc == NULL) {
ed->ued_desc = *edesc;
KASSERT(sce_in->edesc || sce_out->edesc);
switch (sce_in->edesc->bmAttributes & UE_XFERTYPE) {
switch (sce_out->edesc->bmAttributes & UE_XFERTYPE) {
switch (sce->edesc->bmAttributes & UE_XFERTYPE) {
switch (sce->edesc->bmAttributes & UE_XFERTYPE) {
sce->edesc = ed;
usb_endpoint_descriptor_t *edesc;
if (sce->edesc == NULL) {
edesc = sce->edesc;
switch (edesc->bmAttributes & UE_XFERTYPE) {
edesc->bEndpointAddress, 0, &sce->pipeh);
isize = UGETW(edesc->wMaxPacketSize);
edesc->bEndpointAddress,
edesc->bEndpointAddress, 0, &sce->pipeh);
isize = UGETW(edesc->wMaxPacketSize);
edesc->bEndpointAddress, 0, &sce->pipeh);
int isize = UGETW(sce->edesc->wMaxPacketSize);
switch (sce->edesc->bmAttributes & UE_XFERTYPE) {
KASSERT(sce->edesc);
switch (sce->edesc->bmAttributes & UE_XFERTYPE) {
usb_endpoint_descriptor_t *edesc;
for (p = (char *)idesc + idesc->bLength; end - p >= sizeof(*edesc);) {
edesc = (usb_endpoint_descriptor_t *)desc;
return edesc;
typedef struct edesc Edesc;