home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / rt11pascal.zip / rtinit.pas < prev    next >
Pascal/Delphi Source File  |  1984-05-22  |  3KB  |  113 lines

  1. {$E+}
  2. { Initialization & finish - up }
  3.  
  4.  PROCEDURE ConLow; { Console lower case }
  5.  EXTERNAL;
  6.  
  7.  PROCEDURE Sclose(fd: filedesc);
  8.  EXTERNAL;
  9.  
  10.  PROCEDURE SYSfinish;
  11.  EXTERNAL;
  12.  
  13.  PROCEDURE SYSinit;
  14.  EXTERNAL;
  15.  
  16.   { initio (RT-11) -- initialize open file list }
  17.  PROCEDURE initio;
  18.   VAR
  19.     i : filedesc;
  20.    BEGIN
  21.      openlist[STDIN].mode := IOREAD;
  22.      openlist[STDOUT].mode := IOWRITE;
  23.  
  24.      redirect[STDIN] := STDIN;
  25.      redirect[STDOUT] := STDOUT;
  26.  
  27.      openlist[STDERR].mode := IOWRITE;
  28.  
  29.      { connect STDERR to user's terminal ... }
  30.      rewrite(openlist[STDERR].filevar,'TI:');
  31.  
  32.      { initialize rest of files }
  33.      FOR i := STDERR+1 TO MAXOPEN DO
  34.      openlist[i].mode := IOAVAIL;
  35.  
  36.      openlist[DL11LINE].mode := IOLINE;
  37.      openlist[BINARYFILE].mode := IOERROR;
  38.  
  39.      ConLow; { allow lower case }
  40.  
  41.      new(ThisPacket);
  42.      new(LastPacket);
  43.      new(CurrentPacket);
  44.      new(NextPacket);
  45.      new(InputPacket);
  46.  
  47.    END;
  48.  
  49.  
  50.   PROCEDURE KermitInit;  { initialize various parameters  & defaults }
  51.   CONST
  52.    UTCSVERSION = 'UTCS RT-11 KERMIT V2.2C';
  53.    COPY1 = 'Copyright (c) 1983 - Columbia University';
  54.    COPY2 = 'Not to be used or copied for commercial purposes.';
  55.   BEGIN
  56.      Pad := DEFPAD;               { set defaults }
  57.      MyPad := DEFPAD;
  58.      PadChar := DEFPADCHAR;
  59.      MyPadChar := DEFPADCHAR;
  60.      TheirTimeOut := DEFTIMEOUT;
  61.      MyTimeOut := DEFTIMEOUT;
  62.      Delay := DEFDELAY;
  63.      SizeRecv := MAXPACK;
  64.      SizeSend := MAXPACK;
  65.      SendEOL :=  CR;             
  66.      MyEOL :=  CR;
  67.      SendQuote := DEFQUOTE;
  68.      MyQuote := DEFQUOTE;
  69.      MaxTry := DEFITRY;
  70.      QuoteForBinary := ENDSTR;        { to indicate not defined yet }
  71.      
  72.      EOLforFile := LineFeed;
  73.  
  74.      Local := false;      { default to remote }
  75.  
  76.      OneWayOnly := false;
  77.      Verbosity := false;       { default to false / only valid if local }
  78.      Debug := false;
  79.      RunType := invalid;
  80.      DiskFile := IOERROR;      { to indicate not open yet }
  81.      LineIN := STDIN;
  82.      LineOUT := STDOUT;
  83.      exitProgram := false;
  84.      invalidConnection := true;
  85.  
  86.      { defaults for parser }
  87.  
  88.      localEcho := oOFF;
  89.      fileWarn := oON;
  90.      debugging := oOFF;
  91.      parity := oEVEN;
  92.      eightBitQuoting := oON;
  93.  
  94.      writeln(UTCSVERSION);
  95.      writeln(COPY1);
  96.      writeln(COPY2);    
  97.      SYSinit;             {  system dependent  }
  98.  
  99.    END;
  100.  
  101.  
  102.   PROCEDURE FinishUp(ok : boolean); { do any End of Program clean up }
  103.    BEGIN
  104.      Sclose(DiskFile);
  105.      SYSfinish;              { do System dependent }
  106.      oldRunType := RunType;
  107.    END;
  108.  
  109.  
  110.  
  111.  
  112.  
  113.