dxd - dynax driver framework 2.1.0d58
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx Namespace Reference

dynax driver framework user mode interface namespace More...

Namespaces

namespace  cf
 corefoundation namespace
 
namespace  coreaudio
 coreaudio - dynax coreaudio namespace
 
namespace  coremidi
 coremidi - dynax coremidi interface namespace
 
namespace  generic
 
namespace  io
 io - IOKit namespace
 
namespace  ioctl
 IOCTLs namespace.
 
namespace  redirect
 redirect std IO
 
namespace  sc
 
namespace  shared
 
namespace  stream
 generic stream interface
 
namespace  test
 
namespace  thread
 
namespace  trace
 
namespace  usb
 USB user mode interface namespace.
 

Classes

struct  __hide_if_ptr
 
struct  __scalar
 
class  asio
 
struct  circular
 kernel/user space shared circular buffer More...
 
class  clock
 
class  device
 generic device interface class More...
 
class  driver
 
class  event
 
class  event< dx::kernel >
 
class  event< kernel >
 kernel triggerable user space event More...
 
class  event< user >
 
class  exception
 
class  file
 
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  object
 
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  process
 
class  registry
 Windows registry access. More...
 
class  resource
 Windows handle class bill wasn't sure wether an invalid handle is a nullptr or -1. Hence the invalid_t template parameter. (Usually its -1, but i.e. for file mappings its nullptr, etc.) More...
 
class  serial
 serial interface More...
 
class  timebase
 
struct  void_struct
 

Typedefs

template<typename type_t >
using hide_if_ptr = typename __hide_if_ptr<type_t>::type
 
typedef __scalar< int32_t, 24 > int24
 
typedef ::GUID match
 
typedef iobridge< void > os_event
 kernel/user space shared OS event
 
typedef void * os_handle
 
typedef ::mach_error_t os_result
 
typedef __scalar< uint32_t, 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 , timeout = kIOReturnTimeout , 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 = kIOReturnTimeout ,
  internal_error = kIOReturnInternalError , exclusive = kIOReturnExclusiveAccess , aborted = kIOReturnAborted , not_permitted = kIOReturnNotPermitted ,
  overflow = kIOReturnOverrun , not_found = ERROR_FILE_NOT_FOUND
}
 
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  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  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
 
os_result _assert (os_result error, const char *expression, const char *frame, const char *file, unsigned int line)
 
template<typename ... arg_t>
os_result _assert (os_result error, const char *expression, const char *frame, const char *file, unsigned int line, arg_t... args)
 
std::string describe (os_result result) noexcept
 
void halt ()
 
std::ostream & operator<< (std::ostream &os, const circular::format &format)
 
std::ostream & operator<< (std::ostream &os, const exception &exception)
 
std::ostream & operator<< (std::ostream &os, const log &log)
 
dx_packed_end std::ostream & operator<< (std::ostream &os, const log::level &level)
 
std::ostream & operator<< (std::ostream &os, const log::scope &scope)
 
std::ostream & operator<< (std::ostream &os, const void_struct &)
 
bool os_error (os_result result) noexcept
 
inline ::CFStringRef os_string (const char *string) noexcept
 
uint32_t priority ()
 
template<typename type_t , typename... types_t>
type_t & static_try (const types_t &... args)
 
template<typename type_t , typename... types_t>
type_t & static_try (types_t &... args)
 
int64_t time (int64_t timestamp, scale scale=nsec)
 macOS: timestamp (clock ticks) to time converter
 
int64_t timestamp ()
 macOS: high precision timestamp (clock ticks) Returns current value of a clock that increments monotonically in tick units (starting at an arbitrary point), this clock does not increment while the system is asleep.
 
int64_t timestamp (int64_t time, scale scale=nsec)
 macOS: time to timestamp (clock ticks) converter
 
std::string to (uint32_t fourchar)
 
std::string version (const std::string &package)
 installation package version
 

Variables

std::recursive_mutex io_mutex
 

Detailed Description

dynax driver framework user mode interface namespace

dynax driver framework interface namespace

intended use

dx - dynax driver framework user mode interface namespace

dx - dynax driver framework interface namespace

Typedef Documentation

◆ hide_if_ptr

template<typename type_t >
using dx::hide_if_ptr = typename __hide_if_ptr<type_t>::type

◆ 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::DWORD 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 
timeout 
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 
overflow 
not_found 

◆ scale [1/2]

Enumerator
nsec 
usec 
msec 
sec 
sec 
msec 
usec 
nsec 

◆ scale [2/2]

Windows: timestamp to Windows time converter.

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__) )

◆ _assert() [1/2]

os_result dx::_assert ( os_result error,
const char * expression,
const char * frame,
const char * file,
unsigned int line )
inline
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _assert() [2/2]

template<typename ... arg_t>
os_result dx::_assert ( os_result error,
const char * expression,
const char * frame,
const char * file,
unsigned int line,
arg_t... args )
+ Here is the call graph for this function:

◆ describe()

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

◆ halt()

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

◆ operator<<() [1/6]

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

◆ operator<<() [2/6]

std::ostream & dx::operator<< ( std::ostream & os,
const exception & exception )
inline
+ Here is the call graph for this function:

◆ operator<<() [3/6]

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

◆ operator<<() [4/6]

dx_packed_end std::ostream & dx::operator<< ( std::ostream & os,
const log::level & level )
inline

◆ operator<<() [5/6]

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

◆ operator<<() [6/6]

std::ostream & dx::operator<< ( std::ostream & os,
const void_struct &  )
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:

◆ priority()

uint32_t dx::priority ( )
inline
+ Here is the caller graph for this function:

◆ static_try() [1/2]

template<typename type_t , typename... types_t>
type_t & dx::static_try ( const types_t &... args)

◆ static_try() [2/2]

template<typename type_t , typename... types_t>
type_t & dx::static_try ( types_t &... args)

◆ time()

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

macOS: timestamp (clock ticks) to time converter

Windows: timestamp (clock ticks) to time converter.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ timestamp() [1/2]

int64_t dx::timestamp ( )
inline

macOS: high precision timestamp (clock ticks) Returns current value of a clock that increments monotonically in tick units (starting at an arbitrary point), this clock does not increment while the system is asleep.

Windows: high precision timestamp.

+ Here is the caller graph for this function:

◆ timestamp() [2/2]

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

macOS: time to timestamp (clock ticks) converter

Windows: time to timestamp (clock ticks) converter.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ to()

std::string dx::to ( uint32_t fourchar)
inline
+ Here is the caller graph for this function:

◆ 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
extern

(c) copyright 2009 dynamic acoustics e.U. generated on Sun Apr 14 2024

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.