#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

macroFW_OLD_DCL_DEFS

#define FW_OLD_DCL_DEFS 

macroFW_OLD_BIT_DEFS

#define FW_OLD_BIT_DEFS 

macroBIT

#define BIT(x) ( 1 << (x) )

macroFW_BIT

#define FW_BIT(x) ( 1 << (31 - (x) ) )

macroFWBitRange

#define FWBitRange(start, end) (
	((((UInt32) 0xFFFFFFFF) << (start)) >>
	 ((start) + (31 - (end)))) <<
	(31 - (end))
)

macroFWBitRangePhase

#define FWBitRangePhase(start, end) (31 - (end))

macroBitRange

#define BitRange(start, end) (
	((((UInt32) 0xFFFFFFFF) << (31 - (end))) >>
	 ((31 - (end)) + (start))) <<
	(start)
)

macroBitRangePhase

#define BitRangePhase(start, end) (start)

macroiokit_fw_err

#define iokit_fw_err(return) (sys_iokit|sub_iokit_firewire|return)

macrokIOFireWireResponseBase

Base of Response error codes
#define kIOFireWireResponseBase iokit_fw_err(0x10)

macrokIOFireWireBusReset

e0008020 -- Bus reset during command execution (current bus generation does not match that specified in command.)
#define kIOFireWireBusReset (kIOFireWireResponseBase+kFWResponseBusResetError)

macrokIOConfigNoEntry

e0008001 -- Can't find requested entry in ROM
#define kIOConfigNoEntry iokit_fw_err(0x1)

macrokIOFireWirePending

e0008002 -- In pending queue waiting to execute
#define kIOFireWirePending iokit_fw_err(0x2)

macrokIOFireWireLastDCLToken

e0008003 -- Last DCL callback of program (internal use)
#define kIOFireWireLastDCLToken iokit_fw_err(0x3)

macrokIOFireWireConfigROMInvalid

e0008004
#define kIOFireWireConfigROMInvalid iokit_fw_err(0x4)

macrokIOFireWireAlreadyRegistered

e0008005
#define kIOFireWireAlreadyRegistered iokit_fw_err(0x5)

macrokIOFireWireMultipleTalkers

e0008006
#define kIOFireWireMultipleTalkers iokit_fw_err(0x6)

macrokIOFireWireChannelActive

e0008007
#define kIOFireWireChannelActive iokit_fw_err(0x7)

macrokIOFireWireNoListenerOrTalker

e0008008
#define kIOFireWireNoListenerOrTalker iokit_fw_err(0x8)

macrokIOFireWireNoChannels

e0008009
#define kIOFireWireNoChannels iokit_fw_err(0x9)

macrokIOFireWireChannelNotAvailable

e000800A
#define kIOFireWireChannelNotAvailable iokit_fw_err(0xA)

macrokIOFireWireSeparateBus

e000800B
#define kIOFireWireSeparateBus iokit_fw_err(0xB)

macrokIOFireWireBadSelfIDs

e000800C
#define kIOFireWireBadSelfIDs iokit_fw_err(0xC)

macrokIOFireWireLowCableVoltage

e000800D
#define kIOFireWireLowCableVoltage iokit_fw_err(0xD)

macrokIOFireWireInsufficientPower

e000800E
#define kIOFireWireInsufficientPower iokit_fw_err(0xE)

macrokIOFireWireOutOfTLabels

e000800f
#define kIOFireWireOutOfTLabels iokit_fw_err(0xF)

macrokIOFireWireBogusDCLProgram

e0008101
#define kIOFireWireBogusDCLProgram iokit_fw_err(0x101)

macrokIOFireWireTalkingAndListening

e0008102
#define kIOFireWireTalkingAndListening iokit_fw_err(0x102)

macrokIOFireWireHardwareSlept

e0008103
#define kIOFireWireHardwareSlept iokit_fw_err(0x103)

macrokIOFireWireCompleting

e0008104 -- In the middle of completing
#define kIOFireWireCompleting iokit_fw_err(0x104)

macrokIOFireWireInvalidResponseLength

e0008105 -- Invalid Response Length
#define kIOFireWireInvalidResponseLength iokit_fw_err(0x105)

macrokIOFireWireIsochBandwidthNotAvailable

e0008106 -- Isoch Bandwidth Not Available
#define kIOFireWireIsochBandwidthNotAvailable iokit_fw_err(0x106)

