dxd - dynax driver framework  3211
cross platform open source driver development framework
dx Namespace Reference

dynax driver framework user mode interface namespace More...

Namespaces

 cf
 corefoundation namespace
 
 coreaudio
 coreaudio - dynax coreaudio namespace
 
 coremidi
 midi - dynax midi interface namespace
 
 io
 io - IOKit namespace
 
 ioctl
 IOCTLs namespace.
 
 stream
 generic stream interface
 
 test
 
 usb
 USB user mode interface namespace.
 

Classes

struct  __scalar
 
class  at_dynax_trace
 
struct  circular
 kernel/user space shared circular buffer More...
 
class  clock
 
class  device
 generic device interface class More...
 
class  driver
 generic driver interface class More...
 
class  event
 
class  event< dx::kernel >
 
class  event< kernel >
 kernel triggerable user space event More...
 
class  event< user >
 
class  exception
 
class  guid
 
struct  iobridge
 ioctl bridge for 32/64bit user mode/kernel space big/little endian interface More...
 
class  launch
 RAII object launcher. More...
 
union  log
 
class  open
 RAII manage balanced object open/(close) More...
 
struct  os_event
 kernel/user space shared event representation More...
 
struct  pci
 physical PCI stream descriptor More...
 
class  redirect
 redirect stdout to syslog More...
 
class  registry
 Windows registry access. More...
 
class  serial
 serial interface More...
 

Typedefs

typedef __scalar< int, 24 > int24
 
typedef ::GUID match
 
typedef iobridge< void > os_event
 kernel/user space shared OS event More...
 
typedef void * os_handle
 
typedef ::DWORD os_result
 
typedef __scalar< unsigned int, 24 > uint24
 

Enumerations

enum  : ::mach_error_t {
  ok = kIOReturnSuccess, not_initialized = kIOReturnNotReady, not_implemented = kIOReturnUnsupported, invalid = kIOReturnBadArgument,
  no_device = kIOReturnNoDevice, device_error = kIOReturnDeviceError, no_resources = kIOReturnNoResources, invalid_data = kIOReturnNoSpace,
  version_mismatch = err_system(0x37)|err_sub(2)|0x14, unknown = kIOReturnInvalid, overflow = kIOReturnOverrun, driver_not_installed = kOSMetaClassNoKext,
  internal_error = kIOReturnInternalError, not_permitted = kIOReturnNotPermitted, exclusive = kIOReturnExclusiveAccess, aborted = kIOReturnAborted,
  busy = kIOReturnBusy
}
 
enum  : ::DWORD {
  ok = kIOReturnSuccess, unknown = kIOReturnInvalid, not_implemented = kIOReturnUnsupported, invalid = kIOReturnBadArgument,
  device_error = kIOReturnDeviceError, no_resources = kIOReturnNoResources, invalid_data = kIOReturnNoSpace, not_initialized = kIOReturnNotReady,
  no_device = kIOReturnNoDevice, version_mismatch = err_system(0x37)|err_sub(2)|0x14, invalid_priority = ERROR_INVALID_PRIORITY, timeout = ERROR_TIMEOUT,
  internal_error = kIOReturnInternalError, exclusive = kIOReturnExclusiveAccess, aborted = kIOReturnAborted, not_permitted = kIOReturnNotPermitted
}
 
enum  scale : int64_t {
  nsec =1ll, usec =1000ll, msec =usec*1000ll, sec =msec*1000ll,
  sec =msec*1000ll, msec =usec*1000ll, usec =1000ll, nsec =1ll
}
 Windows: timestamp to Windows time converter. More...
 
enum  scale : int64_t {
  nsec =1ll, usec =1000ll, msec =usec*1000ll, sec =msec*1000ll,
  sec =msec*1000ll, msec =usec*1000ll, usec =1000ll, nsec =1ll
}
 
enum  scope { kernel, user, kernel, user }
 template parameter defining origin of kernel object or destination of mapping More...
 
enum  scope { kernel, user, kernel, user }
 template parameter defining origin of kernel object or destination of mapping More...
 

Functions

template<typename type_t , int resolution>
class __attribute__ ((__packed__)) __scalar
 
std::string describe (os_result result) noexcept
 
void halt ()
 
std::ostream & operator<< (std::ostream &os, const exception &exception)
 
bool os_error (os_result result) noexcept
 
inline ::CFStringRef os_string (const char *string) noexcept
 
int64_t time (int64_t timestamp, scale scale=nsec)
 macOS: timestamp to time converter (for Windows compatibility only) More...
 
