---
title: FireWire
framework: kernel
role: collectionGroup
role_heading: API Collection
path: kernel/hardware_families/firewire
---

# FireWire

Implement a driver that supports FireWire devices.

## Topics

### Interfaces

- [IOFireWireSerialBusProtocolTransport](kernel/iofirewireserialbusprotocoltransport.md)
- [IOFireWireSBP2Target](kernel/iofirewiresbp2target.md)
- [IOFireWireController](kernel/iofirewirecontroller.md)
- [IOFireWireBus](kernel/iofirewirebus.md)

### Nubs

- [IOFireWireLocalNode](kernel/iofirewirelocalnode.md)
- [IOFireWireSBP2LUN](kernel/iofirewiresbp2lun.md)
- [IOFireWireAVCSubUnit](kernel/iofirewireavcsubunit.md)
- [IOFireWireAVCUnit](kernel/iofirewireavcunit.md)
- [IOFireWireAVCNub](kernel/iofirewireavcnub.md)
- [IOFireWireUnit](kernel/iofirewireunit.md)
- [IOFireWireNub](kernel/iofirewirenub.md)

### Devices

- [IOFireWireDevice](kernel/iofirewiredevice.md)

### Auxilliary Units

- [IOFireWireControllerAux](kernel/iofirewirecontrolleraux.md)
- [IOFireWireLocalNodeAux](kernel/iofirewirelocalnodeaux.md)
- [IOFireWireBusAux](kernel/iofirewirebusaux.md)
- [IOFireWireDeviceAux](kernel/iofirewiredeviceaux.md)
- [IOFireWireUnitAux](kernel/iofirewireunitaux.md)
- [IOFireWireNubAux](kernel/iofirewirenubaux.md)

### User-Space Access

- [IOFireWireSBP2UserClient](kernel/iofirewiresbp2userclient.md)

### AVC Support

- [IOFireWireAVCAsynchronousCommand](kernel/iofirewireavcasynchronouscommand.md)
- [IOFireWireAVCTargetSpace](kernel/iofirewireavctargetspace.md)
- [IOFireWireAVCCommand](kernel/iofirewireavccommand.md)
- [AVCCommandHandlerInfo](kernel/avccommandhandlerinfo.md)
- [AVCConnectionRecord](kernel/avcconnectionrecord.md)
- [AVCSubunitInfo](kernel/avcsubunitinfo.md)
- [AVCConnectTargetPlugsInParams](kernel/avcconnecttargetplugsinparams.md)
- [AVCConnectTargetPlugsOutParams](kernel/avcconnecttargetplugsoutparams.md)
- [AVCGetTargetPlugConnectionInParams](kernel/avcgettargetplugconnectioninparams.md)
- [AVCGetTargetPlugConnectionOutParams](kernel/avcgettargetplugconnectionoutparams.md)
- [AVCSubunitPlugRecord](kernel/avcsubunitplugrecord.md)
- [AVCUnitPlugRecord](kernel/avcunitplugrecord.md)
- [AVCUnitPlugs](kernel/avcunitplugs.md)

### DCL Support

