|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
DriverKit memory buffer w/o alignment and boundary requirements. More...
#include <dxd_memory.h>
Public Types | |
| enum | direction : uint64_t { in = ::kIOMemoryDirectionIn , out = ::kIOMemoryDirectionOut , both = ::kIOMemoryDirectionIn| ::kIOMemoryDirectionOut } |
| direction of memory operation More... | |
| enum | direction |
| direction of memory operation More... | |
Public Member Functions | |
| buffer ()=default | |
| DriverKit default buffer constructor. | |
| buffer ()=default | |
| WDK buffer default constructor. | |
| buffer (size_t size, unsigned int limit=limit_t, unsigned int alignment=alignment_t, bool contigous=contigous_t) | |
| DriverKit buffer constructor. | |
| buffer (size_t size, unsigned int limit=limit_t, unsigned int alignment=alignment_t, bool contigous=contigous_t) | |
| WDK buffer constructor. | |
| void | free () |
| os_result | initialize (size_t size, unsigned int limit=limit_t, unsigned int alignment=alignment_t, bool contigous=contigous_t) |
| os_result | initialize (size_t size, unsigned int=limit_t, unsigned int alignment=alignment_t, bool=contigous_t) |
| DriverKit buffer initializer. | |
| os_result | initialize (::IOMemoryDescriptor *io_memory_descriptor) |
| DriverKit memory initializer. | |
| os_result | initialize (::IOMemoryDescriptor *io_memory_descriptor, size_t offset, size_t size, direction direction) |
| DriverKit memory initializer. | |
| os_result | initialize (const ::MDL *mdl) |
| os_result | initialize (const ::MDL *mdl, size_t offset, size_t size) |
| os_result | initialize (const void *data, size_t size) |
| os_result | initialize (const void *data, size_t size) |
| operator const ::IOMemoryDescriptor * () const | |
| DriverKit IOMemoryDescriptor* implicit cast. | |
| operator const ::IOMemoryDescriptor * () const | |
| DriverKit IOMemoryDescriptor* implicit cast. | |
| operator void * () const | |
| the allocation's kernel address | |
| operator::IOMemoryDescriptor * () | |
| operator::IOMemoryDescriptor * () | |
| operator::MDL * () const | |
| operator::MDL * () const | |
| ::IOMemoryDescriptor * | retain () |
| ::IOMemoryDescriptor * | retain () |
| uint64_t | size () const |
| DriverKit memory size. | |
| uint64_t | size () const |
| DriverKit memory size. | |
| virtual | ~buffer () |
| WDK buffer memory destructor. | |
Public Attributes | |
| os_result | status = not_initialized |
| DriverKit memory status. | |
| os_result | status |
| DriverKit memory status. | |
DriverKit memory buffer w/o alignment and boundary requirements.
generic WDK buffer class
The dxd::buffer is a DriverKit memory representation with an associated memory backing store allocation. The memory backing store is owned by this DriverKit memory representation and the reference will be released when this object is destroyed.
|
inherited |
|
inherited |
direction of memory operation
|
default |
DriverKit default buffer constructor.
Use this in conjunction with initialize()
|
inline |
DriverKit buffer constructor.
| size | size to be alloced by buffer object |
| limit | limit physical memory address space |
| alignment | enforce physical memory alignment |
| contigous | enforce contiguos physical memory |
|
default |
WDK buffer default constructor.
|
inline |
WDK buffer constructor.
| size | size to be alloced by buffer object |
| limit | limit physical memory address space |
| alignment | enforce physical memory alignment |
| contigous | enforce contiguos physical memory |
|
inlinevirtual |
WDK buffer memory destructor.
|
inline |
|
inline |
Allows re-initialization
| size | size to be alloced by buffer object |
| limit | limit physical memory address space |
| alignment | enforce physical memory alignment |
| contigous | enforce contiguos physical memory |
|
inline |
DriverKit buffer initializer.
Allows re-initialization.
Creates a buffer and associated memory descriptor.
| size | size to be alloced by buffer object |
| alignment | enforce physical memory alignment |
|
inlineinherited |
DriverKit memory initializer.
|
inlineinherited |
DriverKit memory initializer.
|
inlineinherited |
in contrast to an IOKit MemoryDescriptor MDLs do not support reference counting. take care when creating a dxd::memory from a dxd::buffer: although the dxd::memory holds an MDL to the buffer the buffer itself is not retained after the dxd::buffer is released!
|
inlineinherited |
|
inherited |
|
inherited |
Allows re-initialization
| data | virtual read only kernel base address of range to create memory descriptor from |
| size | size of range to create memory descriptor from |
|
inlineinherited |
DriverKit IOMemoryDescriptor* implicit cast.
|
inlineinherited |
DriverKit IOMemoryDescriptor* implicit cast.
|
inline |
the allocation's kernel address
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
DriverKit memory size.
|
inlineinherited |
DriverKit memory size.
|
inherited |
DriverKit memory status.
status of memory object
|
inherited |
DriverKit memory status.
status of memory object
| (c) copyright 2009 dynamic acoustics e.U. | generated on |