macrokIOFWMessageServiceIsRequestingClose

e00087d0
#define kIOFWMessageServiceIsRequestingClose (UInt32)iokit_fw_err(0x7D0)

macrokIOFWMessagePowerStateChanged

#define kIOFWMessagePowerStateChanged (UInt32)iokit_fw_err(0x7D1)

macrokIOFWMessageTopologyChanged

#define kIOFWMessageTopologyChanged (UInt32)iokit_fw_err(0x7D2)

enum(anonymous)

================================================================= Pseudo address space response codes =================================================================
underlying type unsigned int
kFWResponseComplete0OK!
kFWResponseConflictError4Resource conflict, may retry
kFWResponseDataError5Data not available
kFWResponseTypeError6Operation not supported
kFWResponseAddressError7Address not valid in target device
kFWResponseBusResetError16Pseudo response generated locally
kFWResponsePending17Pseudo response, real response sent later.

enum(anonymous)

Pseudo address space response codes
underlying type int
kFWAckTimeout-1Pseudo ack generated locally
kFWAckComplete1
kFWAckPending2
kFWAckBusyX4
kFWAckBusyA5
kFWAckBusyB6
kFWAckDataError13
kFWAckTypeError14

enumIOFWSpeed

underlying type unsigned int
kFWSpeed100MBit0
kFWSpeed200MBit1
kFWSpeed400MBit2
kFWSpeed800MBit3
kFWSpeedReserved3In all cases, 1394B Devices report this speed,
kFWSpeedReserved17dummy value to silence a warning
kFWSpeedUnknownMask128If speed was reserved and we haven't probed it further
kFWSpeedMaximum2147483647
kFWSpeedInvalid2147483648

typedefIOFWSpeed

typedef enum IOFWSpeed IOFWSpeed;

structFWAddressStruct

size 8, align 4
UInt16nodeIDbus/node
UInt16addressHiTop 16 bits of node address.
UInt32addressLoBottom 32 bits of node address

typedefFWAddress

typedef struct FWAddressStruct FWAddress;

typedefFWAddressPtr

typedef struct FWAddressStruct * FWAddressPtr;

macroCSR_BIT

#define CSR_BIT(x) FW_BIT(x)

macroCSRBitRange

#define CSRBitRange(start, end) (
	((((UInt32) 0xFFFFFFFF) << (start)) >>
	((start) + (31 - (end)))) <<
	(31 - (end))
)

macroCSRBitRangePhase

#define CSRBitRangePhase(start, end) (31 - end)

enumIOConfigKeyType

underlying type unsigned int
kConfigImmediateKeyType0
kConfigOffsetKeyType1
kConfigLeafKeyType2
kConfigDirectoryKeyType3
kInvalidConfigROMEntryType255

typedefIOConfigKeyType

typedef enum IOConfigKeyType IOConfigKeyType;

enum(anonymous)

underlying type unsigned int
kConfigTextualDescriptorKey1
kConfigBusDependentInfoKey2
kConfigModuleVendorIdKey3
kConfigModuleHwVersionKey4
kConfigModuleSpecIdKey5
kConfigModuleSwVersionKey6
kConfigModuleDependentInfoKey7
kConfigNodeVendorIdKey8
kConfigNodeHwVersionKey9
kConfigNodeSpecIdKey10
kConfigNodeSwVersionKey11
kConfigNodeCapabilitiesKey12
kConfigNodeUniqueIdKey13
kConfigNodeUnitsExtentKey14
kConfigNodeMemoryExtentKey15
kConfigNodeDependentInfoKey16
kConfigUnitDirectoryKey17
kConfigUnitSpecIdKey18
kConfigUnitSwVersionKey19
kConfigUnitDependentInfoKey20
kConfigUnitLocationKey21
kConfigUnitPollMaskKey22
kConfigModelIdKey23
kConfigGenerationKey56Apple-specific
kConfigRootDirectoryKey65535Not a real key

enum(anonymous)

underlying type unsigned int
kConfigSBP2LUN20
kConfigSBP2Revision33
kConfigSBP2MAO84

enum(anonymous)

