dxd - dynax driver framework 2.1.0d73
cross platform open source driver development framework
|
generic USB user client class More...
#include <dxd_usb_stream.h>
Protected Types | |
typedef stream::umap< usb_stream_device::stream > | umap |
Protected Member Functions | |
void | conclude () override |
generic USB user client finalization & cleanup | |
os_result | ioctl (unsigned int ioctl, const void *in, size_t size_in, void *out, size_t size_out, size_t &size) override |
user client IOCTL handler | |
Protected Attributes | ||
struct { | ||
dxd::map< dx::user, unsigned int > map | ||
sample rate shared user space mapping More... | ||
dxd::map< dx::user, dx::stream::clock::monitor > monitor | ||
clock monitor shared user space mapping More... | ||
} | clock | |
usb_stream_device * | device | |
pointer to the device to talk to | ||
umap * | io [0x20] {} | |
generic USB user client class
This class is derrived from the frameworks dxd::client class. All application interaction is handled via this class. The framework creates an instance of this class when an application opens the driver and releases the instances when the application closes the driver.
This class overwrites the default handler for IOCTL handling.
os_result | an error returned by the underlaying KPIs is reflected by the methods return value. The object status can be retrieved by the usb_stream_client::status member. |
|
protected |
|
inlineoverrideprotected |
generic USB user client finalization & cleanup
clean-up: remove all backing store references:
|
inlineoverrideprotected |
user client IOCTL handler
ioctl() gets called by the framework for I/O control handling.
The framwork provides lightwight memory objects for input an output. These objects can directly be forwarded for device access. Curently implemented are handlers for
os_result | an error returned by the underlaying KPIs is reflected by the methods return value. This member does not change the object status. |
handle ioctls
checks endpoint address,
obtains stream index from endpoint address
checks if stream is opened;
signals streams
stream administration handled by device
get stream
checks endpoint address,
obtains stream index from endpoint address
checks endpoint address,
checks stream user mode mapping,
checks endpoint address,
checks stream user mode mapping,
checks endpoint address,
checks stream user mode mapping,
- <i>dx::ioctl::stream::clock::samplerate</i> - in: clock domain ID (ignored since the supported devices only have one clock domain so far) + optional (unsigned int) samplerate, - out: optional (unsigned int) samplerate, or optional dx::iobridge<unsigned int> samplerate map
/
ioctl | IOCTL |
in | buffer pointer containing data from user mode |
size_in | size of the buffer containing data from user mode |
out | buffer pointer accepting data to be returned to user mode |
size_out | size of the buffer accepting data to be returned to user mode |
size | actual size of data to be returned to user mode |
struct { ... } dxd::usb_stream_client::clock |
|
protected |
pointer to the device to talk to
|
protected |
sample rate shared user space mapping
dxd::map<dx::user,dx::stream::clock::monitor> dxd::usb_stream_client::monitor |
clock monitor shared user space mapping
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Nov 15 2024 |