IOFWAddressSpace

Inherits from
OSObject
Availability
Available in OS X v10.0 and later.
Declared in
IOFWAddressSpace.h

Overview

Tasks

Miscellaneous

Instance Methods

activate

Address space is ready for handling requests.

virtual IOReturn activate();
Return Value

IOReturn

addTrustedNode

Add a trusted node.

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

virtual UInt32 contains( FWAddress addr);
Return Value

0 if it doesn't contain the address

deactivate

Address space request handler is disabled.

virtual void deactivate();
Return Value

none

doLock

A method for processing a lock request.

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

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

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.

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

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

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.

inline void removeAllTrustedNodes( void )
Return Value

none

removeTrustedNode

Remove a trusted node.

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.

inline void setExclusive( bool exclusive )
Parameters
exclusive

True if address space should be exclusive, false otherwise

Return Value

none

ExpansionData

struct ExpansionData {
   IOFWAddressSpaceAux *fAuxiliary;
};
Discussion

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

Instance Variables

fIOFWAddressSpaceExpansion

ExpansionData * fIOFWAddressSpaceExpansion;

Reserved for future use. (Internal use only)

See Also

reserved

ExpansionData * fIOFWAddressSpaceExpansion;

Reserved for future use. (Internal use only)

See Also