- [IODCLProgram](kernel/iodclprogram.md)
- [IODCLTranslateListen](kernel/iodcltranslatelisten.md)
- [IODCLTranslateTalk](kernel/iodcltranslatetalk.md)
- [IODCLTranslator](kernel/iodcltranslator.md)
- [IOFWReceiveDCL](kernel/iofwreceivedcl.md)
- [IOFWSendDCL](kernel/iofwsenddcl.md)
- [IOFWSkipCycleDCL](kernel/iofwskipcycledcl.md)
- [IOFWDCL](kernel/iofwdcl.md)
- [DCLCallCommandProc](kernel/dclcallcommandproc.md)
- [DCLCallCommandProcPtr](kernel/dclcallcommandprocptr.md)
- [DCLCallProc](kernel/dclcallproc.md)
- [DCLCallProcDataType](kernel/dclcallprocdatatype.md)
- [DCLCallProcPtr](kernel/dclcallprocptr.md)
- [DCLCommand](kernel/dclcommand.md)
- [DCLCommandPtr](kernel/dclcommandptr.md)
- [DCLCompilerDataType](kernel/dclcompilerdatatype.md)
- [DCLJump](kernel/dcljump.md)
- [DCLJumpPtr](kernel/dcljumpptr.md)
- [DCLLabel](kernel/dcllabel.md)
- [DCLLabelPtr](kernel/dcllabelptr.md)
- [DCLNuDCLLeader](kernel/dclnudclleader.md)
- [DCLPtrTimeStamp](kernel/dclptrtimestamp.md)
- [DCLPtrTimeStampPtr](kernel/dclptrtimestampptr.md)
- [DCLSetTagSyncBits](kernel/dclsettagsyncbits.md)
- [DCLSetTagSyncBitsPtr](kernel/dclsettagsyncbitsptr.md)
- [DCLTimeStamp](kernel/dcltimestamp.md)
- [DCLTimeStampPtr](kernel/dcltimestampptr.md)
- [DCLTransferBuffer](kernel/dcltransferbuffer.md)
- [DCLTransferBufferPtr](kernel/dcltransferbufferptr.md)
- [DCLTransferPacket](kernel/dcltransferpacket.md)
- [DCLTransferPacketPtr](kernel/dcltransferpacketptr.md)
- [DCLUpdateDCLList](kernel/dclupdatedcllist.md)
- [DCLUpdateDCLListPtr](kernel/dclupdatedcllistptr.md)

### Serial Bus Protocol 2

- [IOFireWireSBP2Login](kernel/iofirewiresbp2login.md)
- [IOFireWireSBP2ManagementORB](kernel/iofirewiresbp2managementorb.md)
- [IOFireWireSBP2ORB](kernel/iofirewiresbp2orb.md)
- [FWSBP2FetchAgentWriteCallback](kernel/fwsbp2fetchagentwritecallback.md)
- [FWSBP2LoginCallback](kernel/fwsbp2logincallback.md)
- [FWSBP2LoginCompleteParams](kernel/fwsbp2logincompleteparams.md)
- [FWSBP2LoginCompleteParamsPtr](kernel/fwsbp2logincompleteparamsptr.md)
- [FWSBP2LoginResponse](kernel/fwsbp2loginresponse.md)
- [FWSBP2LoginResponsePtr](kernel/fwsbp2loginresponseptr.md)
- [FWSBP2LogoutCallback](kernel/fwsbp2logoutcallback.md)
- [FWSBP2LogoutCompleteParams](kernel/fwsbp2logoutcompleteparams.md)
- [FWSBP2LogoutCompleteParamsPtr](kernel/fwsbp2logoutcompleteparamsptr.md)
- [FWSBP2ManagementCallback](kernel/fwsbp2managementcallback.md)
- [FWSBP2NotifyCallback](kernel/fwsbp2notifycallback.md)
- [FWSBP2NotifyParams](kernel/fwsbp2notifyparams.md)
- [FWSBP2NotifyParamsPtr](kernel/fwsbp2notifyparamsptr.md)
- [FWSBP2ReconnectParams](kernel/fwsbp2reconnectparams.md)
- [FWSBP2ReconnectParamsPtr](kernel/fwsbp2reconnectparamsptr.md)
- [FWSBP2StatusBlock](kernel/fwsbp2statusblock.md)
- [FWSBP2StatusCallback](kernel/fwsbp2statuscallback.md)

### Address Spaces

- [IOFWAddressSpaceAux](kernel/iofwaddressspaceaux.md)
- [IOFWPhysicalAddressSpaceAux](kernel/iofwphysicaladdressspaceaux.md)
- [IOFWPseudoAddressSpaceAux](kernel/iofwpseudoaddressspaceaux.md)
- [IOFWSimpleContiguousPhysicalAddressSpace](kernel/iofwsimplecontiguousphysicaladdressspace.md)
- [IOFireWirePCRSpace](kernel/iofirewirepcrspace.md)
- [IOFWPseudoAddressSpace](kernel/iofwpseudoaddressspace.md)
- [IOFWSimplePhysicalAddressSpace](kernel/iofwsimplephysicaladdressspace.md)
- [IOFWPhysicalAddressSpace](kernel/iofwphysicaladdressspace.md)
- [IOFWAddressSpace](kernel/iofwaddressspace.md)

