IOFireWireLib.h

Overview

IOFireWireLib is the software used by user space software to communicate with FireWire devices and control the FireWire bus. IOFireWireLib is the lowest-level FireWire interface available in user space.

To communicate with a device on the FireWire bus, an instance of IOFireWireDeviceInterface (a struct which is defined below) is created. The methods of IOFireWireDeviceInterface allow you to communicate with the device and create instances of other interfaces which provide extended functionality (for example, creation of unit directories on the local machine).

References to interfaces should be kept using the interface reference typedefs defined herein. For example, you should use IOFireWireLibDeviceRef to refer to instances of IOFireWireDeviceInterface, IOFireWireLibCommandRef to refer to instances of IOFireWireCommandInterface, and so on.

To obtain an IOFireWireDeviceInterface for a device on the FireWire bus, use the function IOCreatePlugInInterfaceForService() defined in IOKit/IOCFPlugIn.h. (Note the "i" in "PlugIn" is always upper-case.) Quick usage reference:

  • 'service' is a reference to the IOKit registry entry of the kernel object (usually of type IOFireWireDevice) representing the device of interest. This reference can be obtained using the functions defined in IOKit/IOKitLib.h.

  • 'plugInType' should be CFUUIDGetUUIDBytes(kIOCFPlugInInterfaceID)

  • 'interfaceType' should be CFUUIDGetUUIDBytes(kIOFireWireLibTypeID) when using IOFireWireLib

The interface returned by IOCreatePlugInInterfaceForService() should be deallocated using IODestroyPlugInInterface(). Do not call Release() on it.

Included Headers

  • <CoreFoundation/CoreFoundation.h>

  • <IOKit/IOCFPlugIn.h>

  • <IOKit/firewire/IOFireWireFamilyCommon.h>

Topics

Miscellaneous

Callbacks

See the Overview for header-level documentation.

IOFireWireBusResetDoneHandler

Called when a bus reset has occured and FireWire has completed configuring the bus.

IOFireWireBusResetHandler

Called when a bus reset has occured, but before FireWire has completed configuring the bus.

IOFireWireLibCommandCallback

Callback called when an asynchronous command has completed executing

IOFireWireLibIRMAllocationLostNotificationProc

Callback called when an IOFireWireLibIRMAllocationRef fails to reclaim IRM resources after a bus-reset

IOFireWireLibPHYPacketCallback

Callback called to handle incoming PHY packets

IOFireWireLibPHYPacketSkippedCallback

Callback called when incoming packets have been dropped from the internal queue

IOFireWirePseudoAddressSpaceReadHandler

This callback is called to handle read requests to pseudo address spaces. This function should fill in the specified area in the pseudo address space backing store and call ClientCommandIsComplete with the specified command ID

IOFireWirePseudoAddressSpaceSkippedPacketHandler

Callback called when incoming packets have been dropped from the internal queue

IOFireWirePseudoAddressSpaceWriteHandler

Callback called to handle write requests to a pseudo address space.

IOFWAsyncStreamListenerHandler

Callback called to handle Async Stream packets.

IOFWAsyncStreamListenerSkippedPacketHandler

Callback called when incoming packets have been dropped from the internal queue

Data Types

See the Overview for header-level documentation.

Constants

See the Overview for header-level documentation.

IOFireWireLib Additional Command Flags

Flags for IOFireWireLib commands

IOFireWireLib Command Flags

Flags for IOFireWireLib command objects

IOFireWireLib failOnReset Flags

Flags for IOFireWireLib commands