dxd - dynax driver framework 2.1.0d71
cross platform open source driver development framework
|
WDK: FireWire device. More...
#include <dxd_fw.h>
Classes | |
class | address |
IOKit: FireWire address space. More... | |
class | phy |
IOKit: FireWire physical address space. More... | |
Public Types | |
enum | host_property_key { wwuid =::kConfigNodeUniqueIdKey , wwuid =::kConfigNodeUniqueIdKey } |
IOKit: IOFireWireUnit* implicit cast. More... | |
enum | host_property_key { wwuid =::kConfigNodeUniqueIdKey , wwuid =::kConfigNodeUniqueIdKey } |
Public Member Functions | |
template<class client_t = ::IOService, typename return_t = os_result, typename exec_arg_t , typename exec_t > | |
return_t | each_child (exec_arg_t exec_arg, exec_t exec) |
apply executor functor for each child | |
template<class client_t = ::IOUserClient, typename return_t = os_result, typename exec_arg_t , typename exec_t > | |
return_t | each_client (exec_arg_t exec_arg, exec_t exec) |
apply executor functor for each user client | |
fw (::WDFDEVICE_INIT *wdf_device_init, const::GUID &guid) | |
template<> | |
os_result | host_property (host_property_key key, uint64_t &value) |
template<> | |
os_result | host_property (host_property_key key, uint64_t &value) |
template<typename value_t > | |
os_result | host_property (host_property_key, value_t &value) |
template<typename value_t > | |
os_result | host_property (host_property_key, value_t &value) |
template<typename tx_t , typename rx_t > | |
os_result | ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) |
convenience ioctl accessor for direct inter-kext IOCTL | |
virtual os_result | ioctl (unsigned int ioctl, const void *in, size_t size_in, void *out, size_t size_out, size_t &size) |
device IOCTL handler | |
template<endian endian_t> | |
os_result | lock_compare_swap (unsigned int src, unsigned int compare, uint64_t space, int64_t timeout=msec) |
submit a synchrous FW lock request | |
template<endian endian_t> | |
os_result | lock_compare_swap (unsigned int src, unsigned int compare, uint64_t space, int64_t timeout=msec) |
WDK: submit a synchrous FW lock_compare_swap request. | |
os_result | notify_clients () |
operator::IOFireWireUnit * () const | |
IOKit: IOFireWireUnit* implicit cast. | |
OSDeclareDefaultStructors (fw) | |
template<typename type_t > | |
os_result | property (const char *key, type_t &value) const |
provider property request | |
template<typename type_t > | |
os_result | query (const char *key, type_t &value) |
device property request | |
template<> | |
os_result | query (const char *key, unsigned int &value) |
(defined(doxygen)||defined(DXD_EXTERN)) | |
template<endian endian_t> | |
os_result | read32 (unsigned int &dst, uint64_t space, int64_t timeout=msec) |
template<endian endian_t> | |
os_result | read32 (unsigned int &dst, uint64_t space, int64_t timeout=msec) |
template<dx::scope scope_t, endian endian_t> | |
os_result | read32 (unsigned int *dst, size_t size32, uint64_t space, int64_t timeout=msec) |
template<dx::scope scope_t, endian endian_t> | |
os_result | read32 (unsigned int *dst, size_t size32, uint64_t space, int64_t timeout=msec) |
os_result | set (const char *key, unsigned int value) |
template<dx::scope scope_t, endian endian_t> | |
os_result | write32 (const unsigned int *src, size_t size32, uint64_t space, int64_t timeout=msec) |
template<dx::scope scope_t, endian endian_t> | |
os_result | write32 (const unsigned int *src, size_t size32, uint64_t space, int64_t timeout=msec) |
template<endian endian_t> | |
os_result | write32 (unsigned int src, uint64_t space, int64_t timeout=msec) |
template<endian endian_t> | |
os_result | write32 (unsigned int src, uint64_t space, int64_t timeout=msec) |
Protected Member Functions | |
virtual os_result | busreset () |
WDK: virtual bus reset indication. | |
virtual os_result | launch () |
WDK: Main driver entry. | |
os_result | launch () override |
IOKit: Main driver entry. | |
virtual os_result | sleep () |
WDK: firewire device deinitialization virtual method. | |
virtual os_result | wake () |
WDK: firewire device PNP wake virtual method. | |
WDK: FireWire device.
IOKit: FireWire device.
|
inline |
Registers PNP capabilities
|
inlineprotectedvirtual |
WDK: virtual bus reset indication.
|
inlineinherited |
apply executor functor for each child
|
inlineinherited |
apply executor functor for each user client
os_result dxd::fw::host_property | ( | host_property_key | key, |
uint64_t & | value ) |
Checks for valid fw unit object,
|
inline |
os_result dxd::fw::host_property | ( | host_property_key | , |
value_t & | value ) |
os_result dxd::fw::host_property | ( | host_property_key | , |
value_t & | value ) |
|
inlineinherited |
convenience ioctl accessor for direct inter-kext IOCTL
|
inlinevirtualinherited |
device IOCTL handler
virtual ioctl() gets called by the dynax driver framework for device IOCTL handling.
remark: this is rarely done. usually IOCTLs are handled in the user client derivate.
ioctl | IOCTL |
in | buffer pointer containing data from user mode |
size_in | size of the buffer containing data from user mode |
out | buffer pointer accepting data to be returned to user mode |
size_out | size of the buffer accepting data to be returned to user mode |
size | actual size of data to be returned to user mode |
Reimplemented in dxd::usb_stream_device.
|
inlineprotectedvirtual |
WDK: Main driver entry.
Creates the underlaying WDK IO target and
obtains the current generation count (workaround for device access during launch)
Reimplemented from dxd::device.
|
inlineoverrideprotectedvirtual |
IOKit: Main driver entry.
launch() is one of the dynax driver frameword-supplied routines that is called after this driver is loaded. It is responsible for initializing the driver.
creates a bus reset timer event source and
attaches the timer event to workloop.
Reimplemented from dxd::device.
|
inline |
submit a synchrous FW lock request
Checks for valid fw unit object,
|
inline |
WDK: submit a synchrous FW lock_compare_swap request.
constructs the appropriate irb and submits it to the lower device
|
inlineinherited |
|
inline |
IOKit: IOFireWireUnit* implicit cast.
dxd::fw::OSDeclareDefaultStructors | ( | fw | ) |
|
inlineinherited |
provider property request
try if property is an OSString
or, try to get it as OSData
|
inherited |
device property request
device string property request
try if property is an OSString
get it as OSData
|
inherited |
(defined(doxygen)||defined(DXD_EXTERN))
device integer property request
|
inline |
Checks for valid fw unit object,
|
inline |
creates a memory object from kernel stack,
checks the kernel buffer memory object,
constructs the appropriate irb and submits it to the lower device
and swaps the returned data.
os_result dxd::fw::read32 | ( | unsigned int * | dst, |
size_t | size32, | ||
uint64_t | space, | ||
int64_t | timeout = msec ) |
os_result dxd::fw::read32 | ( | unsigned int * | dst, |
size_t | size32, | ||
uint64_t | space, | ||
int64_t | timeout = msec ) |
|
inlineinherited |
|
inlineprotectedvirtual |
WDK: firewire device deinitialization virtual method.
Deregisters the bus reset notification handler.
Reimplemented from dxd::device.
|
inlineprotectedvirtual |
WDK: firewire device PNP wake virtual method.
Obtains the current generation count and
registers the bus reset notification handler.
Reimplemented from dxd::device.
os_result dxd::fw::write32 | ( | const unsigned int * | src, |
size_t | size32, | ||
uint64_t | space, | ||
int64_t | timeout = msec ) |
os_result dxd::fw::write32 | ( | const unsigned int * | src, |
size_t | size32, | ||
uint64_t | space, | ||
int64_t | timeout = msec ) |
|
inline |
Checks for valid fw unit object,
|
inline |
create a memory object from kernel stack location
check kernel buffer memory object
swap value
constructs the appropriate irb and submits it to the lower device
(c) copyright 2009 dynamic acoustics e.U. | generated on Wed Oct 2 2024 |