dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::fw::address Class Reference

an address range this driver publishes on the bus: a peer writing into it hands its data over through the FIFO entries below More...

#include <dxd_fw.h>

Public Member Functions

 address ()
void free ()
os_result initialize (const dxd::fw &fw, uint64_t space, size_t size32)
 WDK: firewire pseudeo address space initializer.
virtual ~address ()

Public Attributes

size_t size32
uint64_t space
os_result status

Protected Member Functions

virtual os_result write (uint64_t space, const unsigned int *data32, size_t size32)

Detailed Description

an address range this driver publishes on the bus: a peer writing into it hands its data over through the FIFO entries below

Constructor & Destructor Documentation

◆ address()

dxd::fw::address::address ( )
inline
Here is the call graph for this function:

◆ ~address()

virtual dxd::fw::address::~address ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ free()

void dxd::fw::address::free ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize()

os_result dxd::fw::address::initialize ( const dxd::fw & fw,
uint64_t space,
size_t size32 )
inline

WDK: firewire pseudeo address space initializer.

Make sure to free the address space as long as there is a valid connection to the device object (i.e. during device::conclude() or device::sleep(). The system will crash after the driver was unloaded if the device writes into a previously allocated address space - even if the address space has been re-allocated after re-loading the driver!

Allows re-initialization.

iterates over all fifo elements and for each fifo elements:

  • creates a wired backing store,
  • initializes the fifo MDL pointer with the backing store MDL
  • atomically inserts the fifo element at the beginning of the sequenced singly linked list of the address space

constructs the appropriate irb

and submits it to the lower device,

obtains an handle to windows representation of the spawned address space,

retrieves the actual address and length of firewire space.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

virtual os_result dxd::fw::address::write ( uint64_t space,
const unsigned int * data32,
size_t size32 )
inlineprotectedvirtual

Member Data Documentation

◆ size32

size_t dxd::fw::address::size32

◆ space

uint64_t dxd::fw::address::space

◆ status

os_result dxd::fw::address::status

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.