ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOFireWireIsochChannelInterface

Declared In:

Overview

FireWire user client isochronous channel object.

Discussion

IOFireWireIsochChannelInterface is an abstract representataion of a FireWire bus isochronous channel. This interface coordinates starting and stopping traffic on a FireWire bus isochronous channel and can optionally communicate with the IRM to automatically allocate bandwidth and channel numbers. When using automatic IRM allocation, the channel interface reallocates its bandwidth and channel reservation after each bus reset.

Isochronous port interfaces representing FireWire isochronous talkers and listeners must be added to the channel using SetTalker and AddListener.



Functions

AddListener

Modifies the transfer size of a transfer packet DCL (send or receive).

AllocateChannel

Prepares all hardware to begin sending or receiving isochronous data.

GetRefCon

Sets reference value associated with this channel.

ReleaseChannel

Releases all hardware after stopping the isochronous channel.

SetChannelForceStopHandler

Sets the channel force stop handler.

SetRefCon

Sets reference value associated with this channel.

SetTalker

Sets the talker port for this channel.

Start

Starts the channel.

Stop

Stops the channel.


AddListener


Modifies the transfer size of a transfer packet DCL (send or receive).

IOReturn ( *AddListener) (
    IOFireWireLibIsochChannelRef self,
    IOFireWireLibIsochPortRef listener );  
Parameters
self

The isoch channel interface to use.

listener

The listener to add.

Return Value

Returns an IOReturn error code.

Discussion

Allows you to modify transfer packet DCLs after they have been compiled and while the DCL program is still running. The transfer size can be set to any size less than or equal to the size set when the DCL program was compiled (including 0).

Availability
IOFireWireLocalIsochPortInterface_v3 and later.

AllocateChannel


Prepares all hardware to begin sending or receiving isochronous data.

IOReturn ( *AllocateChannel) (
    IOFireWireLibIsochChannelRef self );  
Parameters
self

The isoch channel interface to use.

Return Value

Returns an IOReturn error code.

Discussion

Calling this function will result in all listener and talker ports on this isochronous channel having their AllocatePort method called.


GetRefCon


Sets reference value associated with this channel.

void* ( *GetRefCon) (
    IOFireWireLibIsochChannelRef self);  
Parameters
self

The isoch channel interface to use.

inRefCon

The new reference value.

Discussion

Retrieve the reference value with SetRefCon.


ReleaseChannel


Releases all hardware after stopping the isochronous channel.

IOReturn ( *ReleaseChannel) (
    IOFireWireLibIsochChannelRef self );  
Parameters
self

The isoch channel interface to use.

Return Value

Returns an IOReturn error code.

Discussion

Calling this function will result in all listener and talker ports on this isochronous channel having their ReleasePort method called.


SetChannelForceStopHandler


Sets the channel force stop handler.

IOFireWireIsochChannelForceStopHandler ( *SetChannelForceStopHandler) (
    IOFireWireLibIsochChannelRef self,
    IOFireWireIsochChannelForceStopHandler stopProc);  
Parameters
self

The isoch channel interface to use.

stopProc

The handler to set.

Return Value

Returns the previously set handler or NULL is no handler was set.

Discussion

The specified callback is called when the channel is stopped and cannot be restarted automatically.


SetRefCon


Sets reference value associated with this channel.

void ( *SetRefCon) (
    IOFireWireLibIsochChannelRef self,
    void *stopProcRefCon);  
Parameters
self

The isoch channel interface to use.

inRefCon

The new reference value.

Discussion

Retrieve the reference value with GetRefCon.


SetTalker


Sets the talker port for this channel.

IOReturn ( *SetTalker) (
    IOFireWireLibIsochChannelRef self,
    IOFireWireLibIsochPortRef talker );  
Parameters
self

The isoch channel interface to use.

talker

The new talker.

Return Value

Returns an IOReturn error code.


Start


Starts the channel.

IOReturn ( *Start) (
    IOFireWireLibIsochChannelRef self );  
Parameters
self

The isoch channel interface to use.

Return Value

Returns an IOReturn error code.

Discussion

Calling this function will result in all listener and talker ports on this isochronous channel having their Start method called.


Stop


Stops the channel.

IOReturn ( *Stop) (
    IOFireWireLibIsochChannelRef self );  
Parameters
self

The isoch channel interface to use.

Return Value

Returns an IOReturn error code.

Discussion

Calling this function will result in all listener and talker ports on this isochronous channel having their Stop method called.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2009-02-23