dxd - dynax driver framework 2.1.0d71
cross platform open source driver development framework
No Matches
dxd_base.h File Reference
#include "dxd.h"
#include <ntddk.h>
#include "dx_platform.h"
+ Include dependency graph for wdk/dxd_base.h:
+ This graph shows which files directly or indirectly include this file:


union  dxd::fourchar_string
class  dxd::guid


namespace  dxd
 dynax driver framework kernel namespace
namespace  dxd::ioctl
 kernel IOCTLs


#define at_dynax_dxd_try(test)
#define catch   _catch
#define offsetof(type, member)   ((size_t)(&((type*)0)->member))
#define OSDeclareDefaultStructors(...)
#define OSDefineMetaClassAndStructors(...)
#define strcasecmp   _stricmp
#define sync()   {}
#define try(...)   at_dynax_dxd_try((__VA_ARGS__))


typedef short int16_t
typedef int int32_t
typedef __int64 int64_t
typedef char int8_t
typedef ::KEVENT * dxd::os_event
 platform abstract type os_event for WDK driver
typedef ::NTSTATUS dxd::os_result
 platform abstract type os_result for WDK driver
typedef unsigned short uint16_t
typedef unsigned int uint32_t
typedef unsigned __int64 uint64_t
typedef unsigned char uint8_t


enum  {
  dxd::ok =kIOReturnSuccess , dxd::not_implemented =kIOReturnUnsupported , dxd::invalid =kIOReturnBadArgument , dxd::device_error =kIOReturnDeviceError ,
  dxd::no_resources =kIOReturnNoResources , dxd::not_initialized =kIOReturnNotReady , dxd::interrupt_level_mismatch = STATUS_INVALID_LEVEL , dxd::timeout =kIOReturnTimeout ,
  dxd::invalid_size =kIOReturnNoSpace , dxd::not_aligned = STATUS_DATATYPE_MISALIGNMENT_ERROR , dxd::aborted =kIOReturnAborted , dxd::failed = STATUS_UNSUCCESSFUL ,
  dxd::device_removed =kIOReturnNotAttached , dxd::not_permitted =kIOReturnNotPermitted , dxd::internal_error =kIOReturnInternalError
enum  dxd::direction {
  dxd::in =::kIODirectionIn , dxd::out =::kIODirectionOut , dxd::both =::kIODirectionInOut , dxd::none ,
  dxd::in =::kIODirectionIn , dxd::out =::kIODirectionOut , dxd::both =::kIODirectionInOut
enum class  dxd::synchrony { dxd::sync , dxd::async }


template<class driver_t >
::NTSTATUS dxd::create (::DRIVER_OBJECT *wdm_driver, ::UNICODE_STRING *registry, const wchar_t *name=L"", dxd::guid guid=0)
void dxd::errorlog (const char *fmt...)
void dxd::log (const char *fmt...)
 windows kernel logging
void dxd::warnlog (const char *fmt...)

Macro Definition Documentation

◆ at_dynax_dxd_try

#define at_dynax_dxd_try ( test)
::NTSTATUS at_dynax_dxd_status=(test);\
if NT_ERROR(at_dynax_dxd_status){\
dxd::errorlog("%s(%d) %s[%x,irql:%d]:\n %s\n",\
__FILE__, __LINE__, __FUNCTION__, at_dynax_dxd_status, ::KeGetCurrentIrql(), #test);\
goto catch;}}

◆ catch

#define catch   _catch

◆ offsetof

#define offsetof ( type,
member )   ((size_t)(&((type*)0)->member))

◆ OSDeclareDefaultStructors

#define OSDeclareDefaultStructors ( ...)

◆ OSDefineMetaClassAndStructors

#define OSDefineMetaClassAndStructors ( ...)

◆ strcasecmp

#define strcasecmp   _stricmp

◆ sync

#define sync ( )    {}

◆ try

#define try ( ...)    at_dynax_dxd_try((__VA_ARGS__))

Typedef Documentation

◆ int16_t

typedef short int16_t

◆ int32_t

typedef int int32_t

◆ int64_t

typedef __int64 int64_t

◆ int8_t

typedef char int8_t

◆ uint16_t

typedef unsigned short uint16_t

◆ uint32_t

typedef unsigned int uint32_t

◆ uint64_t

typedef unsigned __int64 uint64_t

◆ uint8_t

typedef unsigned char uint8_t

(c) copyright 2009 dynamic acoustics e.U. generated on Thu Jun 6 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.