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: BOOL ← FALSE];
EnumerateSideChans:
PROC [handle:
SC.Handle, eachSideChan: EachSideChanProc]
RETURNS [quit:
BOOL];
EachSideChanProc: TYPE = PROC [lrSide: SCPrivate.LRSide, sideChan: SCPrivate.SideChan] RETURNS [quit: BOOL ← FALSE];
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: BOOL ← FALSE];
EnumeratePinsOnChan:
PROC [handle:
SC.Handle, chan: SCPrivate.MaxChanSr, action: EachPinProc]
;
EachPinProc: TYPE = PROC [instance: SCPrivate.Instance, pinNet: SCPrivate.PinNet, side: SC.Side] RETURNS [quit: BOOL ← FALSE];
END.