### Commands

- [IOFWCompareAndSwapCommand](kernel/iofwcompareandswapcommand.md)
- [IOFWAsyncCommand](kernel/iofwasynccommand.md)
- [IOFWAsyncPHYCommand](kernel/iofwasyncphycommand.md)
- [IOFWAsyncStreamCommand](kernel/iofwasyncstreamcommand.md)
- [IOFWBusCommand](kernel/iofwbuscommand.md)
- [IOFWCommand](kernel/iofwcommand.md)
- [IOFWDelayCommand](kernel/iofwdelaycommand.md)
- [IOFWReadCommand](kernel/iofwreadcommand.md)
- [IOFWReadQuadCommand](kernel/iofwreadquadcommand.md)
- [IOFWWriteCommand](kernel/iofwwritecommand.md)
- [IOFWWriteQuadCommand](kernel/iofwwritequadcommand.md)

### Utilities

- [SubtractFWCycleTimeFromFWCycleTime](kernel/1589090-subtractfwcycletimefromfwcycleti.md)
- [AddFWCycleTimeToFWCycleTime](kernel/1589089-addfwcycletimetofwcycletime.md)
- [IOFWGetAbsoluteTime](kernel/1589086-iofwgetabsolutetime.md)
- [FWComputeCRC16](kernel/1589088-fwcomputecrc16.md)
- [FWUpdateCRC16](kernel/1589087-fwupdatecrc16.md)

### Types

- [IOFWDuplicateGUIDRec](kernel/iofwduplicateguidrec.md)
- [IOFWARxReqIntCompleteHandler](kernel/iofwarxreqintcompletehandler.md)
- [IOFWAVCAsyncCommandState](kernel/iofwavcasynccommandstate.md)
- [IOFWAVCPlugTypes](kernel/iofwavcplugtypes.md)
- [IOFWAVCProtocolUserClientAsyncCommandCodes](kernel/iofwavcprotocoluserclientasynccommandcodes.md)
- [IOFWAVCProtocolUserClientCommandCodes](kernel/iofwavcprotocoluserclientcommandcodes.md)
- [IOFWAVCSubunitPlugMessages](kernel/iofwavcsubunitplugmessages.md)
- [IOFWAVCUserClientAsyncCommandCodes](kernel/iofwavcuserclientasynccommandcodes.md)
- [IOFWAVCUserClientCommandCodes](kernel/iofwavcuserclientcommandcodes.md)
- [IOFWCmdQ](kernel/iofwcmdq.md)
- [IOFWDCLNotificationType](kernel/iofwdclnotificationtype.md)
- [IOFWIsochPortOptions](kernel/iofwisochportoptions.md)
- [IOFWIsochResourceFlags](kernel/iofwisochresourceflags.md)
- [IOFWNodeScan](kernel/iofwnodescan.md)
- [IOFWPhysicalAccessMode](kernel/iofwphysicalaccessmode.md)
- [IOFWReadFlags](kernel/iofwreadflags.md)
- [IOFWRequestRefCon](kernel/iofwrequestrefcon.md)
- [IOFWSBP2UserClientCommandCodes](kernel/iofwsbp2userclientcommandcodes.md)
- [IOFWSecurityMode](kernel/iofwsecuritymode.md)
- [IOFWSpeed](kernel/iofwspeed.md)
- [IOFWWriteFlags](kernel/iofwwriteflags.md)
- [IOFireWireAVCAsynchronousCommandCallback](kernel/iofirewireavcasynchronouscommandcallback.md)
- [IOFireWireAVCSubunitPlugHandlerCallback](kernel/iofirewireavcsubunitplughandlercallback.md)
- [IOFireWireAVCTargetCommandHandlerCallback](kernel/iofirewireavctargetcommandhandlercallback.md)
- [IOFireWirePCRCallback](kernel/iofirewirepcrcallback.md)
- [IOFireWireSessionRef](kernel/iofirewiresessionref.md)
- [IOAVCCommandResponse](kernel/ioavccommandresponse.md)
- [IOAVCFrameFields](kernel/ioavcframefields.md)
- [IOAVCOpcodes](kernel/ioavcopcodes.md)
- [IOAVCUnitTypes](kernel/ioavcunittypes.md)
- [FWAddress](kernel/fwaddress.md)
- [FWAddressPtr](kernel/fwaddressptr.md)
- [FWAsyncPHYCallback](kernel/fwasyncphycallback.md)
- [FWAsyncStreamCallback](kernel/fwasyncstreamcallback.md)
- [FWAsyncStreamReceiveCallback](kernel/fwasyncstreamreceivecallback.md)
- [FWBusCallback](kernel/fwbuscallback.md)
- [FWClientCommandID](kernel/fwclientcommandid.md)
- [FWDeviceCallback](kernel/fwdevicecallback.md)
- [FWIsochChannelForceStopNotificationProc](kernel/fwisochchannelforcestopnotificationproc.md)
- [FWIsochChannelForceStopNotificationProcPtr](kernel/fwisochchannelforcestopnotificationprocptr.md)
- [FWMultiIsochReceiveListenerCallback](kernel/fwmultiisochreceivelistenercallback.md)
- [FWPHYPacketCallback](kernel/fwphypacketcallback.md)
- [FWReadCallback](kernel/fwreadcallback.md)
- [FWSegment](kernel/fwsegment.md)
- [FWWriteCallback](kernel/fwwritecallback.md)

