#include <IOKit/firewire/IOFireWireFamilyCommon.h>
IOKit/firewire/IOFireWireFamilyCommon.h Kernel.framework $Log: not supported by cvs2svn $
Revision 1.78 2008/05/08 02:33:22 collin
more K64
Revision 1.77 2008/04/24 00:01:39 collin
more K640
Revision 1.76 2007/12/05 04:52:08 collin
integrate chex workaround
Revision 1.75 2007/08/31 20:29:06 collin
fixed 5437835
Revision 1.74 2007/04/24 21:40:23 arulchan
headerdoc changes
Revision 1.73 2007/04/24 21:28:24 arulchan
changes for headerdoc
Revision 1.72 2007/04/13 19:37:01 calderon
Integrated FireWireKPrintf implemented
Revision 1.71 2007/03/14 18:41:43 collin
** empty log message ***
Revision 1.70 2007/02/28 23:10:13 ayanowit
Another IRMAllocation fix.
Revision 1.69 2007/02/20 01:25:28 collin
** empty log message ***
Revision 1.68 2007/02/17 00:26:51 collin
** empty log message ***
Revision 1.67 2007/02/15 19:42:07 ayanowit
For 4369537, eliminated support for legacy DCL SendPacketWithHeader, since it didn't work anyway, and NuDCL does support it.
Revision 1.66 2007/02/15 01:23:39 arulchan
changes in AssignCycleMaster
Revision 1.65 2007/02/09 04:44:06 collin
** empty log message ***
Revision 1.64 2007/01/26 20:52:31 ayanowit
changes to user-space isoch stuff to support 64-bit apps.
Revision 1.63 2007/01/16 01:41:02 gecko1
4159728 Add improved async lock based check for bad IRMs
Revision 1.62 2007/01/15 23:29:05 arulchan
Fixed Skipped Packet Handler Notifications
Revision 1.61 2007/01/12 22:15:14 arulchan
Added flag kIOFWEnableBeingRoot
Revision 1.60 2007/01/10 22:14:44 calderon
Fixed 4046607 Propagate vendor/model from IIDC UnitDepedantInfoDir
Fixed some null termination shinanigans in getIndexValue(string)
Revision 1.59 2007/01/08 18:47:19 ayanowit
More 64-bit changes for isoch.
Revision 1.58 2006/07/07 20:18:25 calderon
4227201: SpeedMap and HopCount table reductions.
Revision 1.57 2006/04/03 21:29:48 collin
** empty log message ***
Revision 1.56 2006/02/09 00:21:51 niels
merge chardonnay branch to tot
Revision 1.55.4.1 2005/08/06 01:31:31 collin
** empty log message ***
Revision 1.55 2005/03/12 03:27:51 collin
** empty log message ***
Revision 1.54 2005/01/12 06:34:53 collin
** empty log message ***
Revision 1.53 2004/05/04 22:52:19 niels
** empty log message ***
Revision 1.52 2004/03/26 01:42:53 gecko1
Add code to disable any port directly connected to an iPod when we go to sleep.
Revision 1.51 2004/03/05 00:33:59 calderon
Fixed 3570909 - FireWire - iokit_fw_errs should be defined in hex
All decimal #define errors in header changed to hex
Revision 1.50 2003/11/07 21:01:18 niels
Revision 1.49 2003/10/21 01:16:41 collin
Revision 1.48 2003/10/17 00:25:24 collin
Revision 1.47 2003/10/15 02:19:45 collin
Revision 1.46 2003/07/22 10:49:47 niels
Revision 1.45 2003/07/21 06:52:59 niels
merge isoch to TOT
Revision 1.44.4.5 2003/07/21 06:44:44 niels
Revision 1.44.4.4 2003/07/18 00:17:42 niels
Revision 1.44.4.3 2003/07/14 22:08:53 niels
Revision 1.44.4.2 2003/07/09 21:24:01 niels
Revision 1.44.4.1 2003/07/01 20:54:07 niels
isoch merge
Revision 1.44 2003/03/17 01:05:22 collin
Revision 1.43 2003/03/07 01:26:06 collin
Revision 1.42 2003/02/19 22:33:17 niels
add skip cycle DCL
Revision 1.41 2003/02/18 00:14:01 collin
Revision 1.40 2003/02/17 21:47:52 collin
Revision 1.39 2002/12/05 19:08:37 niels
remove trailing commas from enums in IOFireWireFamilyCommon.h
Revision 1.38 2002/11/01 20:45:57 collin
add enhanced IRM with support for the BROADCAST_CHANNEL register
Revision 1.37 2002/10/01 02:40:27 collin
security mode support
Revision 1.36 2002/09/25 21:17:14 collin
fix headers again.
Revision 1.35 2002/09/25 00:27:23 niels
flip your world upside-down
Revision 1.34 2002/09/12 22:41:53 niels
add GetIRMNodeID() to user client
76 macros · 54 typedefs · 31 enums · 23 structs
#define BIT(x) ( 1 << (x) ) #define FW_BIT(x) ( 1 << (31 - (x) ) ) #define FWBitRange(start, end) (
((((UInt32 ) 0xFFFFFFFF) << (start)) >>
((start) + (31 - (end)))) <<
(31 - (end))
) #define FWBitRangePhase(start, end) (31 - (end)) #define BitRange(start, end) (
((((UInt32 ) 0xFFFFFFFF) << (31 - (end))) >>
((31 - (end)) + (start))) <<
(start)
) #define BitRangePhase(start, end) (start) Base of Response error codes
#define kIOFireWireResponseBase iokit_fw_err (0x10) e0008001 -- Can't find requested entry in ROM
#define kIOConfigNoEntry iokit_fw_err (0x1) e0008002 -- In pending queue waiting to execute
#define kIOFireWirePending iokit_fw_err (0x2) e0008003 -- Last DCL callback of program (internal use)
#define kIOFireWireLastDCLToken iokit_fw_err (0x3) e0008004
#define kIOFireWireConfigROMInvalid iokit_fw_err (0x4) e0008005
#define kIOFireWireAlreadyRegistered iokit_fw_err (0x5) e0008006
#define kIOFireWireMultipleTalkers iokit_fw_err (0x6) e0008008
#define kIOFireWireNoListenerOrTalker iokit_fw_err (0x8) e000800A
#define kIOFireWireChannelNotAvailable iokit_fw_err (0xA) e000800D
#define kIOFireWireLowCableVoltage iokit_fw_err (0xD) e000800E
#define kIOFireWireInsufficientPower iokit_fw_err (0xE) e0008101
#define kIOFireWireBogusDCLProgram iokit_fw_err (0x101) e0008102
#define kIOFireWireTalkingAndListening iokit_fw_err (0x102) e0008103
#define kIOFireWireHardwareSlept iokit_fw_err (0x103) e0008104 -- In the middle of completing
#define kIOFireWireCompleting iokit_fw_err (0x104) e0008105 -- Invalid Response Length
#define kIOFireWireInvalidResponseLength iokit_fw_err (0x105) e0008106 -- Isoch Bandwidth Not Available
#define kIOFireWireIsochBandwidthNotAvailable iokit_fw_err (0x106) =================================================================
Pseudo address space response codes
=================================================================
underlying type unsigned int
kFWResponseComplete 0 OK! kFWResponseConflictError 4 Resource conflict, may retry kFWResponseDataError 5 Data not available kFWResponseTypeError 6 Operation not supported kFWResponseAddressError 7 Address not valid in target device kFWResponseBusResetError 16 Pseudo response generated locally kFWResponsePending 17 Pseudo response, real response sent later.
Pseudo address space response codes
underlying type int
kFWAckTimeout -1 Pseudo ack generated locally kFWAckComplete 1 kFWAckPending 2 kFWAckBusyX 4 kFWAckBusyA 5 kFWAckBusyB 6 kFWAckDataError 13 kFWAckTypeError 14
underlying type unsigned int
kFWSpeed100MBit 0 kFWSpeed200MBit 1 kFWSpeed400MBit 2 kFWSpeed800MBit 3 kFWSpeedReserved 3 In all cases, 1394B Devices report this speed, kFWSpeedReserved1 7 dummy value to silence a warning kFWSpeedUnknownMask 128 If speed was reserved and we haven't probed it further kFWSpeedMaximum 2147483647 kFWSpeedInvalid 2147483648
typedef enum IOFWSpeed IOFWSpeed; size 8, align 4
UInt16 nodeID bus/node UInt16 addressHi Top 16 bits of node address. UInt32 addressLo Bottom 32 bits of node address
#define CSRBitRange(start, end) (
((((UInt32 ) 0xFFFFFFFF) << (start)) >>
((start) + (31 - (end)))) <<
(31 - (end))
) #define CSRBitRangePhase(start, end) (31 - end) underlying type unsigned int
kConfigImmediateKeyType 0 kConfigOffsetKeyType 1 kConfigLeafKeyType 2 kConfigDirectoryKeyType 3 kInvalidConfigROMEntryType 255
typedef enum IOConfigKeyType IOConfigKeyType; underlying type unsigned int
kConfigTextualDescriptorKey 1 kConfigBusDependentInfoKey 2 kConfigModuleVendorIdKey 3 kConfigModuleHwVersionKey 4 kConfigModuleSpecIdKey 5 kConfigModuleSwVersionKey 6 kConfigModuleDependentInfoKey 7 kConfigNodeVendorIdKey 8 kConfigNodeHwVersionKey 9 kConfigNodeSpecIdKey 10 kConfigNodeSwVersionKey 11 kConfigNodeCapabilitiesKey 12 kConfigNodeUniqueIdKey 13 kConfigNodeUnitsExtentKey 14 kConfigNodeMemoryExtentKey 15 kConfigNodeDependentInfoKey 16 kConfigUnitDirectoryKey 17 kConfigUnitSpecIdKey 18 kConfigUnitSwVersionKey 19 kConfigUnitDependentInfoKey 20 kConfigUnitLocationKey 21 kConfigUnitPollMaskKey 22 kConfigModelIdKey 23 kConfigGenerationKey 56 Apple-specific kConfigRootDirectoryKey 65535 Not a real key
underlying type unsigned int
kConfigSBP2LUN 20 kConfigSBP2Revision 33 kConfigSBP2MAO 84
Core CSR registers.
underlying type unsigned int
kCSRStateUnitDepend 4294901760 kCSRStateUnitDependPhase 16 kCSRStateBusDepend 65280 kCSRStateBusDependPhase 8 kCSRStateLost 128 kCSRStateDReq 64 kCSRStateELog 16 kCSRStateAtn 8 kCSRStateOff 4 kCSRStateState 3 kCSRStateStatePhase 0 kCSRStateStateRunning 0 kCSRStateStateInitializing 1 kCSRStateStateTesting 2 kCSRStateStateDead 3
underlying type unsigned int
kConfigBusInfoBlockLength 4278190080 kConfigBusInfoBlockLengthPhase 24 kConfigROMCRCLength 16711680 kConfigROMCRCLengthPhase 16 kConfigROMCRCValue 65535 kConfigROMCRCValuePhase 0 kConfigEntryKeyType 3221225472 kConfigEntryKeyTypePhase 30 kConfigEntryKeyValue 1056964608 kConfigEntryKeyValuePhase 24 kConfigEntryValue 16777215 kConfigEntryValuePhase 0 kConfigLeafDirLength 4294901760 kConfigLeafDirLengthPhase 16 kConfigLeafDirCRC 65535 kConfigLeafDirCRCPhase 0
Key types.
underlying type unsigned int
kCSRImmediateKeyType 0 kCSROffsetKeyType 1 kCSRLeafKeyType 2 kCSRDirectoryKeyType 3 kInvalidCSRROMEntryType 255
typedef enum IOCSRKeyType IOCSRKeyType; underlying type unsigned int
kCSRNodeID 4294901760 kCSRNodeIDPhase 16 kCSRInitialMemorySpaceBaseAddressHi 0 kCSRInitialMemorySpaceBaseAddressLo 0 kCSRPrivateSpaceBaseAddressHi 65535 kCSRPrivateSpaceBaseAddressLo 3758096384 kCSRRegisterSpaceBaseAddressHi 65535 kCSRRegisterSpaceBaseAddressLo 4026531840 kCSRCoreRegistersBaseAddress 4026531840 kCSRStateClearAddress 4026531840 kCSRStateSetAddress 4026531844 kCSRNodeIDsAddress 4026531848 kCSRResetStartAddress 4026531852 kCSRIndirectAddressAddress 4026531856 kCSRIndirectDataAddress 4026531860 kCSRSplitTimeoutHiAddress 4026531864 kCSRSplitTimeoutLoAddress 4026531868 kCSRArgumentHiAddress 4026531872 kCSRArgumentLoAddress 4026531876 kCSRTestStartAddress 4026531880 kCSRTestStatusAddress 4026531884 kCSRUnitsBaseHiAddress 4026531888 kCSRUnitsBaseLoAddress 4026531892 kCSRUnitsBoundHiAddress 4026531896 kCSRUnitsBoundLoAddress 4026531900 kCSRMemoryBaseHiAddress 4026531904 kCSRMemoryBaseLoAddress 4026531908 kCSRMemoryBoundHiAddress 4026531912 kCSRMemoryBoundLoAddress 4026531916 kCSRInterruptTargetAddress 4026531920 kCSRInterruptMaskAddress 4026531924 kCSRClockValueHiAddress 4026531928 kCSRClockValueMidAddress 4026531932 kCSRClockTickPeriodMidAddress 4026531936 kCSRClockTickPeriodLoAddress 4026531940 kCSRClockStrobeArrivedHiAddress 4026531944 kCSRClockStrobeArrivedMidAddress 4026531948 kCSRClockInfo0Address 4026531952 kCSRClockInfo1Address 4026531956 kCSRClockInfo2Address 4026531960 kCSRClockInfo3Address 4026531964 kCSRMessageRequestAddress 4026531968 kCSRMessageResponseAddress 4026532032 kCSRErrorLogBufferAddress 4026532224 kCSRBusDependentRegistersBaseAddress 4026532352 kCSRBusyTimeout 4026532368 kCSRBusManagerID 4026532380 kCSRBandwidthAvailable 4026532384 kCSRChannelsAvailable31_0 4026532388 kCSRChannelsAvailable63_32 4026532392 kCSRBroadcastChannel 4026532404 kConfigROMBaseAddress 4026532864 4026532864 kConfigBIBBusNameAddress 4026532868 kPCRBaseAddress 4026534144 kFCPCommandAddress 4026534656 kFCPResponseAddress 4026535168
from figure 10-7 of 1394a
#define kBroadcastChannelInitialValues 0x8000001f #define kBroadcastChannelValidMask 0x40000000 typedef UInt64 CSRNodeUniqueID underlying type unsigned int
kFWCSRStateGone 32768 kFWCSRStateLinkOff 512 kFWCSRStateCMstr 256
underlying type long
kFWAddressBusID 4290772992 kFWAddressBusIDPhase 22 kFWAddressNodeID 4128768 kFWAddressNodeIDPhase 16 kFWLocalBusID 1023 kFWBroadcastNodeID 63 kFWBadNodeID 65535 kFWLocalBusAddress -4194304 kFWBroadcastAddress 4128768
underlying type long
4026532864 kFWBIBBusNameAddress 4026532868 kFWBIBNodeCapabilitiesAddress 4026532872 kFWBIBNodeUniqueIDHiAddress 4026532876 kFWBIBNodeUniqueIDLoAddress 4026532880 kFWBIBBusName 825440564 '1394' kFWBIBIrmc -2147483648 kFWBIBCmc 1073741824 kFWBIBIsc 536870912 kFWBIBBmc 268435456 kFWBIBCycClkAcc 16711680 kFWBIBCycClkAccPhase 16 kFWBIBMaxRec 61440 kFWBIBMaxRecPhase 12 kFWBIBMaxROM 3072 kFWBIBMaxROMPhase 10 kFWBIBGeneration 240 kFWBIBGenerationPhase 4 kFWBIBLinkSpeed 7 kFWBIBLinkSpeedPhase 0
underlying type unsigned int
kConfigUnitSpecAppleA27 2599 kConfigUnitSpec1394TA1 41005 kConfigUnitSWVersMacintosh10 10 kConfigUnitSWVersIIDC100 256 kConfigUnitSWVersIIDC101 257 kConfigUnitSWVersIIDC102 258
underlying type unsigned int
kFWIsochDataLength 4294901760 kFWIsochDataLengthPhase 16 kFWIsochTag 49152 kFWIsochTagPhase 14 kFWIsochChanNum 16128 kFWIsochChanNumPhase 8 kFWIsochTCode 240 kFWIsochTCodePhase 4 kFWIsochSy 15 kFWIsochSyPhase 0
#define CHAN_BIT(x) (((UInt64 )1) << (63 - (x)) underlying type unsigned int
kFWNeverMultiMode 0 kFWAllowMultiMode 1 kFWSuggestMultiMode 2 kFWAlwaysMultiMode 3 kFWDefaultIsochResourceFlags 0
typedef enum IOFWIsochResourceFlags IOFWIsochResourceFlags; underlying type unsigned int
kFWIsochChannelDefaultFlags 0 kFWIsochChannelDoNotResumeOnWake 2
underlying type unsigned int
kFWIsochPortDefaultOptions 0 kFWIsochPortUseSeparateKernelThread 2 kFWIsochEnableRobustness 4 kFWIsochBigEndianUpdates 8 private kFWIsochRequireLastContext 16 private
typedef enum IOFWIsochPortOptions IOFWIsochPortOptions; underlying type unsigned int
kFWDCLImmediateEvent 0 kFWDCLCycleEvent 1 kFWDCLSyBitsEvent 2
underlying type unsigned int
kFWDCLInvalidNotification 0 kFWDCLUpdateNotification 1 kFWDCLModifyNotification 2 kFWNuDCLModifyNotification 3 kFWNuDCLModifyJumpNotification 4 kFWNuDCLUpdateNotification 5
typedef enum IOFWDCLNotificationType IOFWDCLNotificationType; underlying type unsigned int
kFWDCLOpDynamicFlag 65536 kFWDCLOpVendorDefinedFlag 131072 kFWDCLOpFlagMask 4294901760 kFWDCLOpFlagPhase 16
underlying type unsigned int
kDCLInvalidOp 0 kDCLSendPacketStartOp 1 kDCLSendPacketOp 3 kDCLSendPacketWithHeaderStartOp = 2, // Deprecated legacy DCL opcode! Use NuDCL instead! kDCLSendBufferOp 4 obsolete - do not use kDCLReceivePacketStartOp 5 kDCLReceivePacketOp 6 kDCLReceiveBufferOp 7 obsolete - do not use kDCLCallProcOp 8 kDCLLabelOp 9 kDCLJumpOp 10 kDCLSetTagSyncBitsOp 11 kDCLUpdateDCLListOp 12 kDCLTimeStampOp 13 kDCLPtrTimeStampOp 14 kDCLSkipCycleOp 15 kDCLNuDCLLeaderOp 20 compilerData field contains NuDCLRef to start of NuDCL
typedef void* DCLCallProcDataType typedef void* DCLCompilerDataType typedef void (DCLCallCommandProc)(DCLCommand * command) typedef struct DCLNuDCLLeader DCLNuDCLLeader; size 32, align 1 · packed
mach_vm_address_t pClientDCLStruct A pointer to the client's DCL struct mach_vm_address_t pNextDCLCommand Next DCL command. uint64_t compilerData Data for use by DCL compiler. UInt32 opcode DCL opcode. UInt32 [1]operands DCL operands (size varies)
size 40, align 1 · packed
size 48, align 1 · packed
size 44, align 1 · packed
size 28, align 1 · packed
size 36, align 1 · packed
size 40, align 1 · packed
size 32, align 1 · packed
size 36, align 1 · packed
size 36, align 1 · packed
typedef struct UserExportDCLNuDCLLeader UserExportDCLNuDCLLeader; typedef struct __NuDCL * NuDCLRef typedef void (*NuDCLCallback)( void* refcon, NuDCLRef dcl ) underlying type unsigned int
kNuDCLDynamic 2 kNuDCLUpdateBeforeCallback 4
typedef enum NuDCLFlags NuDCLFlags; typedef void* FWClientCommandID typedef struct IOFireWireSessionRefOpaqueStuct* IOFireWireSessionRef underlying type unsigned int
kFWBusManagerArbitrationTimeoutDuration 625 durationMillisecond
underlying type unsigned int
kFWMaxBusses 1023 kFWMaxNodesPerBus 63 kFWMaxNodeHops 16
@enum NodeFlags
@abstract Flags that specify characteristics of the FireWire device node.
@constant kIOFWDisablePhysicalAccess Disable physical memory access
@constant kIOFWDisableAllPhysicalAccess Disable all physical memory access
@constant kIOFWEnableRetryOnAckD Enable retry on Ack D
@constant kIOFWLimitAsyncPacketSize Limit async packet size
@constant kIOFWDisablePhyOnSleep Disable Phy, when machine is in Sleep mode
@constant kIOFWMustBeRoot Attempt to make this device root, There is no guarentee Mac OS will succeed in making the device
root.
@constant kIOFWMustNotBeRoot Attempt to prevent this device from being root, There is no guarentee Mac OS will succeed in preventing the device
from being root.
@constant kIOFWMustHaveGap63 Attempt to ensure the gap count is 63, when this device is on the bus. Gap 63 reduces bus performance significantly,
so this flag should be used only when absolutely necessary. There is no guarentee Mac OS will succeed in forcing
the gap count to 63.
underlying type unsigned int
kIOFWDisablePhysicalAccess 1 kIOFWDisableAllPhysicalAccess 2 kIOFWEnableRetryOnAckD 4 kIOFWLimitAsyncPacketSize 8 kIOFWDisablePhyOnSleep 16 kIOFWMustBeRoot 32 kIOFWMustNotBeRoot 64 kIOFWMustHaveGap63 128
underlying type unsigned int
kIOFWWriteFlagsNone 0 kIOFWWriteFlagsDeferredNotify 1 kIOFWWriteFastRetryOnBusy 2 kIOFWWriteBlockRequest 4 force a block request
underlying type unsigned int
kIOFWReadFlagsNone 0 kIOFWReadBlockRequest 4 force a block request kIOFWReadPingTime 8 ping time
underlying type unsigned int
kIOFWSecurityModeNormal 0 kIOFWSecurityModeSecure 1 kIOFWSecurityModeSecurePermanent 2
underlying type unsigned int
kIOFWPhysicalAccessEnabled 0 kIOFWPhysicalAccessDisabled 1 kIOFWPhysicalAccessDisabledForGeneration 2
underlying type unsigned int
kIOFWSpecID_AAPL 2599 kIOFWSWVers_KPF 64
Generated 2026-09-08 from the headers of one specific machine (macOS 26.4.1, SDK 26.4, arm64) — not official documentation. About & caveats