int64_t timestamp ()
 macOS: high precision timestamp More...
 
std::string to (unsigned int fourchar)
 
std::string version (const std::string &package)
 installation package version More...
 

Variables

std::recursive_mutex io_mutex
 

Detailed Description

dynax driver framework user mode interface namespace

dynax driver framework interface namespace

dx - dynax driver framework interface namespace

dx - dynax driver framework user mode interface namespace

Typedef Documentation

◆ int24

typedef __scalar< int, 24 > dx::int24

◆ match

typedef ::GUID dx::match

◆ os_event

typedef iobridge<void> dx::os_event

kernel/user space shared OS event

◆ os_handle

typedef::HANDLE dx::os_handle

◆ os_result

typedef::mach_error_t dx::os_result

◆ uint24

typedef __scalar< unsigned int, 24 > dx::uint24

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : ::mach_error_t
Enumerator
ok 
not_initialized 
not_implemented 
invalid 
no_device 
device_error 
no_resources 
invalid_data 
version_mismatch 
unknown 
overflow 
driver_not_installed 
internal_error 
not_permitted 
exclusive 
aborted 
busy 

◆ anonymous enum

anonymous enum : ::DWORD
Enumerator
ok 
unknown 
not_implemented 
invalid 
device_error 
no_resources 
invalid_data 
not_initialized 
no_device 
version_mismatch 
invalid_priority 
timeout 
internal_error 
exclusive 
aborted 
not_permitted 

◆ scale [1/2]

Windows: timestamp to Windows time converter.

Enumerator
nsec 
usec 
msec 
sec 
sec 
msec 
usec 
nsec 

◆ scale [2/2]

Enumerator
nsec 
usec 
msec 
sec 
sec 
msec 
usec 
nsec 

◆ scope [1/2]

enum dx::scope

template parameter defining origin of kernel object or destination of mapping

  • underlaying virtual memory origin for memory object creation
  • underlaying event origin for user/kernel mode notification
  • destination for usage of mapping object
Enumerator
kernel 

virtual memory originated in kernel, event originated in kernel or mapping to be created for use in kernel

user 

virtual memory originated in user space: use with care! (memory is only valid in correct application context), event originated in user space or mapping to be created for use in user space

kernel 

virtual memory originated in kernel, event originated in kernel or mapping to be created for use in kernel

user 

virtual memory originated in user space: use with care! (memory is only valid in correct application context), event originated in user space or mapping to be created for use in user space

◆ scope [2/2]

enum dx::scope

template parameter defining origin of kernel object or destination of mapping

  • underlaying virtual memory origin for memory object creation
  • underlaying event origin for user/kernel mode notification
  • destination for usage of mapping object
Enumerator
kernel 

virtual memory originated in kernel, event originated in kernel or mapping to be created for use in kernel

user 

virtual memory originated in user space: use with care! (memory is only valid in correct application context), event originated in user space or mapping to be created for use in user space

kernel 

virtual memory originated in kernel, event originated in kernel or mapping to be created for use in kernel

user 

virtual memory originated in user space: use with care! (memory is only valid in correct application context), event originated in user space or mapping to be created for use in user space

Function Documentation

◆ __attribute__()

template<typename type_t , int resolution>
class dx::__attribute__ ( (__packed__)  )

◆ describe()

static std::string dx::describe ( os_result  result)
inlinenoexcept
+ Here is the caller graph for this function:

◆ halt()

void dx::halt ( )
inline
+ Here is the caller graph for this function:

◆ operator<<()

std::ostream& dx::operator<< ( std::ostream &  os,
const exception exception 
)
inline

◆ os_error()

static bool dx::os_error ( os_result  result)
inlinenoexcept

◆ os_string()

static const char * dx::os_string ( const char *  string)
noexcept
+ Here is the caller graph for this function:

◆ time()

int64_t dx::time ( int64_t  timestamp,
scale  scale = nsec 
)
inline

macOS: timestamp to time converter (for Windows compatibility only)

◆ timestamp()

int64_t dx::timestamp ( )
inline

macOS: high precision timestamp

Windows: high precision timestamp.

+ Here is the caller graph for this function:

◆ to()

std::string dx::to ( unsigned int  fourchar)
inline

◆ version()

std::string dx::version ( const std::string &  package)
inline

installation package version

Todo:
find approprate place
+ Here is the caller graph for this function:

Variable Documentation

◆ io_mutex

std::recursive_mutex dx::io_mutex

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Aug 22 2020

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.