Core CSR registers.
underlying type unsigned int
kCSRStateUnitDepend4294901760
kCSRStateUnitDependPhase16
kCSRStateBusDepend65280
kCSRStateBusDependPhase8
kCSRStateLost128
kCSRStateDReq64
kCSRStateELog16
kCSRStateAtn8
kCSRStateOff4
kCSRStateState3
kCSRStateStatePhase0
kCSRStateStateRunning0
kCSRStateStateInitializing1
kCSRStateStateTesting2
kCSRStateStateDead3

enum(anonymous)

underlying type unsigned int
kConfigBusInfoBlockLength4278190080
kConfigBusInfoBlockLengthPhase24
kConfigROMCRCLength16711680
kConfigROMCRCLengthPhase16
kConfigROMCRCValue65535
kConfigROMCRCValuePhase0
kConfigEntryKeyType3221225472
kConfigEntryKeyTypePhase30
kConfigEntryKeyValue1056964608
kConfigEntryKeyValuePhase24
kConfigEntryValue16777215
kConfigEntryValuePhase0
kConfigLeafDirLength4294901760
kConfigLeafDirLengthPhase16
kConfigLeafDirCRC65535
kConfigLeafDirCRCPhase0

enumIOCSRKeyType

Key types.
underlying type unsigned int
kCSRImmediateKeyType0
kCSROffsetKeyType1
kCSRLeafKeyType2
kCSRDirectoryKeyType3
kInvalidCSRROMEntryType255

typedefIOCSRKeyType

typedef enum IOCSRKeyType IOCSRKeyType;

enum(anonymous)

underlying type unsigned int
kCSRNodeID4294901760
kCSRNodeIDPhase16
kCSRInitialMemorySpaceBaseAddressHi0
kCSRInitialMemorySpaceBaseAddressLo0
kCSRPrivateSpaceBaseAddressHi65535
kCSRPrivateSpaceBaseAddressLo3758096384
kCSRRegisterSpaceBaseAddressHi65535
kCSRRegisterSpaceBaseAddressLo4026531840
kCSRCoreRegistersBaseAddress4026531840
kCSRStateClearAddress4026531840
kCSRStateSetAddress4026531844
kCSRNodeIDsAddress4026531848
kCSRResetStartAddress4026531852
kCSRIndirectAddressAddress4026531856
kCSRIndirectDataAddress4026531860
kCSRSplitTimeoutHiAddress4026531864
kCSRSplitTimeoutLoAddress4026531868
kCSRArgumentHiAddress4026531872
kCSRArgumentLoAddress4026531876
kCSRTestStartAddress4026531880
kCSRTestStatusAddress4026531884
kCSRUnitsBaseHiAddress4026531888
kCSRUnitsBaseLoAddress4026531892
kCSRUnitsBoundHiAddress4026531896
kCSRUnitsBoundLoAddress4026531900
kCSRMemoryBaseHiAddress4026531904
kCSRMemoryBaseLoAddress4026531908
kCSRMemoryBoundHiAddress4026531912
kCSRMemoryBoundLoAddress4026531916
kCSRInterruptTargetAddress4026531920
kCSRInterruptMaskAddress4026531924
kCSRClockValueHiAddress4026531928
kCSRClockValueMidAddress4026531932
kCSRClockTickPeriodMidAddress4026531936
kCSRClockTickPeriodLoAddress4026531940
kCSRClockStrobeArrivedHiAddress4026531944
kCSRClockStrobeArrivedMidAddress4026531948
kCSRClockInfo0Address4026531952
kCSRClockInfo1Address4026531956
kCSRClockInfo2Address4026531960
kCSRClockInfo3Address4026531964
kCSRMessageRequestAddress4026531968
kCSRMessageResponseAddress4026532032
kCSRErrorLogBufferAddress4026532224
kCSRBusDependentRegistersBaseAddress4026532352
kCSRBusyTimeout4026532368
kCSRBusManagerID4026532380
kCSRBandwidthAvailable4026532384
kCSRChannelsAvailable31_04026532388
kCSRChannelsAvailable63_324026532392
kCSRBroadcastChannel4026532404
kConfigROMBaseAddress4026532864
kConfigBIBHeaderAddress4026532864
kConfigBIBBusNameAddress4026532868
kPCRBaseAddress4026534144
kFCPCommandAddress4026534656
kFCPResponseAddress4026535168

macrokBroadcastChannelInitialValues

from figure 10-7 of 1394a
#define kBroadcastChannelInitialValues 0x8000001f

