dxd - dynax driver framework  2675
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dxd::usb_stream_client Class Reference

generic USB user client class More...

#include <dxd_usb_stream.h>

+ Inheritance diagram for dxd::usb_stream_client:
+ Collaboration diagram for dxd::usb_stream_client:

Protected Types

typedef stream::umap
< usb_stream::stream
umap
 

Protected Member Functions

void conclude () override
 generic USB user client finalization & cleanup More...
 
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 More...
 

Protected Attributes

usb_streamdevice
 pointer to the device to talk to More...
 
umapio [0x20] {}
 

Detailed Description

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.

Exceptions
os_resultan 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.

Member Typedef Documentation

Member Function Documentation

void dxd::usb_stream_client::conclude ( )
inlineoverrideprotected

generic USB user client finalization & cleanup

clean-up: remove all backing store references:

os_result dxd::usb_stream_client::ioctl ( unsigned int  ioctl,
const void *  in,
size_t  size_in,
void *  out,
size_t  size_out,
size_t &  size 
)
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

Exceptions
os_resultan error returned by the underlaying KPIs is reflected by the methods return value. This member does not change the object status.

handle ioctls

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,

checks endpoint address,

obtains stream index from endpoint address

checks if stream is opened;

signals streams

Parameters
ioctlIOCTL
inbuffer pointer containing data from user mode
size_insize of the buffer containing data from user mode
outbuffer pointer accepting data to be returned to user mode
size_outsize of the buffer accepting data to be returned to user mode
sizeactual size of data to be returned to user mode

+ Here is the call graph for this function:

Member Data Documentation

usb_stream* dxd::usb_stream_client::device
protected

pointer to the device to talk to

umap* dxd::usb_stream_client::io[0x20] {}
protected

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Tue Dec 4 2018

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.