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 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
 
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...
 
singleton  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...
 
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 iobridge< void > os_event
 kernel/user space shared OS event More...
 
typedef void * os_handle
 
typedef ::HRESULT 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
}
 
enum  : ::HRESULT {
  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,
  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
 
typedef::GUID match
 

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

typedef __scalar< int, 24 > dx::int24
typedef iobridge<void> dx::os_event

kernel/user space shared OS event

typedef::HANDLE dx::os_handle
typedef::mach_error_t dx::os_result
typedef __scalar< unsigned int, 24 > dx::uint24

Enumeration Type Documentation

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 
anonymous enum : ::HRESULT
Enumerator
ok 
unknown 
not_implemented 
invalid 
device_error 
no_resources 
invalid_data 
not_initialized 
no_device 
version_mismatch 
invalid_priority 
timeout 
not_permitted 

Windows: timestamp to Windows time converter.

Enumerator
nsec 
usec 
msec 
sec 
sec 
msec 
usec 
nsec 
Enumerator
nsec 
usec 
msec 
sec 
sec 
msec 
usec 
nsec 
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

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

template<typename type_t , int resolution>
class dx::__attribute__ ( (__packed__)  )
static std::string dx::describe ( os_result  result)
inlinenoexcept

+ Here is the caller graph for this function:

void dx::halt ( )
inline

+ Here is the caller graph for this function:

std::ostream& dx::operator<< ( std::ostream &  os,
const exception &  exception 
)
inline
static bool dx::os_error ( os_result  result)
inlinenoexcept
static const char * dx::os_string ( const char *  string)
noexcept

+ Here is the caller graph for this function:

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

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

+ Here is the caller graph for this function:

int64_t dx::timestamp ( )
inline

macOS: high precision timestamp

Windows: high precision timestamp.

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

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

std::recursive_mutex dx::io_mutex
typedef::GUID dx::match

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