### Global IDs

- [gFireWireModel_ID](kernel/gfirewiremodel_id.md)
- [gFireWireNodeID](kernel/gfirewirenodeid.md)
- [gFireWireProduct_Name](kernel/gfirewireproduct_name.md)
- [gFireWireROM](kernel/gfirewirerom.md)
- [gFireWireSelfIDs](kernel/gfirewireselfids.md)
- [gFireWireSpeed](kernel/gfirewirespeed.md)
- [gFireWireTDM](kernel/gfirewiretdm.md)
- [gFireWireUnit_SW_Version](kernel/gfirewireunit_sw_version.md)
- [gFireWireUnit_Spec_ID](kernel/gfirewireunit_spec_id.md)
- [gFireWireVendor_ID](kernel/gfirewirevendor_id.md)
- [gFireWireVendor_Name](kernel/gfirewirevendor_name.md)
- [gFireWire_GUID](kernel/gfirewire_guid.md)

### FireWire Types

- [UCInfo](kernel/ucinfo.md)
- [IOLocalConfigDirectory](kernel/iolocalconfigdirectory.md)
- [IOConfigDirectory](kernel/ioconfigdirectory.md)
- [IOFireWireDuplicateGUIDList](kernel/iofirewireduplicateguidlist.md)
- [IOFireWireIRMAllocation](kernel/iofirewireirmallocation.md)
- [IOFireWireMultiIsochReceiveListener](kernel/iofirewiremultiisochreceivelistener.md)
- [IOFWPHYPacketListener](kernel/iofwphypacketlistener.md)
- [IOFireWireMultiIsochReceivePacket](kernel/iofirewiremultiisochreceivepacket.md)
- [IOFireWirePowerManager](kernel/iofirewirepowermanager.md)
- [IOFWIsochChannel](kernel/iofwisochchannel.md)
- [IOFWIsochPort](kernel/iofwisochport.md)
- [IOFWLocalIsochPort](kernel/iofwlocalisochport.md)
- [IOFWSyncer](kernel/iofwsyncer.md)
- [IOFWUserObjectExporter](kernel/iofwuserobjectexporter.md)

## See Also

### Hardware Interconnects

- [ATA](kernel/hardware_families/ata.md)
- [Bluetooth](kernel/hardware_families/bluetooth.md)
- [PCI](kernel/hardware_families/pci.md)
- [USB](kernel/hardware_families/usb.md)
