Mac Developer Library

Developer

IOFWAddressSpace Class Reference

Options
Deployment Target:

On This Page

IOFWAddressSpace

  • Address space is ready for handling requests.

    Declaration

    virtual IOReturn activate();

    Return Value

    IOReturn

  • Add a trusted node.

    Declaration

    inline void addTrustedNode( IOFireWireDevice *device )

    Parameters

    device

    object pointing to a FireWire node on the bus.

    Return Value

    none

  • returns number of bytes starting at addr in this space

    Declaration

    virtual UInt32 contains( FWAddress addr);

    Return Value

    0 if it doesn't contain the address

  • Address space request handler is disabled.

    Declaration

    virtual void deactivate();

    Return Value

    none

  • A method for processing a lock request.

    Declaration

    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

  • An abstract method for processing an address space read request

    Declaration

    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

  • An abstract method for processing an address space write request

    Declaration

    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

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

    Declaration

    inline bool intersects( IOFWAddressSpace *space )

    Parameters

    space

    An address space to compare against

    Return Value

    True if the address spaces intersect false otherwise

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

    Declaration

    inline bool isExclusive( void )

    Return Value

    True if the address space is marked exclusive false otherwise

  • returns true if the node is added as a trusted node

    Declaration

    inline bool isTrustedNode( UInt16 nodeID )

    Parameters

    nodeID

    is the nodeID to verify whether its trusted.

    Return Value

    false if nodeID is not trusted

  • Remove all trusted nodes.

    Declaration

    inline void removeAllTrustedNodes( void )

    Return Value

    none

  • Remove a trusted node.

    Declaration

    inline void removeTrustedNode( IOFireWireDevice *device )

    Parameters

    device

    object pointing to a FireWire node on the bus.

    Return Value

    none

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

    Declaration

    inline void setExclusive( bool exclusive )

    Parameters

    exclusive

    True if address space should be exclusive, false otherwise

    Return Value

    none

Data Types

  • Declaration

    struct ExpansionData { IOFWAddressSpaceAux *fAuxiliary; };

    Discussion

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

Instance Variables

  • Reserved for future use. (Internal use only)

    Declaration

    ExpansionData * fIOFWAddressSpaceExpansion;

  • Reserved for future use. (Internal use only)

    Declaration

    ExpansionData * fIOFWAddressSpaceExpansion;