-- Copyright (C) 1981, 1982, 1983, 1984, 1985  by Xerox Corporation. All rights reserved. 
-- Server.config, HGM, 17-Oct-85 22:28:35

-- Randy Gobbel     9-Mar-83 12:25:32
-- Brenda Hankins  23-Aug-84 14:18:33
-- Ted Wobber	    2-Nov-82 12:38:20 
-- AlHall	    9-Jul-82 15:25:09 
-- Mark Johnson    14-Jan-82 11:56:49 
-- Andrew Birrell  20-Oct-81 10:53:51 


Server: CONFIGURATION LINKS: CODE
  IMPORTS 
    BodyDefs, Buffer, BufferOps, ByteBlt, DeviceError, Driver,
    Format, Heap, Inline, MDSStorage, MFile, MScavenge, Protocol1, Process,
    ProcessOperations, ProcessorFace, PupDefs, PupRouterDefs,
    PupPktOps, PupStream, Runtime, RestartDefs, Space, SpecialSpace,
    SpecialMFile, Stream, String, Supervisor, System,
    TemporaryBooting, Time, TTY, Volume
  EXPORTS
    AclDefs, BTreeDefs, Event, FTPDefs, GlassDefs, HeapDefs,
    LocateDefs, LogDefs, NameInfoDefs, NameInfoSpecialDefs,
    ObjectDirDefs, PilotClient, PolicyDefs, ProtocolDefs,
    RegBTreeDefs, RegistryDefs, RegServerDefs, RetrieveDefs,
    SendDefs, TimeExtra
  CONTROL GVSwitches, Restart, MSMail, FTPServer, Enquiry =
  BEGIN


-- ******** GrapevineUser ******** --

  GrapevineUser: CONFIGURATION
    IMPORTS
      Buffer, Heap, HeapDefs, Process, PupDefs, PupStream, Stream, 
      String, Time
    EXPORTS
      LocateDefs, NameInfoDefs, NameInfoSpecialDefs, ProtocolDefs,
      RetrieveDefs, RListDefs
      --, not SendDefs: CreateMail in MServer provides that -- =
    BEGIN
    Protocol;
    Locate;
    NameInfo;
    HeapRList;
    RetrieveGV;
    RetrieveInit;
    RetrieveMail;
    RetrievePoll;
    END;

  GrapevineUser;



-- ******** ServerMisc ******** --

   ServerMisc;




-- ******** R-Server ******** --

  RServer: CONFIGURATION
    IMPORTS
      BodyDefs, BTreeDefs, Buffer, Heap, HeapDefs, Inline, LocalNameDefs,
      LocateDefs, LogDefs, LogPrivateDefs, ObjectDirDefs, PolicyDefs,
      Process, ProtocolDefs, PupDefs, PupStream, RetrieveDefs, RListDefs, 
      Runtime, SendDefs, String, Time, TTY, VMDefs
    EXPORTS
      AclDefs, EnquiryDefs, RegBTreeDefs, RegistryDefs, 
      RegServerDefs, RestartDefs =
    BEGIN
    Acl;
    Registration;
    Registry;
    RegAccess;
    RegBTree;
    RegCache;
    RegServerImpl;
    RegMail;
    RegRestart;
    -- The R-Server has its own copy of NameInfo, because the other one may
    -- be in use by the M-Server calling the R-Server at the time the
    -- R-Server wants to use NameInfo, which would cause a deadlock.
    NameInfo;
    END;

    RServer;



-- ******** M-Server ******** --

  MServer: CONFIGURATION
    IMPORTS
      BitMapDefs, BodyDefs, BTreeDefs, Buffer,
      Heap, HeapDefs, LocalNameDefs, LogDefs, LogPrivateDefs, NameInfoDefs,
      ObjectDirDefs, PolicyDefs, Process, ProtocolDefs, PupDefs, PupStream,
      RetrieveDefs, Stream, String, System, Time, VMDefs
    EXPORTS
      EnquiryDefs, MailboxDefs, MSMail, RestartDefs, SendDefs,
      SLDefs =
    BEGIN
    -- Server sub-routines --
    CreateMail;
    MailboxAlloc;
    MailboxRestart;
    ReturnMail;
    ServerAlloc;
    ServerInfo;
    SiteCache;
    SLQueueImpl;
    SLRestart;
    Spiller;
    -- The driving processes --
    MiscSoc;
    MSMail;
    ReadForward;
    ReadInput;
    ReadMail;
    ReceiveInput;
    ReceiveMail;
    END;

  MServer;



-- ******** Everything else ******** --

  LocalName;
  Enquiry;
  EnquiryPup;
  FTPServer;


-- ******** Mainline program! ******** --

  GVSwitches;
  GVPServer;
  Restart LINKS: FRAME;


END.