|
dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
|
the driver: one per driver binary, holding and answering what is driver-wide More...
#include <dxd_driver.h>
Classes | |
| class | client |
| an open of the driver itself, created by driver::client_create(): what it does not answer itself goes to the driver More... | |
Public Member Functions | |
| virtual client* | client_create() |
| a client for an open of the driver itself: none where the platform gives the driver no access point of its own | |
| virtual os_result | ioctl(unsigned int ioctl, const void* in, size_t size_in, void* out, size_t size_out, size_t& size) |
| driver-wide control I/O: the version, and the log mask - the input sets it, the output reads it back | |
| virtual | ~driver()= default |
Public Attributes | |
| dx::log | log{} |
| log mask: every module at error until dx::ioctl::log sets it | |
| bool | managed{} |
| dxd::power binds the OS's power management to the devices' sleep() and wake() | |
| os_result | status{not_initialized} |
| uint32_t | version{DX_VERSION32} |
| what dx::ioctl::version answers | |
the driver: one per driver binary, holding and answering what is driver-wide
Every platform's driver form derives from it - WDM's platform::driver and the PortCls adapter on it, KMDF's driver, the DriverKit and IOKit shells' driver - and every device of the driver reaches it (dxd::device::driver). Its own client answers an open of the driver itself, where the platform offers one.
|
virtualdefault |
Reimplemented in dxd::platform::driver.
|
inlinevirtual |
a client for an open of the driver itself: none where the platform gives the driver no access point of its own
Reimplemented in dxd::platform::driver.
|
inlinevirtual |
driver-wide control I/O: the version, and the log mask - the input sets it, the output reads it back
| dx::log dxd::driver::log{} |
log mask: every module at error until dx::ioctl::log sets it
| bool dxd::driver::managed{} |
dxd::power binds the OS's power management to the devices' sleep() and wake()
| os_result dxd::driver::status{not_initialized} |
| uint32_t dxd::driver::version{DX_VERSION32} |
what dx::ioctl::version answers