|
dxd - dynax driver framework 3.0.1f223
cross platform open source driver development framework
|
#include <dx_usb_platform_device.h>
Classes | |
| union | port |
| a port's connection: the device's descriptor, speed and open pipes More... | |
Public Member Functions | |
| void | ctl (unsigned int ioctl) const |
| virtual void | free () noexcept |
| hub (const char *name) | |
| the hub a device interface path names: a hub's own, or the one a device - a composite's function too - hangs on, connection its port there | |
| template<typename rx_t> | |
| rx_t | ictl (unsigned int ioctl) const |
| Windows: member ioctl. | |
| template<typename rx_t> | |
| size_t | ictl (unsigned int ioctl, rx_t &rx) const |
| void | initialize (const char *name, ::DWORD access=GENERIC_READ|GENERIC_WRITE, ::DWORD share=FILE_SHARE_READ|FILE_SHARE_WRITE) |
| (re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx | |
| template<typename rx_t, typename tx_t> | |
| rx_t | ioctl (unsigned int ioctl, const tx_t &tx) const |
| template<typename tx_t, typename rx_t> | |
| size_t | ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const |
| template<typename tx_t> | |
| void | octl (unsigned int ioctl, const tx_t &tx) const |
| operator const os_event () const noexcept | |
| operator os_event () noexcept | |
| std::string | operator() (unsigned char idx) const |
| the device interface path of the hub at port idx (from 1) | |
| operator::HANDLE () const noexcept | |
| port | operator[] (unsigned char idx) const |
| the connection at port idx (from 1) | |
| void | reset (unsigned char idx) const |
| port idx (from 1) cycled: its device leaves the bus and enumerates again - its drivers take a surprise removal | |
Public Attributes | |
| ::USB_HUB_CAPABILITIES_EX | capabilities {} |
| unsigned char | connection {} |
| the port of the device whose path named the hub, 0 where the path is the hub's own | |
| unsigned char | ports {} |
Static Public Attributes | |
| static constexpr ::GUID | guid {0xf18a0e88, 0xc30c, 0x11d0, {0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8}} |
Protected Attributes | |
| ::HANDLE | handle {invalid_t} |
| ::HANDLE | process {::GetCurrentProcess()} |
a hub as its driver reports it, usbview's view: per port the device, its speed and the pipes it holds open - the periodic load the host carries below it, the full and low speed one through the hub's transaction translator(s)
|
inline |
the hub a device interface path names: a hub's own, or the one a device - a composite's function too - hangs on, connection its port there
|
inlineinherited |
|
inlinevirtualnoexceptinherited |
Reimplemented in dx::coreaudio::pod::stream< device_t, circular_t >, dx::pipe< rcv_t >, dx::pipe< dx::service::request< service::stream::data< desc > > >, dx::pipe< dx::service::request< service::stream::data< desc_t > > >, dx::pipe< dx::service::request< service::stream::data< typename device_t::desc_t > > >, dx::pipe< request >, dx::pipe< request_t >, dx::service::manager::promoted, dx::shared::memory< buffer_t >, dx::shared::memory< buffer_t >, dx::shared::memory< circular_t >, dx::shared::memory< circular_t >, dx::shared::memory< dx::circular >, dx::shared::memory< dx::stream::clock::monitor >, dx::shared::memory< dx::stream::clock::monitor >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, circular_t >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, dx::circular >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::template server< request >, dx::template server< user_client, std::weak_ptr< device > >, and dx::usb::stream::pipe< device_t, circular_t, stream_t >.
|
inlineinherited |
Windows: member ioctl.
this member retreives data from the device by providing an IOCTL code. the template argument defines the type of data to be retreived. this member is intended as a convinient way to retreive only small amounts of data since there is an intermediate stack copy involved in returning the data.
the underlaying windows API is DeviceIoControl(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx
| n/a | microsoft does not give information about what possible errors values are provided by its OS other than |
| ERROR_INSUFFICIENT_BUFFER | if the output buffer is too small to receive any data |
| rx_t | type of rx_t needs to be explicitly specified as it can't be deduced |
|
inlineinherited |
|
inlineinherited |
(re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
| n/a | microsoft does not give information about what possible errors values are provided by its OS |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inline |
the device interface path of the hub at port idx (from 1)
|
inlinenoexceptinherited |
|
inline |
the connection at port idx (from 1)
|
inline |
port idx (from 1) cycled: its device leaves the bus and enumerates again - its drivers take a surprise removal
| ::USB_HUB_CAPABILITIES_EX dx::usb::hub::capabilities {} |
| unsigned char dx::usb::hub::connection {} |
the port of the device whose path named the hub, 0 where the path is the hub's own
|
static |
GUID_DEVINTERFACE_USB_HUB: every hub, the root hubs among them
|
protectedinherited |
| unsigned char dx::usb::hub::ports {} |
|
protectedinherited |