|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
stream user mapping More...
#include <dxd_stream.h>
Classes | |
| class | channel |
| one channel's double buffer, mapped into the kernel and into the client - the planar buffers a kernel streaming client exchanges instead of the ring More... | |
Public Member Functions | |
| void | free () |
| os_result | initialize (::IOMemoryDescriptor *io_memory_descriptor, size_t offset=0, size_t size=0, uint64_t alignment=0, void *address=nullptr) |
| DriverKit 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 |
| DriverKit 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 |
| DriverKit virtual address mapping. | |
| ::IOMemoryMap * | io_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 |
DriverKit map initializer.
map<kernel> maps an IOMemoryDescriptor (typically cast of a dxd::memory or buffer class) into the DriverKit address space.
kIOMemoryMapFixedAddress map at the address requested
kIOMemoryMapReadOnly create a read only mapping
kIOMemoryMapCacheModeDefault default cache mode
kIOMemoryMapCacheModeInhibit inhibited cache mode
kIOMemoryMapCacheModeCopyback copyback cache mode
kIOMemoryMapCacheModeWriteThrough write through cache mode
Allows re-initialization.
Checks buffer object,
maps the buffer into the DriverKit (will fail if offset is given)
and obtains a DriverKit virtual address (apply offset here instead).
| io_memory_descriptor | IOMemoryDescriptor to be mapped into the DriverKit address space |
| offset | offset into memory descriptor to create mapping |
| size | size of mapping |
|
inline |
kernel streaming channel buffer creator
| channels | stream channels |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator to use mapping like pointer
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
DriverKit mapping size.
|
inlineinherited |
|
inlineinherited |
|
inline |
|
protectedinherited |
DriverKit 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 |
status of mapping object
|
protectedinherited |
auto nulling reference
| (c) copyright 2009 dynamic acoustics e.U. | generated on |