Lines Matching +full:control +full:- +full:field
122 Control transfers, Bulk transfers, Interrupt transfers and Isochronous
150 "xfer->priv_sc".
154 This pointer is used to initialize "xfer->priv_mtx".
156 A non-zero return value indicates failure.
185 This function is always non-blocking and must be called with the
186 so-called private USB mutex locked.
198 This function is always non-blocking and must be called with the
199 so-called private USB mutex locked.
257 .Bd -literal -offset indent
296 .Sh USB CONTROL TRANSFERS
297 An USB control transfer has three parts.
307 If an USB control transfer has no DATA stage,
312 .Bd -literal -offset indent
325 Example3: SETUP + DATA + STATUS - split
338 Example4: SETUP + STATUS - split
357 .Bd -literal -offset indent
375 field selects the USB pipe type.
382 This field is mandatory.
386 field selects the USB endpoint number.
388 A value of 0xFF, "-1" or "UE_ADDR_ANY" will select the first matching
391 This field is mandatory.
395 field selects the USB endpoint direction.
409 This field is mandatory.
413 field selects the interrupt interval.
415 The value of this field is given in milliseconds and is independent of
418 Depending on the endpoint type, this field has different meaning:
419 .Bl -tag -width "UE_ISOCHRONOUS"
428 "0" no transfer pre-delay.
429 "Else" a delay as given by this field in
434 pre-delay has elapsed!
439 field, if non-zero, will set the transfer timeout in milliseconds.
440 If the "timeout" field is zero and the transfer type is ISOCHRONOUS a
445 field sets the maximum number of frames.
447 .Bl -tag -width "UE_INTERRUPT"
449 xfer->nframes = 1;
451 xfer->nframes = 1;
453 xfer->nframes = 2;
461 field allows you to give a number, in case more endpoints match the
466 field allows you to select which of the interface numbers in the
472 field has type "struct usb_xfer_flags" and allows one to set initial
475 .Bl -tag -width "force_short_xfer"
478 A short packet has a length of less than "xfer->max_packet_size", which
482 This flag allows the received transfer length, "xfer->actlen" to be
483 less than "xfer->sumlen" upon completion of a transfer.
493 queue except in the case of "xfer->error" equal to
497 .Bl -tag -width "X"
509 from being executed at the same time the clear-stall command is
510 executed on the USB control endpoint.
525 "xfer->max_data_length".
527 For control transfers the USB kernel will allocate additional space
528 for the 8-bytes of SETUP header.
530 These 8-bytes are not counted by the "xfer->max_data_length"
547 end of the USB control transfer.
549 If no control data is transferred this flag must be cleared.
564 .Bl -tag -width "Device Side Mode"
569 The transfer is started at the moment the host issues a clear-stall
574 Setting this flag will cause a clear-stall control request to be
585 During transfer setup the frames field is pre scaled with the corresponding value for the endpoint …
590 field sets the total buffer size in bytes.
592 If this field is zero, "wMaxPacketSize" will be used, multiplied by
593 the "frames" field if the transfer type is ISOCHRONOUS.
597 This field is mandatory.
599 NOTE: For control transfers "bufsize" includes the length of the
605 This field is mandatory.