-- File DJExtAllocDefs.mesa
-- Written by Martin Newell/Dan Fitzpatrick, June 1981
-- Last updated: July 31, 1981 2:36 PM
DIRECTORY
DJExtTypes: FROM "DJExtTypes" USING [Box, Edge, Segment, Side, Position, NodeLocation, NodeNumber, NodeSegment, ActualParameter, Node, Diffusion];
DJExtAllocDefs: DEFINITIONS =
BEGIN
OPEN DJExtTypes;
MakeHEdge: PUBLIC PROCEDURE [h, left, right: REAL] RETURNS[e:Edge];
MakeVEdge: PUBLIC PROCEDURE [v, bottom, top: REAL] RETURNS[e:Edge];
AllocateEdge: PUBLIC PROCEDURE RETURNS[e:Edge];
FreeEdge: PUBLIC PROCEDURE[e:Edge];
AllocateSegment: PUBLIC PROCEDURE RETURNS[e:Segment];
FreeSegment: PUBLIC PROCEDURE[e:Segment];
AllocateBox: PUBLIC PROCEDURE RETURNS[e:Box];
FreeBox: PUBLIC PROCEDURE[e:Box];
MakeSide: PUBLIC PROCEDURE [x, bottom, top: REAL, node: NodeNumber, pos:Position, layer:INTEGER]
RETURNS[s:Side];
AllocateSide: PUBLIC PROCEDURE RETURNS[s:Side];
FreeSide: PUBLIC PROCEDURE[s:Side];
AllocateNodeSegment: PUBLIC PROCEDURE RETURNS[e:NodeSegment];
FreeNodeSegment: PUBLIC PROCEDURE[e:NodeSegment];
AllocateActualParameter: PUBLIC PROCEDURE RETURNS[e:ActualParameter];
FreeActualParameter: PUBLIC PROCEDURE[e:ActualParameter];
MakeNodeLocation: PUBLIC PROCEDURE[node:NodeNumber, x,y:REAL] RETURNS[e:NodeLocation];
AllocateNodeLocation: PUBLIC PROCEDURE RETURNS[e:NodeLocation];
FreeNodeLocation: PUBLIC PROCEDURE[e:NodeLocation];
AllocateCap: PUBLIC PROCEDURE RETURNS[e:Node];
FreeCap: PUBLIC PROCEDURE[e:Node];
AllocateTransistor: PUBLIC PROCEDURE RETURNS[e:Node];
FreeTransistor: PUBLIC PROCEDURE[e:Node];
AllocateDiffusion: PUBLIC PROCEDURE RETURNS[e:Diffusion];
FreeDiffusion: PUBLIC PROCEDURE[e:Diffusion];
END.