Mac Developer Library

Developer

IOFireWireDevice Class Reference

Options
Deployment Target:

On This Page

IOFireWireDevice

Represents a FireWire device.

The FireWire family tries to read the configuration ROM of each device on the FireWire bus. For each device that responds with its bus information block, the FireWire family publishes an IOFireWireDevice object in the I/O Registry. An IOFireWireDevice object keeps track of the device's node ID, copies config ROM properties into the object's property list, and scans the config ROM for unit directories, publishing an IOFireWireUnit object for each unit directory it finds.

  • Resets the node's characteristics.

    Declaration

    virtual void clearNodeFlags( UInt32 flags );

    Parameters

    flags

    Refer to "node flags" in IOFireWireFamilyCommon.h.

  • Creates local physical FireWire address spaces for the device to access.

    Declaration

    virtual IOFWPhysicalAddressSpace *createPhysicalAddressSpace( IOMemoryDescriptor *mem);

    Parameters

    mem

    Memory area allocated to back the physical access by Link hardware.

    Return Value

    A valid IOFWPhysicalAddressSpace object on success; NULL on failure.

  • Creates local pseudo FireWire address spaces for the device to access.

    Declaration

    virtual IOFWPseudoAddressSpace *createPseudoAddressSpace( FWAddress *addr, UInt32 len, FWReadCallback reader, FWWriteCallback writer, void *refcon);

    Parameters

    addr

    The FireWire address that is mapped to the pseudo address access.

    len

    Size of the address space to allocate.

    reader

    Read callback, when the device reads from this address space.

    writer

    Write callback, when the device writes to this address space.

    refcon

    Client's callback object returned during reader/writer callbacks.

    Return Value

    A valid IOFWPseudoAddressSpace object on success; NULL on failure.

  • Retrieves the node's characteristics.

    Declaration

    virtual UInt32 getNodeFlags( void );

    Parameters

    flags

    Refer to "node flags" in IOFireWireFamilyCommon.h.

    Return Value

    UInt32 The flags set for a particular node.

  • Returns number of units attached to this device.

    Declaration

    inline UInt32 getUnitCount( void )

    Return Value

    UInt32 The number of units attached to this device.

  • Initializes the nub.

    Declaration

    virtual bool init( OSDictionary *propTable, const IOFWNodeScan *scan);

    Parameters

    propTable

    Property table passed to the standard nub initialization.

    scan

    Pointer to the node scan structure.

    Return Value

    Returns true if initialization was successful; false otherwise.

  • Sets the maximum speed for this node.

    Declaration

    inline void setMaxSpeed( IOFWSpeed speed )

    Parameters

    speed

    Maximum speed. Refer to "bus speed numbers" in IOFireWireFamilyCommon.h.

  • Sets the node's characteristics.

    Declaration

    virtual void setNodeFlags( UInt32 flags );

    Parameters

    flags

    Refer to "node flags" in IOFireWireFamilyCommon.h.

Data Types

  • Declaration

    struct ExpansionData { };

    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 *reserved;