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

Classes

class  dx::guid< exception_t >
 
struct  dx::iobridge< type_t >
 ioctl bridge for 32/64bit user mode/kernel space big/little endian interface More...
 
struct  dx::uint24
 

Namespaces

 dx
 dynax driver framework user mode interface namespace
 
 dx::ioctl
 IOCTLs namespace.
 
 dx::ioctl::stream
 stream IOCTLs namespace
 
 dx::ioctl::stream::clock
 stream::clock domain IOCTLs namespace
 
 dx::ioctl::usb
 USB IOCTLs namespace.
 

Macros

#define __PRETTY_FUNCTION__   __FUNCSIG__
 mock compiler idiosyncrasies More...
 
#define dx_enum_prefix   enum class
 
#define DX_IOCTL(c, i)   CTL_CODE(FILE_DEVICE_UNKNOWN,(c<<4)|i,METHOD_BUFFERED,FILE_ANY_ACCESS)
 DX IOCTLs convetion char namespace indentifier: lower case user mode: upper case kernel. More...
 
#define dx_packed
 
#define dx_packed_begin   __pragma(pack(push,1))
 
#define dx_packed_end   __pragma(pack(pop))
 
#define DX_RELATE(item)   {#item,item}
 

Enumerations

enum  dx::ioctl::ioctl { dx::ioctl::version = 'dver', dx::ioctl::version = 'dver' }
 
enum  dx::ioctl::stream::ioctl {
  dx::ioctl::stream::enumerate = 'enum', dx::ioctl::stream::open = 'open', dx::ioctl::stream::close = 'clos', dx::ioctl::stream::start = 'strt',
  dx::ioctl::stream::stop = 'stop', dx::ioctl::stream::signal = 'sgnl', dx::ioctl::stream::puid = 'puid', dx::ioctl::stream::channel = 'chnl',
  dx::ioctl::stream::tx = 'sftx', dx::ioctl::stream::rx = 'sfrx', dx::ioctl::stream::enumerate = 'enum', dx::ioctl::stream::open = 'open',
  dx::ioctl::stream::close = 'clos', dx::ioctl::stream::start = 'strt', dx::ioctl::stream::stop = 'stop', dx::ioctl::stream::signal = 'sgnl',
  dx::ioctl::stream::puid = 'puid', dx::ioctl::stream::channel = 'chnl', dx::ioctl::stream::position = DX_IOCTL('s',8), dx::ioctl::stream::rx = 'sfrx',
  dx::ioctl::stream::tx = 'sftx'
}
 
enum  dx::ioctl::stream::clock::ioctl {
  dx::ioctl::stream::clock::start = 'clk+', dx::ioctl::stream::clock::stop = 'clk-', dx::ioctl::stream::clock::samplerate = 'clk|', dx::ioctl::stream::clock::iosize = 'clk*',
  dx::ioctl::stream::clock::monitor = 'cmon', dx::ioctl::stream::clock::start = 'clk+', dx::ioctl::stream::clock::stop = 'clk-', dx::ioctl::stream::clock::samplerate = 'clk|',
  dx::ioctl::stream::clock::iosize = 'clk*', dx::ioctl::stream::clock::monitor = 'cmon'
}
 
enum  dx::ioctl::usb::ioctl {
  dx::ioctl::usb::request = 'durq', dx::ioctl::usb::descriptor = 'dudc', dx::ioctl::usb::string = 'dust', dx::ioctl::usb::configuration = 'ducf',
  dx::ioctl::usb::clear = 'ducr', dx::ioctl::usb::request = 'durq', dx::ioctl::usb::descriptor = 'dudc', dx::ioctl::usb::string = 'dust',
  dx::ioctl::usb::configuration = 'ducf', dx::ioctl::usb::clear = 'ducr'
}
 
enum  dx::os_result : ::HRESULT {
  dx::ok =kIOReturnSuccess, dx::not_implemented =kIOReturnUnsupported, dx::invalid =kIOReturnBadArgument, dx::device_error =kIOReturnDeviceError,
  dx::no_resources =kIOReturnNoResources, dx::invalid_data =kIOReturnNoSpace, dx::not_initialized =kIOReturnNotReady, dx::no_device =kIOReturnNoDevice,
  dx::version_mismatch =err_system(0x37)|err_sub(2)|0x14, dx::invalid_priority =ERROR_INVALID_PRIORITY, dx::timeout =ERROR_TIMEOUT, dx::not_permitted =kIOReturnNotPermitted
}
 
enum  dx::scope { dx::kernel, dx::user, dx::kernel, dx::user }
 template parameter defining origin of kernel object or destination of mapping More...
 

Macro Definition Documentation

#define __PRETTY_FUNCTION__   __FUNCSIG__

mock compiler idiosyncrasies

#define dx_enum_prefix   enum class
#define DX_IOCTL (   c,
 
)    CTL_CODE(FILE_DEVICE_UNKNOWN,(c<<4)|i,METHOD_BUFFERED,FILE_ANY_ACCESS)

DX IOCTLs convetion char namespace indentifier: lower case user mode: upper case kernel.

#define dx_packed
#define dx_packed_begin   __pragma(pack(push,1))
#define dx_packed_end   __pragma(pack(pop))
#define DX_RELATE (   item)    {#item,item}

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Jan 18 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.