|
dxd - dynax driver framework 2.6.0d164
cross platform open source driver development framework
|
WDK: FireWire device. More...
#include <dxd_fw.h>
Inheritance diagram for dxd::fw:
Collaboration diagram for dxd::fw: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
Here is the call graph for this function:
|
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.
Here is the call graph for this function:
Here is the caller graph for this function:
|
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
Here is the caller graph for this function:
|
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.
Here is the call graph for this function:| 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
Here is the call graph for this function:| (c) copyright 2009 dynamic acoustics e.U. | generated on Fri Oct 24 2025 |