macrokBroadcastChannelValidMask

#define kBroadcastChannelValidMask 0x40000000

typedefCSRNodeUniqueID

typedef UInt64 CSRNodeUniqueID

enum(anonymous)

underlying type unsigned int
kFWCSRStateGone32768
kFWCSRStateLinkOff512
kFWCSRStateCMstr256

enum(anonymous)

underlying type long
kFWAddressBusID4290772992
kFWAddressBusIDPhase22
kFWAddressNodeID4128768
kFWAddressNodeIDPhase16
kFWLocalBusID1023
kFWBroadcastNodeID63
kFWBadNodeID65535
kFWLocalBusAddress-4194304
kFWBroadcastAddress4128768

macroFWNodeBaseAddress

#define FWNodeBaseAddress(busID, nodeID) (
	(busID << kFWAddressBusIDPhase) |
	(nodeID << kFWAddressNodeIDPhase)
)

macroFWNodeRegisterSpaceBaseAddressHi

#define FWNodeRegisterSpaceBaseAddressHi(busID, nodeID) (
	FWNodeBaseAddress (busID, nodeID) |
	kCSRRegisterSpaceBaseAddressHi
)

enum(anonymous)

underlying type long
kFWBIBHeaderAddress4026532864
kFWBIBBusNameAddress4026532868
kFWBIBNodeCapabilitiesAddress4026532872
kFWBIBNodeUniqueIDHiAddress4026532876
kFWBIBNodeUniqueIDLoAddress4026532880
kFWBIBBusName825440564'1394'
kFWBIBIrmc-2147483648
kFWBIBCmc1073741824
kFWBIBIsc536870912
kFWBIBBmc268435456
kFWBIBCycClkAcc16711680
kFWBIBCycClkAccPhase16
kFWBIBMaxRec61440
kFWBIBMaxRecPhase12
kFWBIBMaxROM3072
kFWBIBMaxROMPhase10
kFWBIBGeneration240
kFWBIBGenerationPhase4
kFWBIBLinkSpeed7
kFWBIBLinkSpeedPhase0

enum(anonymous)

underlying type unsigned int
kConfigUnitSpecAppleA272599
kConfigUnitSpec1394TA141005
kConfigUnitSWVersMacintosh1010
kConfigUnitSWVersIIDC100256
kConfigUnitSWVersIIDC101257
kConfigUnitSWVersIIDC102258

enum(anonymous)

underlying type unsigned int
kFWIsochDataLength4294901760
kFWIsochDataLengthPhase16
kFWIsochTag49152
kFWIsochTagPhase14
kFWIsochChanNum16128
kFWIsochChanNumPhase8
kFWIsochTCode240
kFWIsochTCodePhase4
kFWIsochSy15
kFWIsochSyPhase0

macroCHAN_BIT

#define CHAN_BIT(x) (((UInt64)1) << (63 - (x))

macroCHAN_MASK

#define CHAN_MASK(x) (~CHAN_BIT(X))

enumIOFWIsochResourceFlags

underlying type unsigned int
kFWNeverMultiMode0
kFWAllowMultiMode1
kFWSuggestMultiMode2
kFWAlwaysMultiMode3
kFWDefaultIsochResourceFlags0

typedefIOFWIsochResourceFlags

typedef enum IOFWIsochResourceFlags IOFWIsochResourceFlags;

enum(anonymous)

underlying type unsigned int
kFWIsochChannelDefaultFlags0
kFWIsochChannelDoNotResumeOnWake2

enumIOFWIsochPortOptions

underlying type unsigned int
kFWIsochPortDefaultOptions0
kFWIsochPortUseSeparateKernelThread2
kFWIsochEnableRobustness4
kFWIsochBigEndianUpdates8private
kFWIsochRequireLastContext16private

typedefIOFWIsochPortOptions

typedef enum IOFWIsochPortOptions IOFWIsochPortOptions;

enum(anonymous)

underlying type unsigned int
kFWDCLImmediateEvent0
kFWDCLCycleEvent1
kFWDCLSyBitsEvent2

enumIOFWDCLNotificationType

underlying type unsigned int
kFWDCLInvalidNotification0
kFWDCLUpdateNotification1
kFWDCLModifyNotification2
kFWNuDCLModifyNotification3
kFWNuDCLModifyJumpNotification4
kFWNuDCLUpdateNotification5

