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

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

AllocateChannel

Prepare all hardware to begin sending or receiving isochronous data.

ClientCommandIsComplete
GetRefCon

Set reference value associated with this channel.

NotificationIsOn
ReleaseChannel

Release all hardware after stopping the isochronous channel.

SetChannelForceStopHandler

Set the channel force stop handler.

SetRefCon

Set reference value associated with this channel.

SetTalker

Set the talker port for this channel.

Start

Start the channel.

Stop

Stop the channel.

TurnOffNotification
TurnOnNotification

AddListener


Modify 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 newer.


AllocateChannel


Prepare 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.


ClientCommandIsComplete


void ( *ClientCommandIsComplete) (
    IOFireWireLibIsochChannelRef self,
    FWClientCommandID commandID,
    IOReturn status);  
Discussion

Description forthcoming


GetRefCon


Set reference value associated with this channel.

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

The isoch channel interface to use.

Discussion

Retrieve the reference value with SetRefCon()


NotificationIsOn


Boolean ( *NotificationIsOn) (
    IOFireWireLibIsochChannelRef self);  
Discussion

Description forthcoming


ReleaseChannel


Release 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


Set 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


Set reference value associated with this channel.

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

The isoch channel interface to use.

stopProcRefCon

The new reference value.

Discussion

Retrieve the reference value with GetRefCon()


SetTalker


Set 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


Start 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


Stop 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.


TurnOffNotification


void ( *TurnOffNotification) (
    IOFireWireLibIsochChannelRef self);  
Discussion

Description forthcoming


TurnOnNotification


Boolean ( *TurnOnNotification) (
    IOFireWireLibIsochChannelRef self);  
Discussion

Description forthcoming

Member Data

revision
version

revision


UInt32 revision;  
Discussion

Interface revision.


version


UInt32 version;  
Discussion

Interface version.

 

Did this document help you? Yes It's good, but... Not helpful...

 

Last Updated: 2009-10-15