Mac Developer Library

Developer

IOFireWireDevice Class Reference

Options
Deployment Target:

On This Page
Language:

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.

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Not Applicable

Objective-C

@import Kernel;

Availability


Available in OS X v10.0 and later.
  • Resets the node's characteristics.

    Declaration

    C++

    virtual void clearNodeFlags( UInt32flags );

    Parameters

    flags

    Refer to "node flags" in IOFireWireFamilyCommon.h.

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

    Declaration

    C++

    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

    C++

    virtual IOFWPseudoAddressSpace *createPseudoAddressSpace( FWAddress *addr, UInt32len, FWReadCallbackreader, FWWriteCallbackwriter, 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

    C++

    virtual UInt32 getNodeFlags( flags );

    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

    C++

    inline UInt32 getUnitCount( void )

    Return Value

    UInt32 The number of units attached to this device.

  • Initializes the nub.

    Declaration

    C++

    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

    C++

    inline void setMaxSpeed( IOFWSpeedspeed )

    Parameters

    speed

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

  • Sets the node's characteristics.

    Declaration

    C++

    virtual void setNodeFlags( UInt32flags );

    Parameters

    flags

    Refer to "node flags" in IOFireWireFamilyCommon.h.

Data Types

  • Declaration

    C++

    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

    C++

    ExpansionData *reserved;