<> <> <> <<>> <> <<>> DIRECTORY CD, CoreClasses, CoreIO, PipalCore; PipalCoreBackdoor: CEDAR DEFINITIONS ~ BEGIN OPEN PipalCore; maxInstanceSeq: NAT = 9000; <> <<>> InstanceSeq: TYPE = REF InstanceSeqRec; InstanceSeqRec: TYPE = RECORD [instances: SEQUENCE size: NAT OF Instance]; TransWireIR: TYPE = REF TransWireIRRec; TransWireIRRec: TYPE = RECORD [ir: Rect, tws: SEQUENCE size: NAT OF TransWire]; TransWire: TYPE = RECORD [trans: Transformation, wire: Wire]; LazyEnumerateData: TYPE = REF LazyEnumerateDataRec; LazyEnumerateDataRec: TYPE = RECORD [ proc: LazyEnumerateProc, data1, data2: REF _ NIL ]; Handle: TYPE = CoreIO.Handle; ObjectClassWriteProc: TYPE = PROC [h: Handle, me: Object]; ObjectClassReadProc: TYPE = PROC [h: Handle] RETURNS [obj: Object]; RawEnumeratePins: PUBLIC PROC [prop: ATOM, value: REF, eachInstance: EachInstanceProc] RETURNS [quit: BOOL _ FALSE]; <> RawEnumerateGeometry: PUBLIC PROC [prop: ATOM, value: REF, eachInstance: EachInstanceProc] RETURNS [quit: BOOL _ FALSE]; <> <<>> RegisterDecorationIO: PROC [decoration: Decoration]; RegisterObjectClass: PROC [objectClass: CD.ObjectClass, write: ObjectClassWriteProc, read: ObjectClassReadProc]; WritePosition: PROC [h: Handle, position: CD.Position]; ReadPosition: PROC [h: Handle] RETURNS [position: CD.Position]; WriteRect: PROC [h: Handle, rect: CD.Rect]; ReadRect: PROC [h: Handle] RETURNS [rect: CD.Rect]; WriteTechnology: PROC [h: Handle, technology: CD.Technology]; ReadTechnology: PROC [h: Handle] RETURNS [technology: CD.Technology]; WriteLayer: PROC [h: Handle, layer: CD.Layer]; ReadLayer: PROC [h: Handle] RETURNS [layer: CD.Layer]; WriteOrient: PROC [h: Handle, orient: CD.Orientation]; ReadOrient: PROC [h: Handle] RETURNS [orient: CD.Orientation]; WriteTrans: PROC [h: Handle, trans: CD.Transformation]; ReadTrans: PROC [h: Handle] RETURNS [trans: CD.Transformation]; WriteCDProperties: PROC [h: Handle, properties: CD.PropList]; ReadCDProperties: PROC [h: Handle] RETURNS [properties: CD.PropList _ NIL]; WriteCDInstance: PROC [h: Handle, instance: CD.Instance]; ReadCDInstance: PROC [h: Handle] RETURNS [instance: CD.Instance]; WriteCDInstances: PROC [h: Handle, instances: LIST OF CD.Instance]; ReadCDInstances: PROC [h: Handle] RETURNS [instances: LIST OF CD.Instance _ NIL]; WriteInstance: PROC [h: Handle, instance: PipalCore.Instance]; ReadInstance: PROC [h: Handle] RETURNS [instance: PipalCore.Instance]; WriteInstances: PROC [h: Handle, instances: PipalCore.Instances]; ReadInstances: PROC [h: Handle] RETURNS [instances: PipalCore.Instances _ NIL]; WriteObject: PROC [h: Handle, obj: CD.Object]; ReadObject: PROC [h: Handle] RETURNS [obj: CD.Object]; END.