DIRECTORY SC, SCPrivate; SCChanUtil: CEDAR DEFINITIONS = BEGIN ClearRouteDat: PROCEDURE[handle: SC.Handle]; 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. nfile ///StdCell/SCChanUtil.mesa chan utility routines clear routing data initialize the channel widths Κl˜Jšœ™J˜Jšœ™J˜šΟk ˜ Jšœ˜Jšœ ˜ J˜—šœ œ œ˜J˜Jš˜J˜Jšœ™JšΟn œ œ œ ˜,J˜Jšœ™Jšžœ œ œ ˜-J˜J˜codeš žœœ œ'œœ˜_K˜Kšžœœœœœœœ˜b—J˜š žœœ œ)œœ˜cK˜Kš žœœœ:œœœ˜tJ˜—š žœœ œWœœ˜J˜Kš ž œœœ\œœœ˜’—Jšœ˜J˜—J˜—…—nH