dxd - dynax driver framework  2711
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Todo List
Member dx::coreaudio::device< io_t, bus_t, desc_t, exception_t >::property (unsigned int trgt, const ::AudioObjectPropertyAddress *address, void *property,::UInt32 &size, bool set=false) const

provide channel names

keep track and return running state of pin

provide device icon

Member dx::coreaudio::pin< stream_t, pin_desc_t, exception_t >::property (unsigned int trgt, const ::AudioObjectPropertyAddress *address, void *property,::UInt32 &size, bool set=false) const
support sample rate range
Class dx::driver< exception_t, device_t >
distinguish between "driver not installed" and "no device"
Member dx::driver< exception_t, device_t >::clear () noexcept

check if exception catching needed for device::conclude()

check if exception catching needed for device::conclude()

check if exception catching needed for device::conclude()

Member dx::driver< exception_t, device_t >::driver (const ::CFDictionaryRef cf_match)
handle kext blocking https://developer.apple.com/library/content/technotes/tn2459/_index.html
Member dx::midi::device< io_t, bus_t, desc_t, exception_t >::device (::io_service_t io_service)
make coremidi_device private
Member dx::midi::device< io_t, bus_t, desc_t, exception_t >::launch () override
remove operator=(::MIDIDriverRef)
Member dx::midi::pin< io_t, stream_t, exception_t, pin_desc_t >::send (const ::MIDIPacketList *pktlist)
to be replaced by real shared signal
Member dx::midi::stream< io_t, bus_t, stream_desc_t, exception_t, device_t >::signal ()
Windows: remove and implement shared event::signal
Member dx::stream::desc< target_t, max_streams, max_configurations, max_pins, vendor_t >::stream::enumerate (enum class pin::format format) const
remove redundant pin_desc typedef once the llvm understands templates (coremidi)
Member dx::stream::desc< target_t, max_streams, max_configurations, max_pins, vendor_t >::stream::pin::line
use USB terminal ids and DEFINE_USB_TERMINAL_GUID
Member dx::stream::desc< target_t, max_streams, max_configurations, max_pins, vendor_t >::stream::vendor
evaluate if vendor data is part of the config
Member dx::stream::engine< io_t, bus_t, desc_t, exception_t, device_t, pin_t >::initialize (unsigned int iosize, uint64_t channel_map[2][(channels+63)/64])
clock already runnning with different iosize: check if engine should be initialized with current iosize
Member dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::signal ()
Windows: remove and implement shared event::signal
Member dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::stop (bool force=false)
connect flush
Class dx::usb::bulk
templatize launch/conclude
Member dx::usb::midi< buffer_t >::encode (const unsigned char *os_midi_package, int length, unsigned char cable)
cleanup issue with stl not available in kernel:
Member dx::version (const std::string &package)
find approprate place
Member dx_pass (test)
platform independent generic excpetion/assertion handling with optional logging/debugging BP
Member dxd::device::query (const char *key, type_t &value)
move into property class
Member dxd::dmus::miniport< stream_t >::GetDescription (::PCFILTER_DESCRIPTOR **out_filter) override
in(): compile only: statics can't be conditionally initialized. move to be a member!
Member dxd::each (::OSIterator *iterator, exec_arg_t exec_arg, exec_t exec)
deduct exec_t return type
Member dxd::engine::initHardware (::IOService *provider)

compute latencies and CoreAudio safty offsets

release audiostream

Member dxd::event< dx::kernel >::wait_any (os_event wdm_event, int64_t time=0)
check if event index really needs to be returned in os_result.
Class dxd::event< scope >
auto-reset variant
Member dxd::fw::lock_compare_swap (unsigned int src, unsigned int compare, uint64_t space, int64_t timeout=msec)
swap template
Class dxd::fw::phy

templatize endianism!

templatize endianism!

Member dxd::fw::phy::initialize (const dxd::fw &fw,::MDL *mdl, unsigned int &segments, sgl_t &sgl)
remove workaround using pseudo address space if physical memory is located above 4GB (Bill cannot handle this bidirectionally: content will not be flushed back from bounce buffers)
Class dxd::guid
guid: find appropriate place
Member dxd::iostream::initWithAudioEngine (::IOAudioEngine *engine,::IOAudioStreamDirection direction, unsigned int channel_id, const char *description=0,::OSDictionary *properties=0)

check if every physical USB bit resolution leads to own CoreAudio IOAudioStreamFormat

move into performFormatChange

Member dxd::pci::scatter_gather< limit_t, alignment_t, page_size_t >::initialize (device &,::IOMemoryDescriptor *iokit_memory_descriptor, unsigned int &pages, sgl_t &sgl, unsigned int limit=limit_t, unsigned int alignment=alignment_t, unsigned int page_size=page_size_t)
templatize endianism!
Member dxd::usb_device::conclude () override
investigate if reset() is still needed here
Member dxd::usb_device::pipe::max_frame_size (unsigned int frame_size)
implement WDK USB max_frame_size() bandwidth adjustment
Member dxd::usb_device::pipe::pipe (IOUSBHostDevice *,IOUSBHostInterface *iokit_usb_interface, unsigned char address)
evaluate to get isoc.line_size from generic USB descriptor
Member dxd::usb_device::pipe::request (const dx::usb::control &control, data_t &data)
USB pipe control request timeout
Member dxd::usb_device::pipe::state () const
find out if isInactive() is equivalent to getState()
Member dxd::usb_device::pipe::write (const ::MDL *mdl) const

return number of written bytes

return number of written bytes

Member dxd::usb_device::request (const dx::usb::control &control, data_t &data)
USB device control request timeout
Member dxd::usb_device::speed
enum class
Member dxd::usb_device::speed () const
implement WDK low/super speed check for dxd::usb_device.speed()
Member dxd::usb_device::state () const
find out if isInactive() is equivalent to getState()
Member dxd::usb_stream::stream::initialize (unsigned int line_size, unsigned int cycles, unsigned int sample_rate)

initialize also RX isoc when no extralines are required

reset max frame size when pipe is closed

Member dxd::usb_stream::stream::start (bool force=false) override
compute timestamp in ticks (not nsec)!
Member dxd::usb_stream::stream::stream (class usb_device &usb_device, const dx::stream::open< dx::usb::isoc > &open, int id)
default sample rate from clock description
Member dxd::wdm::irp< synchrony_t >::ioctl (const void *post, size_t post_size, unsigned int ioctl, void *receipt, size_t receipt_size, bool internal=false)

: check and refuse IRQL; handle completion

:for asynchronous IRP request: move buffered copy into completion!


(c) copyright 2009 dynamic acoustics e.U. generated on Mon Feb 25 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.