dxd - dynax driver framework 2.1.0d73
cross platform open source driver development framework
|
stream user mapping More...
#include <dxd_stream.h>
Classes | |
class | channel |
Public Member Functions | |
void | free () |
os_result | initialize (::IOMemoryDescriptor *iokit_memory_descriptor, size_t offset=0) |
IOKit kernel map initializer. | |
template<typename bus_t > | |
os_result | initialize (unsigned int iosize, unsigned int channels, dx::stream::channel::opened< channel_t > &opened, const dx::stream::channel::open< bus_t > &open) |
kernel streaming channel buffer creator | |
operator const dx::circular * () const | |
operator const::IOMemoryMap * () const | |
operator dx::circular * () const | |
dx::circular * | operator-> () |
const dx::circular * | operator-> () const |
operator to use mapping like pointer | |
operator::IOMemoryMap * () | |
template<typename reference_t > | |
int | release (reference_t &reference) |
void | retain () |
size_t | size () const |
kernel mapping size | |
os_result | start () |
os_result | stop (bool force=false) |
void | trace_outs () const |
umap (client &client, const dx::os_event &os_event, stream_t *&stream) | |
~umap () | |
Public Attributes | ||
struct { | ||
uint64_t * channel_map | ||
channel_t ** out [2] | ||
} | cache | |
dxd::multichannel::stream::umap::channel * | channel [2] | |
kernel out streaming channel double buffers | ||
dxd::map< dx::user, dx::stream::channel::control > | control | |
dxd::abstract::event & | reference | |
atomic< int > | references {} | |
os_result | status | |
status of mapping object | ||
Protected Attributes | |
dx::circular * | _vm |
kernel virtual address mapping | |
::IOMemoryMap * | iokit_memory_map |
atomic< item_t * > | next =nullptr |
stream_t *& | stream |
auto nulling reference | |
stream user mapping
|
inline |
|
inline |
|
inline |
detach from stream out channel array
remove channel array: in: removes user mapping from stream owned channel in buffers out: remove channel array: removes channel buffer and mappings
detach from stream owned channel in buffers
de-allocate channel map;
clear channel traces
|
inlineinherited |
IOKit kernel map initializer.
map<kernel> maps an IOMemoryDescriptor (typically cast of a dxd::memory or buffer class) into the kernel address space.
https://developer.apple.com/library/content/qa/qa1197/_index.html
Allows re-initialization.
Checks buffer object,
maps the buffer into the kernel (will fail if offset is given)
and obtains a kernel virtual address (apply offset here instead).
iokit_memory_descriptor | IOMemoryDescriptor to be mapped into the kernel address space |
offset | offset into memory descriptor to create mapping |
|
inline |
kernel streaming channel buffer creator
channels | stream channels |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator to use mapping like pointer
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
kernel mapping size
|
inlineinherited |
|
inlineinherited |
|
inline |
|
protectedinherited |
kernel virtual address mapping
struct { ... } dxd::multichannel::stream< channel_t >::umap< stream_t >::cache |
dxd::multichannel::stream::umap::channel* dxd::multichannel::stream< channel_t >::umap< stream_t >::channel[2] |
kernel out streaming channel double buffers
uint64_t* dxd::multichannel::stream< channel_t >::umap< stream_t >::channel_map |
dxd::map<dx::user,dx::stream::channel::control> dxd::multichannel::stream< channel_t >::umap< stream_t >::control |
|
protectedinherited |
|
protectedinherited |
channel_t** dxd::multichannel::stream< channel_t >::umap< stream_t >::out[2] |
|
inherited |
|
inherited |
|
inherited |
status of mapping object
|
protectedinherited |
auto nulling reference
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Nov 15 2024 |