|
| struct | __hide_if_ptr |
| struct | __scalar |
| struct | aggregate |
| struct | ansi |
| struct | circular |
| | kernel/user space shared circular buffer More...
|
| class | clock |
| class | device |
| | abstract commom base device interface class More...
|
| class | driver |
| | abstract base driver interface class This is the abstract base interface to a driver. More...
|
| class | event |
| 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...
|
| class | license |
| union | log |
| class | object |
| class | open |
| | RAII manage balanced object open/(close). More...
|
| struct | os_event |
| | kernel/user space shared event representation More...
|
| class | overlapped |
| class | parser |
| | cmd line parser More...
|
| struct | pci |
| | physical PCI stream descriptor More...
|
| class | pipe |
| | pipe - Windows named pipes A dx::pipe is a bidirection, multi-client, multi-threaded communication channel between a pipe client and a pipe server. Both pipe sides feature a dedicated read thread to receive data from the opposite side notifiying installable listener std::functions. On the service side, a pipe server is instantiated for each pipe client connection. Until a new client connects, the pipe::server::instance remains waiting in pipe::server::instance::connect within its dedicated pipe read thread. If a client disconnects the pipe::server::instance removes itself, terminating the read thread. The pipe::server::instance super class can be template-parameterized to allow mimicking user client behaviour. Windows arbitrarily serializes operations on synchronous pipe handles, limiting it's named pipe concurrent synchronous operation capabilities to exactly one synchronous pipe per process (i.e. exactly one per process), effectively forcing both the pipe::server and the pipe client to be implemented using asynchronous OVERLAPPED I/O — introducing a whole host of unnecessary pitfalls and awkward behaviors. However, the MSDN documentation here apparently describes a different piece of software. Though dx::pipes can be used for any communication between user space software its purpose is to allow Windows service communication. A service itself runs with elevated privileges, whereas the clients typically run in the normal user context. Therefore, the pipe servers have defined their default ACLs for non-privileged access. More...
|
| class | process |
| class | promoted |
| | promoted value More...
|
| struct | promoting |
| | promoted::preference with default and optional alignment function More...
|
| struct | promoting< preference_t, std::void_t< decltype(preference_t::listen)> > |
| class | reference |
| | RAII manage balanced object open/(close). More...
|
| class | registry |
| | hierarchical 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 | select |
| | select from aggregated drivers More...
|
| class | serial |
| | serial interface More...
|
| class | string |
| class | timebase |
| struct | tty |
| struct | void_struct |
| class | window |
|
| 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 | : ::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 | 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...
|
|
| 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) |
| template<typename... types> |
| | aggregate (types &&...) -> aggregate< types &&... > |
| | catch (...) |
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN | catch (const dx::exception &__dx_exception) |
| | catch (const std::exception &__std_exception) |
| std::string | describe (os_result result) noexcept |
| int64_t | duration (int64_t timestamp, scale scale) |
| | macOS: timestamp duration (clock ticks) to time converter
|
| | dx_catchall_rethrow () inline int64_t timestamp(int64_t time |
| | Windows: time to timestamp (clock ticks) converter.
|
| void | halt () |
| template<typename ... next_t> |
| os_result | map_os_result (os_result result, os_result desired, next_t... next) |
| | map list of os_results to a desired value This helper allows to ignore a list of os_results and if matched return the desired result instead.
|
| template<typename type_t> |
| type_t | max (type_t v1, type_t v2) |
| std::ostream & | operator<< (std::ostream &os, const exception &exception) noexcept |
| 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
|
| int64_t | timestamp_offset (int64_t time, scale scale=nsec) |
| | macOS: duration to timestamp (clock ticks) converter
|
| const std::string & | to_string (const std::string &string) |
| std::string | version (const std::string &package) |
| | installation package version
|
| std::string | version (uint32_t v32) |
dynax driver framework user mode interface namespace
intended use
dynax driver framework interface namespace
dx - dynax driver framework user mode interface namespace
dx - dynax driver framework interface namespace