Instance Property

SetDCLStatusPtr

Set the status pointer for a NuDCL

Declaration

IOReturn (*SetDCLStatusPtr)(NuDCLRef dcl, UInt32 *statusPtr);

Parameters

dcl

The DCL for which status pointer will be set

statusPtr

A pointer to a quadlet which will hold the status after 'dcl' is updated.

Return Value

Returns an IOReturn error code.

Discussion

Setting a the status pointer for a NuDCL causes the packet transmit/receive hardware status to be recorded when the DCL executes. This DCL must be updated after it has executed for the status to be valid.

This change will apply immediately to a non-running DCL program. To apply the change to a running program use IOFireWireLocalIsochPortInterface::Notify()

Status values are as follows: (from the OHCI spec, section 3.1.1)

5'h1D ack_data_error (receive) A data field CRC or data_length error.
5'h11 ack_complete (receive/transmit) No event occurred. (Success)
5'h0E evt_unknown (receive/transmit) An error condition has occurred that cannot be represented by any other event codes defined herein.
5'h0B evt_tcode_err (transmit) A bad tCode is associated with this packet. The packet was flushed.
5'h0A evt_timeout (transmit) Indicates that the asynchronous transmit response packet expired and was not transmitted, or that an IT DMA context experienced a skip processing overflow (See section9.3.4).
5'h08 evt_data_write (receive/transmit) An error occurred while the Host Controller was attempting to write to host memory either in the data stage of descriptor processing (AR, IR), or when processing a single 16-bit host memory write (IT).
5'h07 evt_data_read (transmit) An error occurred while the Host Controller was attempting to read from host memory in the data stage of descriptor processing.
5'h06 evt_descriptor_read (receive/transmit) An unrecoverable error occurred while the Host Controller was reading a descriptor block.
5'h05 evt_overrun (receive) A receive FIFO overflowed during the reception of an isochronous packet.
5'h02 evt_long_packet (receive) The received data length was greater than the buffer's data_length.
5'h00 No event status.

Applies: Any NuDCLRef.

See Also

Miscellaneous

AllocateReceivePacket

Allocate a ReceivePacket NuDCL and append it to the program

AllocateReceivePacket_v

Allocate a ReceivePacket NuDCL and append it to the program

AllocateSendPacket

Allocate a SendPacket NuDCL and append it to the program.

AllocateSendPacket_v

Allocate a SendPacket NuDCL and append it to the program.

AllocateSkipCycle

Allocate a SkipCycle NuDCL and append it to the program.

AppendDCLRanges

Add a memory range to the scatter gather list of a NuDCL

CountDCLRanges

Returns number of buffers for a NuDCL

FindDCLNextDCL

Get the next pointer for a NuDCL

GetDCLBranch

Get the branch pointer for a NuDCL

GetDCLCallback

Get callback for a NuDCL

GetDCLRanges

Get the scatter-gather list for a NuDCL

GetDCLs

Returns the pool's DCL program as a CFArray of NuDCLRef's.

GetDCLSize

Returns number of bytes to be transferred by a NuDCL

GetDCLSpan

Returns a virtual range spanning lowest referenced buffer address to highest

GetDCLStatusPtr

Get the status pointer for a NuDCL.

GetDCLTimeStampPtr

Get the time stamp pointer for a NuDCL.

GetProgram

Finds the first DCL in the pool not preceeded by any other DCL.

SetCurrentTagAndSync

Set current tag and sync bits

SetDCLBranch

Set the branch pointer for a NuDCL

SetDCLCallback

Set the callback for a NuDCL

SetDCLRanges

Set the scatter gather list for a NuDCL

SetDCLTimeStampPtr

Set the time stamp pointer for a NuDCL

SetDCLUserHeaderPtr

Set a user specified header for a send NuDCL