Mac Developer Library

Developer

IOFWAddressSpace Class Reference

Options
Deployment Target:

On This Page
Language:

IOFWAddressSpace

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Not Applicable

Objective-C

@import Kernel;

Availability


Available in OS X v10.0 and later.
  • Address space is ready for handling requests.

    Declaration

    C++

    virtual IOReturn activate();

    Return Value

    IOReturn

  • Add a trusted node.

    Declaration

    C++

    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

    C++

    virtual UInt32 contains( FWAddress addr);

    Return Value

    0 if it doesn't contain the address

  • Address space request handler is disabled.

    Declaration

    C++

    virtual void deactivate();

    Return Value

    none

  • A method for processing a lock request.

    Declaration

    C++

    virtual UInt32 doLock( UInt16nodeID, IOFWSpeed &speed, FWAddressaddr, UInt32inlen, const UInt32 *newVal, UInt32 &outLen, UInt32 *oldVal, UInt32extType, IOFWRequestRefConrefcon);

    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

    C++

    virtual UInt32 doRead( UInt16nodeID, IOFWSpeed &speed, FWAddressaddr, UInt32len, IOMemoryDescriptor **buf, IOByteCount *offset, IOFWRequestRefConrefcon) = 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

    C++

    virtual UInt32 doWrite( UInt16nodeID, IOFWSpeed &speed, FWAddressaddr, UInt32len, const void *buf, IOFWRequestRefConrefcon) = 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

    C++

    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

    C++

    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

    C++

    inline bool isTrustedNode( UInt16nodeID )

    Parameters

    nodeID

    is the nodeID to verify whether its trusted.

    Return Value

    false if nodeID is not trusted

  • Remove all trusted nodes.

    Declaration

    C++

    inline void removeAllTrustedNodes( void )

    Return Value

    none

  • Remove a trusted node.

    Declaration

    C++

    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

    C++

    inline void setExclusive( boolexclusive )

    Parameters

    exclusive

    True if address space should be exclusive, false otherwise

    Return Value

    none

Data Types

  • Declaration

    C++

    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

    C++

    ExpansionData * fIOFWAddressSpaceExpansion;

  • Reserved for future use. (Internal use only)

    Declaration

    C++

    ExpansionData * fIOFWAddressSpaceExpansion;