typedefIOFWDCLNotificationType

typedef enum IOFWDCLNotificationType IOFWDCLNotificationType;

enum(anonymous)

underlying type unsigned int
kFWDCLOpDynamicFlag65536
kFWDCLOpVendorDefinedFlag131072
kFWDCLOpFlagMask4294901760
kFWDCLOpFlagPhase16

enum(anonymous)

underlying type unsigned int
kDCLInvalidOp0
kDCLSendPacketStartOp1
kDCLSendPacketOp3kDCLSendPacketWithHeaderStartOp = 2, // Deprecated legacy DCL opcode! Use NuDCL instead!
kDCLSendBufferOp4obsolete - do not use
kDCLReceivePacketStartOp5
kDCLReceivePacketOp6
kDCLReceiveBufferOp7obsolete - do not use
kDCLCallProcOp8
kDCLLabelOp9
kDCLJumpOp10
kDCLSetTagSyncBitsOp11
kDCLUpdateDCLListOp12
kDCLTimeStampOp13
kDCLPtrTimeStampOp14
kDCLSkipCycleOp15
kDCLNuDCLLeaderOp20compilerData field contains NuDCLRef to start of NuDCL

typedefDCLCallProcDataType

typedef void* DCLCallProcDataType

typedefDCLCompilerDataType

typedef void* DCLCompilerDataType

structDCLCommandStruct

size 24, align 8
struct DCLCommandStruct *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt32[1]operandsDCL operands (size varies)

typedefDCLCommand

typedef struct DCLCommandStruct DCLCommand;

typedefDCLCallCommandProc

typedef void (DCLCallCommandProc)(DCLCommand * command)

structDCLTransferPacketStruct

size 40, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
void *bufferPacket buffer.
UInt32sizeBuffer size.

typedefDCLTransferPacket

typedef struct DCLTransferPacketStruct DCLTransferPacket;

structDCLTransferBufferStruct

size 48, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
void *bufferBuffer.
UInt32sizeBuffer size.
UInt16packetSizeSize of packets to send.
UInt16reserved
UInt32bufferOffsetCurrent offset into buffer.

typedefDCLTransferBuffer

typedef struct DCLTransferBufferStruct DCLTransferBuffer;

structDCLCallProcStruct

size 40, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
DCLCallCommandProc *procProcedure to call.
DCLCallProcDataTypeprocDataData for use by called procedure.

typedefDCLCallProc

typedef struct DCLCallProcStruct DCLCallProc;

structDCLLabelStruct

size 24, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.

typedefDCLLabel

typedef struct DCLLabelStruct DCLLabel;

structDCLJumpStruct

size 32, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
DCLLabel *pJumpDCLLabelDCL label to jump to.

typedefDCLJump

typedef struct DCLJumpStruct DCLJump;

structDCLSetTagSyncBitsStruct

size 24, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt16tagBitsTag bits for following packets.
UInt16syncBitsSync bits for following packets.

typedefDCLSetTagSyncBits

typedef struct DCLSetTagSyncBitsStruct DCLSetTagSyncBits;

structDCLUpdateDCLListStruct

size 40, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
DCLCommand **dclCommandListList of DCL commands to update.
UInt32numDCLCommandsNumber of DCL commands in list.

typedefDCLUpdateDCLList

typedef struct DCLUpdateDCLListStruct DCLUpdateDCLList;

structDCLTimeStampStruct

size 24, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt32timeStampTime stamp.

typedefDCLTimeStamp

typedef struct DCLTimeStampStruct DCLTimeStamp;

structDCLPtrTimeStampStruct

size 32, align 8
DCLCommand *pNextDCLCommandNext DCL command.
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt32 *timeStampPtrWhere to store the time stamp.

typedefDCLPtrTimeStamp

typedef struct DCLPtrTimeStampStruct DCLPtrTimeStamp;

structDCLNuDCLLeader

size 32, align 8
DCLCommand *pNextDCLCommandunused - always NULL
DCLCompilerDataTypecompilerDataData for use by DCL compiler.
UInt32opcodemust be kDCLNuDCLLeaderOp
void *programNuDCL program here...

typedefDCLNuDCLLeader

typedef struct DCLNuDCLLeader DCLNuDCLLeader;

typedefDCLCommandPtr

typedef DCLCommand* DCLCommandPtr

