dxd - dynax driver framework  2711
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
wdk/dxd_base.h File Reference
#include "dxd.h"
#include <ntddk.h>
#include "dx_types.h"
+ Include dependency graph for wdk/dxd_base.h:
+ This graph shows which files directly or indirectly include this file:

Classes

union  dxd::fourchar_string
 
class  dxd::guid
 

Namespaces

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

Macros

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

Typedefs

typedef __int64 int64_t
 
typedef unsigned __int64 uint64_t
 

Enumerations

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  dxd::synchrony { dxd::synchrony::sync, dxd::synchrony::async }
 

Functions

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

Macro Definition Documentation

#define at_dynax_dxd_try (   test)
Value:
{\
::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;}}
void errorlog(const char *fmt...)
Definition: dxd_base.cpp:106
#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 Documentation

typedef __int64 int64_t
typedef unsigned __int64 uint64_t

(c) copyright 2009 dynamic acoustics e.U. generated on Mon Feb 25 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.