<> <> <> <> DIRECTORY CD USING [DesignNumber, ObPtr]; NMosContacts: CEDAR DEFINITIONS = BEGIN ContactType: TYPE = {burr, mDif, difShort, butt, mPol, mm2}; ContactPtr: TYPE = REF ContactRec; ContactRec: TYPE = RECORD [ typ: ContactType, wExt: CD.DesignNumber _ 0, lExt: CD.DesignNumber _ 0 ]; CreatePolyCon: PROC [l: CD.DesignNumber] RETURNS [CD.ObPtr]; CreateDifCon: PROC [l: CD.DesignNumber] RETURNS [CD.ObPtr]; CreateDifShortCon: PROC [] RETURNS [CD.ObPtr]; CreateButCon: PROC [] RETURNS [CD.ObPtr]; CreateBurCon: PROC [w, l: CD.DesignNumber, wex: CD.DesignNumber_0, lex: CD.DesignNumber_0] RETURNS [CD.ObPtr]; CreateMmCon: PROC [l: CD.DesignNumber, wex: CD.DesignNumber_0, lex: CD.DesignNumber_0] RETURNS [CD.ObPtr]; <<--All create procedures may (or may not) create references to>> <<--the same object. Therefore consider the contact objects as >> <<--readonly. If a contact needs to be modified create a new one!>> END.