-- Grapevine: Server kit of parts --

-- [Indigo]<Grapevine>MS>ServerMisc.config

-- Andrew Birrell   9-Sep-82 15:31:14 --
-- Mike Schroeder, June 7, 1982  7:21 PM --

PACK FTPPupComHot, FTPUserHot;
PACK FTPEvent, FTPPair;

ServerMisc: CONFIGURATION
   LINKS: CODE
   IMPORTS BitBltDefs, BodyDefs, ByteBltDefs, FontDefs, FrameDefs, Inline,
           FrameOps, ImageDefs, InlineDefs, Process, ProcessDefs,
           ProtocolDefs, PupStream, SegmentDefs, SendDefs, Storage,
           Stream, String, StringDefs, SwapperOps, Time, TimeDefs, VMDefs
   EXPORTS BitMapDefs, BTreeDefs, EnquiryDefs, FTPDefs, FTPPrivateDefs,
           GlassDefs, HeapDefs, LogDefs, LogWatchDefs, ObjectDirDefs,
           PolicyDefs, LongTermHeap, TimeExtraDefs
-- For HeapCount: --, HeapFileDefs, ObjectDir, Policy
   CONTROL IdleTime, MDSWatcher, Policy =
BEGIN


-- ******** Log facilities ******** --

[LogDefs, LogWatchDefs] ←
       Log[Process, Storage, String, Time, VMDefs];

LogDefs ←
       LogDisplayCold[FontDefs, ImageDefs, InlineDefs, LogPrivateDefs,
		      ProcessDefs, SegmentDefs, StringDefs,
                      --ShortTermHeap--Storage, LongTermHeap, TimeDefs];

[LogDefs, LogPrivateDefs] ←
       LogDisplayHot[BitBltDefs, InlineDefs, ProcessDefs, SegmentDefs,
                     StringDefs, TimeDefs];
ReadLog;



-- ******** BTree ******** --

bt: CONFIGURATION
   IMPORTS VMDefs, ShortTermHeap: Storage
   EXPORTS BTreeDefs =
   BEGIN
   BTreeSupportDefs ← BTreeSupport[ShortTermHeap, VMDefs];
   BTree2;
   BTree;
   END;

BTreeDefs ←
    bt[VMDefs, --ShortTermHeap--Storage];



-- ******** FTP package ******** --

FTPforDMS: CONFIGURATION
   IMPORTS SendDefs, Process, Storage, String,
           Time, Stream, ByteBltDefs, PupStream
   EXPORTS FTPDefs, FTPPrivateDefs, TimeExtraDefs =
   BEGIN
   FTPAccessories;
   FTPCold;
   FTPEvent;
   FTPPair;
   FTPProtError;
   FTPProtFiles;
   FTPProtocol;
   FTPTrace;
   FTPQueue;
   FTPUtilities;

   TimeExtras;

   FTPPupComCool;
   FTPPupComHot;
   FTPServerCommon;
   FTPServerFiles;
   FTPServerMail;

   FTPUserHot;
   FTPUserCommon;
   FTPUserFiles;
   FTPUserFileNub;
   FTPUserDump;
   FTPUserRetrieve;
   FTPUserStore;
   FTPUserMailNub;
   FTPUserMailOut;
   FTPUserMailIn;
   END;

FTPforDMS --ShortTermHeap--;



-- ******** Disk Heap ******** --

Heap: CONFIGURATION
   IMPORTS BitMapDefs, LogDefs, PolicyDefs, Process, ProtocolDefs,
           PupStream, Stream, --LongTerm--Storage, VMDefs
   EXPORTS HeapDefs, ObjectDirDefs
-- For HeadCount --, HeapFileDefs, ObjectDir
   CONTROL ReaderAlloc, Reader, Writer -- they display variables -- =
   -- HeapRestart is started explicitly, and starts HeapFile and ObjectDir
   -- Compactor is started explicitly
   BEGIN
   HeapFile;
   ObjectDir;
   ReaderAlloc;
   Reader;
   Writer;
   Compactor;
   HeapRestart;
   END;

[HeapDefs, ObjectDirDefs
-- For HeadCount --, HeapFileDefs, ObjectDir] ←
    Heap[BitMapDefs, LogDefs, PolicyDefs, Process, ProtocolDefs,
         PupStream, Stream, LongTermHeap, VMDefs];



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

-- General data handling --

[MyFSPDefs, MyNucleusOps, LongTermHeap, MySystemDefs] ←
   FSP[InlineDefs, ProcessDefs, SegmentDefs, StringDefs, Storage];

BitMapDefs ←
    BitMap[Inline, LongTermHeap];


-- Communications --

GlassImpl;


-- Operational facilities --

IdleTime;
MDSWatcher;
Policy;

END.