-- XConnectionMgr.mesa
-- Created by Jeff Weinstein on  2-May-87 18:44:27
  
XConnectionMgr:DEFINITIONS =
  BEGIN
  
  ClientRec:TYPE = RECORD [
    index:LONG CARDINAL,
    clientAsMask:LONG CARDINAL,
    requestBuffer:LONG CARDINAL,
    osPrivate:LONG CARDINAL,
    swapped:INTEGER,
    pSwapReplyFunc:LONG CARDINAL,
    errorValue, sequence, closeDownMode, clientGone, noClientException:INTEGER,
    lastDrawable, lastDrawableID, lastGC, lastGCID, saveSet:LONG CARDINAL,
    numSaved:INTEGER,
    screenPrivate:LONG CARDINAL];
  ClientPtr:TYPE = LONG POINTER TO ClientRec;
      
  WaitForSomething:PROCEDURE[pClientsReady:LONG POINTER TO ARRAY[0..0) OF ClientPtr, nready:LONG POINTER TO INTEGER, pNewClients:LONG POINTER TO ARRAY[0..0) OF ClientPtr, nnew:LONG POINTER TO INTEGER];
  
  ReadRequestFromClient:PROCEDURE[who:LONG CARDINAL, status:LONG POINTER TO INTEGER, oldbuf:LONG POINTER TO UNSPECIFIED] RETURNS [request:LONG POINTER TO UNSPECIFIED];
  
  WriteToClient:PROCEDURE[who:LONG CARDINAL, remaining:INTEGER, buf:LONG POINTER TO UNSPECIFIED] RETURNS [status:INTEGER];
  
  CreateWellKnownSockets:PROCEDURE;
  
  CloseDownConnection:PROCEDURE[who:LONG CARDINAL];
  
  ReallyMarkConnectionClosed:PROCEDURE[who:LONG CARDINAL];
  
  OnlyListenToOneClient:PROCEDURE[who:LONG CARDINAL];
  
  ListenToAllClients:PROCEDURE;
  
  END...