-- Connector.mesa
-- last edited by Suzuki:  5-Jan-82 15:17:05

DIRECTORY
  Rope;
  
Connector: DEFINITIONS = {

Choice: TYPE = REF ChoiceNode;
ChoiceNode: TYPE;
Handle: TYPE = REF Node;
Node: TYPE;

Assign: PROC [LONG POINTER TO CONDITION, Handle] RETURNS [CARDINAL];
CreateChoice: PROC RETURNS [Choice];
ResetChoice: PROC [Choice];
RegisterUp: PROC [Choice, CARDINAL, Handle];
RegisterDown: PROC [Choice, CARDINAL, Handle];
RegisterChange: PROC [Choice, CARDINAL, Handle];
Remove: PROC [CARDINAL, Handle];
GetChoice: PROC [Choice] RETURNS [CARDINAL];
Create: PROC [size: CARDINAL ← 10] RETURNS [Handle];
Put: PROC [Handle, REF ANY];
GetNew: PROC [Handle, BOOLEAN];
GetNewChange: PROC [Handle];
Get: PROC [Handle] RETURNS [REF ANY];
Grab: PROC [Handle] RETURNS [REF ANY];

-- MOSSIM interface
MOSSIMGet: PROC [Handle];
MOSSIMSet: PROC [Handle];
MOSSIMConnect: PROC [Handle, STRING];
PortAssign: PROC [Handle];
MOSSIMMultiConnectInit: PROC [Handle, CARDINAL];
MOSSIMMultiConnectAssign: PROC [Handle, STRING, CARDINAL];


Fork: PROC[PROC] RETURNS[PROCESS];

Join: PROC[PROCESS];

NotifyAll: PROC[p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15: Handle ← NIL];

ProcessEnd: PROC;

GetProcessSize: PROC RETURNS[CARDINAL];

Delay: PROC[CARDINAL];

RandomDelay: PROC [min, max: CARDINAL];
-- Delays random number of ticks between min and max

StandardDelay: PROC;

Wait: PROC [LONG POINTER TO CONDITION];

IncCurrent: PROC;

}.