typedefDCLTransferBufferPtr

typedef DCLTransferBuffer* DCLTransferBufferPtr

typedefDCLTransferPacketPtr

typedef DCLTransferPacket* DCLTransferPacketPtr

typedefDCLCallProcPtr

typedef DCLCallProc* DCLCallProcPtr

typedefDCLLabelPtr

typedef DCLLabel* DCLLabelPtr

typedefDCLJumpPtr

typedef DCLJump* DCLJumpPtr

typedefDCLSetTagSyncBitsPtr

typedef DCLSetTagSyncBits* DCLSetTagSyncBitsPtr

typedefDCLUpdateDCLListPtr

typedef DCLUpdateDCLList* DCLUpdateDCLListPtr

typedefDCLTimeStampPtr

typedef DCLTimeStamp* DCLTimeStampPtr

typedefDCLPtrTimeStampPtr

typedef DCLPtrTimeStamp* DCLPtrTimeStampPtr

typedefDCLCallCommandProcPtr

typedef DCLCallCommandProc* DCLCallCommandProcPtr

structUserExportDCLCommandStruct

size 32, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt32[1]operandsDCL operands (size varies)

typedefUserExportDCLCommand

typedef struct UserExportDCLCommandStruct UserExportDCLCommand;

typedefUserExportDCLCallCommandProc

typedef void (UserExportDCLCallCommandProc)(UserExportDCLCommand * command)

structUserExportDCLTransferPacketStruct

size 40, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_tbufferPacket buffer.
UInt32sizeBuffer size.

typedefUserExportDCLTransferPacket

typedef struct UserExportDCLTransferPacketStruct UserExportDCLTransferPacket;

structUserExportDCLTransferBufferStruct

size 48, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_tbufferBuffer.
UInt32sizeBuffer size.
UInt16packetSizeSize of packets to send.
UInt16reserved
UInt32bufferOffsetCurrent offset into buffer.

typedefUserExportDCLTransferBuffer

typedef struct UserExportDCLTransferBufferStruct UserExportDCLTransferBuffer;

structUserExportDCLCallProcStruct

size 44, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_tprocProcedure to call.
uint64_tprocDataData for use by called procedure.

typedefUserExportDCLCallProc

typedef struct UserExportDCLCallProcStruct UserExportDCLCallProc;

structUserExportDCLLabelStruct

size 28, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.

typedefUserExportDCLLabel

typedef struct UserExportDCLLabelStruct UserExportDCLLabel;

structUserExportDCLJumpStruct

size 36, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_tpJumpDCLLabelDCL label to jump to.

typedefUserExportDCLJump

typedef struct UserExportDCLJumpStruct UserExportDCLJump;

structUserExportDCLSetTagSyncBitsStruct

size 32, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt16tagBitsTag bits for following packets.
UInt16syncBitsSync bits for following packets.

typedefUserExportDCLSetTagSyncBits

typedef struct UserExportDCLSetTagSyncBitsStruct UserExportDCLSetTagSyncBits;

structUserExportDCLUpdateDCLListStruct

size 40, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_tdclCommandListList of DCL commands to update.
UInt32numDCLCommandsNumber of DCL commands in list.

typedefUserExportDCLUpdateDCLList

typedef struct UserExportDCLUpdateDCLListStruct UserExportDCLUpdateDCLList;

structUserExportDCLTimeStampStruct

size 32, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
UInt32timeStampTime stamp.

typedefUserExportDCLTimeStamp

typedef struct UserExportDCLTimeStampStruct UserExportDCLTimeStamp;

structUserExportDCLPtrTimeStampStruct

size 36, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandNext DCL command.
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodeDCL opcode.
mach_vm_address_ttimeStampPtrWhere to store the time stamp.

typedefUserExportDCLPtrTimeStamp

typedef struct UserExportDCLPtrTimeStampStruct UserExportDCLPtrTimeStamp;

structUserExportDCLNuDCLLeader

size 36, align 1 · packed
mach_vm_address_tpClientDCLStructA pointer to the client's DCL struct
mach_vm_address_tpNextDCLCommandunused - always NULL
uint64_tcompilerDataData for use by DCL compiler.
UInt32opcodemust be kDCLNuDCLLeaderOp
mach_vm_address_tprogramNuDCL program here...

typedefUserExportDCLNuDCLLeader

