|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
one endpoint's ring and request pipeline More...
#include <dxd_usb_stream.h>
Public Member Functions | |
| pipe (device_t &device, unsigned int idx, size_t size) | |
| ~pipe () override | |
Protected Types | |
| enum | type { control = ::UsbdPipeTypeControl , isoc = ::UsbdPipeTypeIsochronous , bulk = ::UsbdPipeTypeBulk , interrupt = ::UsbdPipeTypeInterrupt } |
Protected Member Functions | |
| os_result | clear () |
| WDK pipe stall reset, toggle. | |
| direction | direction () const |
| os_result | max_frame_size (unsigned int frame_size) |
| os_result | open (const ::USBD_INTERFACE_INFORMATION *usbd_interface) |
| binds the pipe to the endpoint's pipe of the given interface setting: a re-selected alternate setting renews the handles | |
| operator::USBD_PIPE_HANDLE () const | |
| os_result | receive (::MDL *mdl) |
| WDK: USB asynchronous irq/bulk receive request. | |
| os_result | receive (::MDL *mdl, uint64_t &sequence, isoc_frame *frame, unsigned int frames) |
| os_result | transmit (const ::MDL *mdl) |
| WDK: USB asynchronous irq/bulk transmit request. | |
| os_result | transmit (const ::MDL *mdl, uint64_t &sequence, isoc_frame *frame, unsigned int frames) |
| type | type () const |
| os_result | write (const ::MDL *mdl) const |
| WDK: USB synchronous isochronous write request. | |
| template<typename data_t> | |
| os_result | write (const data_t &data) const |
| os_result | write (const void *data, size_t size) const |
Protected Attributes | |
| unsigned char | address |
| unsigned short | frame_size {} |
| unsigned char | interval {1} |
| os_result | status {not_initialized} |
| WDK pipe status. | |
Friends | |
| class | dx::usb::isoc::pipeline< pipe > |
| struct | dx::usb::isoc::session< group< device_t > > |
| class | group< device_t > |
one endpoint's ring and request pipeline
The group's tick at bus frame frame submits this pipe's free slot a round ahead, resubmits every polled completion a round on and moves the data: an out slot due lead frames ahead is filled from the ring into its pending request, the in slot due lead frames behind is taken ahead of its completion - completions only count. A bulk pipe keeps one receive pending and sends what the ring holds.
|
inherited |
|
inline |
|
inlineoverridevirtual |
Reimplemented from dxd::usb::pipe.
|
inlineinherited |
WDK pipe stall reset, toggle.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
binds the pipe to the endpoint's pipe of the given interface setting: a re-selected alternate setting renews the handles
|
inlineinherited |
|
inlineinherited |
WDK: USB asynchronous irq/bulk receive request.
|
inlineinherited |
| mdl | memory descriptor of the data to be read |
|
inlineinherited |
WDK: USB asynchronous irq/bulk transmit request.
|
inlineinherited |
| mdl | memory descriptor of the data to be written |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
friend |
|
friend |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
WDK pipe status.
| (c) copyright 2009 dynamic acoustics e.U. | generated on |