ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOFWAddressSpace

Inherits from:
Declared In:

Overview



Functions

activate

Address space is ready for handling requests.

addTrustedNode

Add a trusted node.

contains

returns number of bytes starting at addr in this space

deactivate

Address space request handler is disabled.

doLock

A method for processing a lock request.

doRead

An abstract method for processing an address space read request

doWrite

An abstract method for processing an address space write request

intersects

Checks this address space intersects with the given address range. Currently only supports IOFWPsuedoAddressSpaces.

isExclusive

Checks if an address space wants exclusive control of its address range

isTrustedNode

returns true if the node is added as a trusted node

removeAllTrustedNodes

Remove all trusted nodes.

removeTrustedNode

Remove a trusted node.

setExclusive

Sets if this address space requires exclusive control of its address range. Exclusivity should be set before an address space is activated.


activate


Address space is ready for handling requests.

public

virtual IOReturn activate();
Return Value

IOReturn


addTrustedNode


Add a trusted node.

public

inline void addTrustedNode( IOFireWireDevice *device )
Parameters
device

object pointing to a FireWire node on the bus.

Return Value

none


contains


returns number of bytes starting at addr in this space

public

virtual UInt32 contains( FWAddress addr);
Return Value

0 if it doesn't contain the address


deactivate


Address space request handler is disabled.

public

virtual void deactivate();
Return Value

none


doLock


A method for processing a lock request.

public

virtual UInt32 doLock( UInt16 nodeID, IOFWSpeed &speed, FWAddress addr, UInt32 inlen, const UInt32 *newVal, UInt32 &outLen, UInt32 *oldVal, UInt32 extType, IOFWRequestRefCon refcon);
Parameters
nodeID

FireWire Lock request for nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

inlen

'inlen' bytes to use.

newVal

new value to write at 'addr' location .

outLen

'outLen' bytes for result.

oldVal

old value read from 'addr' location.

extType

Type like kFWExtendedTCodeCompareSwap.

refcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


doRead


An abstract method for processing an address space read request

public

virtual UInt32 doRead( UInt16 nodeID, IOFWSpeed &speed, FWAddress addr, UInt32 len, IOMemoryDescriptor **buf, IOByteCount *offset, IOFWRequestRefCon refcon) = 0;
Parameters
nodeID

FireWire Read from nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

read 'len' bytes from nodeID.

buf

points to a memory descriptor containing the packet data.

offset

start from this 'offset' in 'buf'.

refcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


doWrite


An abstract method for processing an address space write request

public

virtual UInt32 doWrite( UInt16 nodeID, IOFWSpeed &speed, FWAddress addr, UInt32 len, const void *buf, IOFWRequestRefCon refcon) = 0;
Parameters
nodeID

FireWire Write to nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

write 'len' bytes to nodeID.

buf

obtain bytes from location given by 'buf'.

refcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


intersects


Checks this address space intersects with the given address range. Currently only supports IOFWPsuedoAddressSpaces.

public

inline bool intersects( IOFWAddressSpace *space )
Parameters
space

An address space to compare against

Return Value

True if the address spaces intersect false otherwise


isExclusive


Checks if an address space wants exclusive control of its address range

public

inline bool isExclusive( void )
Return Value

True if the address space is marked exclusive false otherwise


isTrustedNode


returns true if the node is added as a trusted node

public

inline bool isTrustedNode( UInt16 nodeID )
Parameters
nodeID

is the nodeID to verify whether its trusted.

Return Value

false if nodeID is not trusted


removeAllTrustedNodes


Remove all trusted nodes.

public

inline void removeAllTrustedNodes( void )
Return Value

none


removeTrustedNode


Remove a trusted node.

public

inline void removeTrustedNode( IOFireWireDevice *device )
Parameters
device

object pointing to a FireWire node on the bus.

Return Value

none


setExclusive


Sets if this address space requires exclusive control of its address range. Exclusivity should be set before an address space is activated.

public

inline void setExclusive( bool exclusive )
Parameters
exclusive

True if address space should be exclusive, false otherwise

Return Value

none

Structs and Unions


ExpansionData


protected

struct ExpansionData { IOFWAddressSpaceAux *fAuxiliary; };
Discussion

This structure will be used to expand the capablilties of the class in the future.

Member Data


fIOFWAddressSpaceExpansion


See Also:

reserved

protected

ExpansionData * fIOFWAddressSpaceExpansion;
Discussion

Reserved for future use. (Internal use only)


reserved


See Also:

fIOFWAddressSpaceExpansion

protected

ExpansionData * fIOFWAddressSpaceExpansion;
Discussion

Reserved for future use. (Internal use only)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2008-12-19