file ///StdCell/SCChanUtil.mesa
chan utility routines
DIRECTORY
SC,
SCPrivate;
SCChanUtil: CEDAR DEFINITIONS =
BEGIN
clear routing data
ClearRouteDat: PROCEDURE[handle: SC.Handle];
initialize the channel widths
InitChanWidths: PROCEDURE[handle: SC.Handle];
EnumerateRowChans: PROC [handle: SC.Handle, eachRowChan: EachRowChanProc] RETURNS [quit: BOOL];
EachRowChanProc: TYPE = PROC [chan: SCPrivate.MaxChanSr, rowChan: SCPrivate.RowChan] RETURNS [quit: BOOLFALSE];
EnumerateSideChans: PROC [handle: SC.Handle, eachSideChan: EachSideChanProc] RETURNS [quit: BOOL];
EachSideChanProc: TYPE = PROC [lrSide: SCPrivate.LRSide, sideChan: SCPrivate.SideChan] RETURNS [quit: BOOLFALSE];
EnumerateExits: PROC [handle: SC.Handle, rowChan: SCPrivate.RowChan, lrSide: SCPrivate.LRSide, eachExit: EachExitProc] RETURNS [quit: BOOL];
EachExitProc: TYPE = PROC [exitNum: SCPrivate.MaxExitsSr, lrSide: SCPrivate.LRSide, rowChan: SCPrivate.RowChan, exit: SCPrivate.Exit] RETURNS [quit: BOOLFALSE];
EnumeratePinsOnChan: PROC [handle: SC.Handle, chan: SCPrivate.MaxChanSr, action: EachPinProc];
EachPinProc: TYPE = PROC [instance: SCPrivate.Instance, pinNet: SCPrivate.PinNet, side: SC.Side] RETURNS [quit: BOOLFALSE];
END.