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: NAT, 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: NAT, lrSide: SCPrivate.LRSide, rowChan: SCPrivate.RowChan, exit: SCPrivate.Exit] RETURNS [quit: BOOL ← FALSE];
END.