|
dxd - dynax driver framework 2.6.0d205
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 | |
| 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< event * > | next |
| stream *& | 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 |
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 |