dxd - dynax driver framework 2.1.0d62
cross platform open source driver development framework
|
#include <dx_usb_device.h>
Classes | |
struct | attributes |
Public Types | |
enum class | type : uint8_t { control =::kUSBControl , isoc = ::kUSBIsoc , bulk = ::kUSBBulk , irq = ::kUSBInterrupt , control =::UsbdPipeTypeControl , isoc = ::UsbdPipeTypeIsochronous , bulk = ::UsbdPipeTypeBulk , irq = ::UsbdPipeTypeInterrupt } |
enum class | type : unsigned char { control =::kUSBControl , isoc = ::kUSBIsoc , bulk = ::kUSBBulk , irq = ::kUSBInterrupt , control =::UsbdPipeTypeControl , isoc = ::UsbdPipeTypeIsochronous , bulk = ::UsbdPipeTypeBulk , irq = ::UsbdPipeTypeInterrupt } |
Public Member Functions | |
pipe & | abort () try |
pipe & | abort () try |
dx_catchall_rethrow () os_result status() const noexcept | |
dx_catchall_rethrow () uint64_t frame() | |
dx_catchall_rethrow (;,"endpoint:%x interface:%d setting:%d", endpoint.address, endpoint.interface, endpoint.setting) bool in() const noexcept | |
dx_catchall_rethrow (try {clear();} dx_catchall(), "handle:%p idx:%d EP:%02x data:%p size:%lld", winusb.handle, idx, address, data, size) template< typename data_t > pipe &operator<<(const data_t &data) | |
dx_catchall_rethrow (try {clear();} dx_catchall(), "handle:%p idx:%d EP:%02x data:%p size:%lld", winusb.handle, idx, address, data, size) template< typename data_t > pipe &operator>>(data_t &data) | |
dx_catchall_rethrow (try {clear();} dx_catchall(), "idx:%d EP:%02x", idx, address) pipe &clear() try | |
dx_catchall_rethrow (try {const_cast< pipe * >(this) ->clear();} dx_catchall_handler(this,), "idx:%d size:%lld", idx, sizeof request) template< typename data_t > data_t submit(const control &control) const | |
control request to pipe | |
void | free () noexcept |
if (tx==max) tx=0 | |
bool | in () const noexcept |
bus initializer (isoc, bulk, pci, etc.) compatibility | |
pipe & | info () noexcept |
event & | initialize (::HKEY registry, ::DWORD filter=REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY, bool subtree=true) |
event & | initialize (bool signalled) |
pipe & | max_frame_size (uint32_t frame_size) |
operator const os_event () const noexcept | |
operator os_event () noexcept | |
operator::HANDLE () const noexcept | |
template<typename data_t > | |
pipe & | operator<< (const data_t &data) |
synchronous USB write request | |
template<typename data_t > | |
pipe & | operator>> (data_t &data) |
synchronous USB read request | |
pipe (device_t &device, const usb::endpoint &endpoint) | |
pipe & | read (void *data, size_t size) try |
synchronous USB read request | |
pipe & | receive (void *data, size_t size) try |
asynchronous USB read request | |
void | reset () |
void | signal () |
virtual void | start (unsigned int=1) |
async IO thread control (required for Windows compatibility) | |
virtual unsigned int | stop (bool=false) noexcept |
template<typename data_t > | |
pipe & | submit (const request< data_t > &request) const try |
standard request to pipe | |
void | wait (int64_t timeout=0) |
pipe & | write (const void *data, size_t size) try |
synchronous USB write request | |
Static Public Member Functions | |
static void | wait (::HANDLE handle, int64_t timeout=0) |
Public Attributes | |
const struct dx::usb::pipe::attributes & | attributes = reinterpret_cast<const struct attributes&>(bmAttributes) |
std::deque< union audio::descriptor::endpoint > | audio |
device_t & | device |
uint64_t ::USBD_ISO_PACKET_DESCRIPTOR * | frame |
uint64_t & | sequence |
return * | this |
size_t size | try |
tx | |
enum dx::usb::platform::pipe::type | type |
Protected Member Functions | |
virtual void | exception (const dx::exception &exception, bool filtered=false) const noexcept |
virtual void | exception (const dx::exception &exception, bool filtered=false) const noexcept |
virtual void | received (os_result, size_t) |
virtual async callbacks | |
virtual void | received (os_result, size_t) |
virtual async callbacks | |
virtual void | received (os_result, size_t, int64_t, usb::isoc::frame *) |
virtual void | received (os_result, size_t, int64_t, usb::isoc::frame *) |
virtual void | start (unsigned int starting=1) |
async IO thread control | |
virtual unsigned int | stop (bool=false) noexcept |
virtual void | transmitted (os_result, size_t) |
virtual void | transmitted (os_result, size_t) |
virtual void | transmitted (os_result, size_t, int64_t, usb::isoc::frame *) |
virtual void | transmitted (os_result, size_t, int64_t, usb::isoc::frame *) |
~pipe () noexcept override | |
Protected Attributes | ||
struct { | ||
} | address | |
uint8_t | address = 0 | |
uint8_t | idx = 0 | |
interface_t & | interface | |
struct { | ||
class buffer { | ||
} buffer | ||
unsigned int micro_frames = 0 | ||
} | isoc | |
struct dx::usb::platform::pipe::isoc | isoc | |
::HANDLE | process = ::GetCurrentProcess() | |
struct { | ||
::WINUSB_INTERFACE_HANDLE handle | ||
} | winusb | |
|
stronginherited |
|
stronginherited |
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from dx::usb::platform::pipe< device_t, interface_t >.
Reimplemented in dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexcept |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
control request to pipe
|
inlineprotectedvirtualnoexceptinherited |
|
inlineprotectedvirtualnoexceptinherited |
|
inlinenoexceptinherited |
|
pure virtualinherited |
|
inlinenoexceptinherited |
bus initializer (isoc, bulk, pci, etc.) compatibility
|
inlinenoexcept |
< Bit D7 indicates a requirement for wMaxPacketSize packets.; D7: MaxPacketsOnly
< D1..0: Pitch Control; D3..2: Data Overrun Control; D5..4: Data Underrun Control; D7..6: Reserved. Must be set to 0.
< Indicates the units used for the wLockDelay field: 0: Undefined; 1: Milliseconds; 2: Decoded PCM samples; 3..255: Reserved
< Indicates the time it takes this endpoint to reliably lock its internal clock recovery circuitry. Units used depend on the value of the bLockDelayUnits field.
< Number of Embedded MIDI Jacks: n.
< ID of the n-th Embedded Jack that is associated with this endpoint.
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inline |
synchronous USB write request
|
inline |
synchronous USB read request
|
inlineinherited |
synchronous USB read request
|
inlineinherited |
asynchronous USB read request
|
inlineprotectedvirtualinherited |
virtual async callbacks
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlineprotectedvirtualinherited |
virtual async callbacks
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedvirtualinherited |
async IO thread control
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlinevirtualinherited |
async IO thread control (required for Windows compatibility)
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlinevirtualnoexceptinherited |
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlineprotectedvirtualnoexceptinherited |
Reimplemented in dx::usb::stream::pipe< desc_t, circular_t >, and dx::usb::stream::pipe< _desc_t, dx::circular >.
|
inlineinherited |
standard request to pipe
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlinestaticinherited |
|
inlineinherited |
|
inlineinherited |
synchronous USB write request
struct { ... } dx::usb::platform::pipe< device_t, interface_t >::address |
|
protectedinherited |
const struct dx::usb::pipe::attributes& dx::usb::pipe< device_t >::attributes = reinterpret_cast<const struct attributes&>(bmAttributes) |
|
inherited |
class { ... } ::buffer dx::usb::platform::pipe< device_t, interface_t >::buffer |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
struct { ... } dx::usb::platform::pipe< device_t, interface_t >::isoc |
|
protectedinherited |
|
inherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
struct { ... } dx::usb::platform::pipe< device_t, interface_t >::winusb |
(c) copyright 2009 dynamic acoustics e.U. | generated on Thu May 9 2024 |