typedef struct UserExportDCLNuDCLLeader UserExportDCLNuDCLLeader;

typedefNuDCLRef

typedef struct __NuDCL * NuDCLRef

typedefNuDCLSendPacketRef

typedef NuDCLRef NuDCLSendPacketRef

typedefNuDCLSkipCycleRef

typedef NuDCLRef NuDCLSkipCycleRef

typedefNuDCLReceivePacketRef

typedef NuDCLRef NuDCLReceivePacketRef

typedefNuDCLCallback

typedef void (*NuDCLCallback)( void* refcon, NuDCLRef dcl )

enumNuDCLFlags

underlying type unsigned int
kNuDCLDynamic2
kNuDCLUpdateBeforeCallback4

typedefNuDCLFlags

typedef enum NuDCLFlags NuDCLFlags;

typedefFWClientCommandID

typedef void* FWClientCommandID

typedefIOFireWireSessionRef

typedef struct IOFireWireSessionRefOpaqueStuct* IOFireWireSessionRef

enum(anonymous)

underlying type unsigned int
kFWBusManagerArbitrationTimeoutDuration625durationMillisecond

enum(anonymous)

underlying type unsigned int
kFWMaxBusses1023
kFWMaxNodesPerBus63
kFWMaxNodeHops16

enum(anonymous)

@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
kIOFWDisablePhysicalAccess1
kIOFWDisableAllPhysicalAccess2
kIOFWEnableRetryOnAckD4
kIOFWLimitAsyncPacketSize8
kIOFWDisablePhyOnSleep16
kIOFWMustBeRoot32
kIOFWMustNotBeRoot64
kIOFWMustHaveGap63128

enumIOFWWriteFlags

underlying type unsigned int
kIOFWWriteFlagsNone0
kIOFWWriteFlagsDeferredNotify1
kIOFWWriteFastRetryOnBusy2
kIOFWWriteBlockRequest4force a block request

enumIOFWReadFlags

underlying type unsigned int
kIOFWReadFlagsNone0
kIOFWReadBlockRequest4force a block request
kIOFWReadPingTime8ping time

enumIOFWSecurityMode

underlying type unsigned int
kIOFWSecurityModeNormal0
kIOFWSecurityModeSecure1
kIOFWSecurityModeSecurePermanent2

enumIOFWPhysicalAccessMode

underlying type unsigned int
kIOFWPhysicalAccessEnabled0
kIOFWPhysicalAccessDisabled1
kIOFWPhysicalAccessDisabledForGeneration2

enum(anonymous)

underlying type unsigned int
kIOFWSpecID_AAPL2599
kIOFWSWVers_KPF64

macrokBit0

#define kBit0 BIT(0)

macrokBit1

#define kBit1 BIT(1)

macrokBit2

#define kBit2 BIT(2)

macrokBit3

#define kBit3 BIT(3)

macrokBit4

#define kBit4 BIT(4)

macrokBit5

#define kBit5 BIT(5)

macrokBit6

#define kBit6 BIT(6)

macrokBit7

#define kBit7 BIT(7)

macrokBit8

#define kBit8 BIT(8)

macrokBit9

#define kBit9 BIT(9)

macrokBit10

#define kBit10 BIT(10)

macrokBit11

#define kBit11 BIT(11)

macrokBit12

#define kBit12 BIT(12)

macrokBit13

#define kBit13 BIT(13)

macrokBit14

#define kBit14 BIT(14)

macrokBit15

#define kBit15 BIT(15)

macrokBit16

#define kBit16 BIT(16)

macrokBit17

#define kBit17 BIT(17)

macrokBit18

#define kBit18 BIT(18)

macrokBit19

#define kBit19 BIT(19)

macrokBit20

#define kBit20 BIT(20)

macrokBit21

#define kBit21 BIT(21)

macrokBit22

#define kBit22 BIT(22)

macrokBit23

#define kBit23 BIT(23)

macrokBit24

#define kBit24 BIT(24)

macrokBit25

#define kBit25 BIT(25)

macrokBit26

#define kBit26 BIT(26)

macrokBit27

#define kBit27 BIT(27)

macrokBit28

#define kBit28 BIT(28)

macrokBit29

#define kBit29 BIT(29)

macrokBit30

#define kBit30 BIT(30)

macrokBit31

#define kBit31 BIT(31)