#include <dxd_usb_pipe.h>
|
| enum | type { control = ::UsbdPipeTypeControl
, isoc = ::UsbdPipeTypeIsochronous
, bulk = ::UsbdPipeTypeBulk
, interrupt = ::UsbdPipeTypeInterrupt
} |
|
| os_result | abort () |
| | WDK pipe abort.
|
| 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 |
| int | outstanding () |
| | pipe (const ::DEVICE_OBJECT *wdm_target, const ::USBD_INTERFACE_INFORMATION *usbd_interface, unsigned char address) |
| | WDK pipe constructor.
|
| bool | poll (dx::usb::isoc::result &result) |
| | collects the next completed isoc request in submission order, its frame descriptors updated; the context is free again
|
| 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 |
| template<typename data_t> |
| os_result | write (const data_t &data) const |
| os_result | write (const void *data, size_t size) const |
| os_result | write (const::MDL *mdl) const |
| | WDK: USB synchronous isochronous write request.
|
| virtual | ~pipe () |
◆ type
bills "compiler" still does exercises - until it learnt a bit more c++ enums need to go here to be available during rest of class definition.
| Enumerator |
|---|
| control | |
| isoc | |
| bulk | |
| interrupt | |
◆ pipe()
| dxd::usb::pipe::pipe |
( |
const ::DEVICE_OBJECT * | wdm_target, |
|
|
const ::USBD_INTERFACE_INFORMATION * | usbd_interface, |
|
|
unsigned char | address ) |
|
inline |
◆ ~pipe()
| virtual dxd::usb::pipe::~pipe |
( |
| ) |
|
|
inlinevirtual |
◆ abort()
◆ clear()
WDK pipe stall reset, toggle.
◆ direction()
| direction dxd::usb::pipe::direction |
( |
| ) |
const |
|
inline |
◆ max_frame_size()
| os_result dxd::usb::pipe::max_frame_size |
( |
unsigned int | frame_size | ) |
|
|
inline |
◆ open()
| os_result dxd::usb::pipe::open |
( |
const ::USBD_INTERFACE_INFORMATION * | usbd_interface | ) |
|
|
inline |
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()
| dxd::usb::pipe::operator::USBD_PIPE_HANDLE |
( |
| ) |
const |
|
inline |
◆ outstanding()
| int dxd::usb::pipe::outstanding |
( |
| ) |
|
|
inline |
◆ poll()
collects the next completed isoc request in submission order, its frame descriptors updated; the context is free again
◆ receive() [1/2]
| os_result dxd::usb::pipe::receive |
( |
::MDL * | mdl | ) |
|
|
inline |
WDK: USB asynchronous irq/bulk receive request.
◆ receive() [2/2]
| os_result dxd::usb::pipe::receive |
( |
::MDL * | mdl, |
|
|
uint64_t & | sequence, |
|
|
isoc_frame * | frame, |
|
|
unsigned int | frames ) |
|
inline |
- Parameters
-
| mdl | memory descriptor of the data to be read |
◆ transmit() [1/2]
| os_result dxd::usb::pipe::transmit |
( |
const ::MDL * | mdl | ) |
|
|
inline |
WDK: USB asynchronous irq/bulk transmit request.
◆ transmit() [2/2]
| os_result dxd::usb::pipe::transmit |
( |
const ::MDL * | mdl, |
|
|
uint64_t & | sequence, |
|
|
isoc_frame * | frame, |
|
|
unsigned int | frames ) |
|
inline |
- Parameters
-
| mdl | memory descriptor of the data to be written |
◆ type()
◆ write() [1/3]
template<typename data_t>
| os_result dxd::usb::pipe::write |
( |
const data_t & | data | ) |
const |
|
inline |
◆ write() [2/3]
| os_result dxd::usb::pipe::write |
( |
const void * | data, |
|
|
size_t | size ) const |
|
inline |
◆ write() [3/3]
| os_result dxd::usb::pipe::write |
( |
const::MDL * | mdl | ) |
const |
|
inline |
WDK: USB synchronous isochronous write request.
- Todo
- return number of written bytes
WDK: USB synchronous irq/bulk write request
- Todo
- return number of written bytes
◆ address
| unsigned char dxd::usb::pipe::address |
◆ frame_size
| unsigned short dxd::usb::pipe::frame_size = 0 |
◆ interval
| unsigned char dxd::usb::pipe::interval = 1 |
◆ status
The documentation for this class was generated from the following file: