dxd - dynax driver framework  2979
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dx::usb::pipe< device_t > Class Template Reference

#include <dx_usb_device.h>

+ Inheritance diagram for dx::usb::pipe< device_t >:
+ Collaboration diagram for dx::usb::pipe< device_t >:

Public Types

enum  type : unsigned char { control =::kUSBControl, isoc = ::kUSBIsoc, bulk = ::kUSBBulk, irq = ::kUSBInterrupt }
 

Public Member Functions

pipeabort ()
 
pipeclear ()
 
uint64_t frame ()
 
pipemax_frame_size (unsigned int frame_size)
 
template<typename data_t >
pipeoperator<< (const data_t &data)
 
template<typename data_t >
pipeoperator>> (data_t &data)
 
 pipe (device_t &device, const dx::usb::endpoint &endpoint)
 
piperead (void *data, size_t size)
 synchronous USB read request More...
 
pipereceive (void *data, size_t size)
 asynchronous USB read request More...
 
pipereceive (void *data, uint64_t &sequence,::IOUSBIsocFrame *frame, int frames=1)
 asynchronous USB isoc read request More...
 
pipetransmit (const void *data, size_t size)
 asynchronous USB write request More...
 
pipetransmit (const void *data, uint64_t &sequence,::IOUSBIsocFrame *frame, int frames=1)
 asynchronous USB isoc write request More...
 
pipewrite (const void *data, size_t size)
 synchronous USB write request More...
 

Public Attributes

std::deque< audio
<>::descriptor::endpoint > 
audio
 
decltype(descriptor::endpoint)
typedef 
super
 
enum dx::usb::pipe::type type
 

Member Enumeration Documentation

template<typename device_t = device>
enum dx::usb::pipe::type : unsigned char
Enumerator
control 
isoc 
bulk 
irq 

Constructor & Destructor Documentation

template<typename device_t = device>
dx::usb::pipe< device_t >::pipe ( device_t &  device,
const dx::usb::endpoint endpoint 
)
inline

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

+ Here is the call graph for this function:

Member Function Documentation

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::abort ( )
inline
template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::clear ( )
inline
template<typename device_t = device>
uint64_t dx::usb::pipe< device_t >::frame ( )
inline

+ Here is the call graph for this function:

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::max_frame_size ( unsigned int  frame_size)
inline
template<typename device_t = device>
template<typename data_t >
pipe& dx::usb::pipe< device_t >::operator<< ( const data_t &  data)
inline
template<typename device_t = device>
template<typename data_t >
pipe& dx::usb::pipe< device_t >::operator>> ( data_t &  data)
inline
template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::read ( void *  data,
size_t  size 
)
inline

synchronous USB read request

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::receive ( void *  data,
size_t  size 
)
inline

asynchronous USB read request

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::receive ( void *  data,
uint64_t sequence,
::IOUSBIsocFrame *  frame,
int  frames = 1 
)
inline

asynchronous USB isoc read request

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::transmit ( const void *  data,
size_t  size 
)
inline

asynchronous USB write request

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::transmit ( const void *  data,
uint64_t sequence,
::IOUSBIsocFrame *  frame,
int  frames = 1 
)
inline

asynchronous USB isoc write request

template<typename device_t = device>
pipe& dx::usb::pipe< device_t >::write ( const void *  data,
size_t  size 
)
inline

synchronous USB write request

Member Data Documentation

std::deque<audio<>::descriptor::endpoint> dx::usb::__endpoint::audio
inherited
decltype(descriptor::endpoint) typedef dx::usb::__endpoint::super
inherited
template<typename device_t = device>
enum dx::usb::pipe::type dx::usb::pipe< device_t >::type

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Nov 8 2019

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.