home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / pub / rt11pascal / rtkext.pas < prev    next >
Pascal/Delphi Source File  |  2020-01-01  |  5KB  |  215 lines

  1.   { EXTERNALS  used  for SendSwitch & RecvSwitch 
  2.           (    Not all    are used )          }
  3.  
  4.   { prims -- primitive functions and procedures      }
  5.  
  6.   PROCEDURE stiphalt; {    used by    external procedures for    halt }
  7.   EXTERNAL;
  8.  
  9.   { initio (RT-11) -- initialize open file list    }
  10.   PROCEDURE initio;
  11.   EXTERNAL;
  12.  
  13.   { open (RT-11) -- open a file    for reading or writing }
  14.   FUNCTION Sopen (VAR name : string; omode : integer) :    filedesc;
  15.   EXTERNAL;
  16.  
  17.   FUNCTION getc    (VAR c : character) : character;
  18.   EXTERNAL;
  19.  
  20.   { getcf (UCB)    -- get one character from file }
  21.   FUNCTION getcf (VAR c: character; fd : filedesc) : character;
  22.   EXTERNAL;
  23.  
  24.   { getline (UCB) -- get a line    from file }
  25.   FUNCTION getline (VAR    s : string; fd : filedesc;
  26.             maxsize : integer) : boolean;
  27.   EXTERNAL;
  28.  
  29.   PROCEDURE putc (c : character);
  30.   EXTERNAL;
  31.  
  32.   { putcf (UCB)    -- put a single    character on file fd }
  33.   PROCEDURE putcf (c : character; fd : filedesc);
  34.   EXTERNAL;
  35.  
  36.   { putstr (UCB) -- put    out string on file }
  37.   PROCEDURE putstr (VAR    s : string; f :    filedesc);
  38.   EXTERNAL;
  39.  
  40.   { close (omsi) -- close a file }
  41.   PROCEDURE Sclose (fd : filedesc);
  42.   EXTERNAL;
  43.  
  44.   { close all files on exit }
  45.   PROCEDURE closeall;
  46.   EXTERNAL;
  47.  
  48.   { utilities }
  49.   { itoc - convert integer n to    char string in s[i]... }
  50.   FUNCTION itoc    (n : integer; VAR s : string; i    : integer) : integer; 
  51.      { returns end of s    }
  52.   EXTERNAL;
  53.  
  54.   { length -- compute length of    string }
  55.   FUNCTION length (VAR s : string) : integer;
  56.   EXTERNAL;
  57.  
  58.   { scopy -- copy string at src[i] to dest[j] }
  59.   PROCEDURE scopy (VAR src : string; i : integer;
  60.            VAR dest : string; j    : integer);
  61.   EXTERNAL;
  62.  
  63.   { index -- find position of character    c in string s }
  64.   FUNCTION index (VAR s    : string; c : character) : integer;
  65.   EXTERNAL;
  66.  
  67.   PROCEDURE CtoS({ Using } x:cstring; {    Returning } VAR    s:string);
  68.     { convert constant to STIP string }
  69.   EXTERNAL;
  70.  
  71.   FUNCTION Exists({ Using } VAR    s:string): { Returning } boolean;
  72.   EXTERNAL;
  73.  
  74.   { number of arguments    -- RT-11 }
  75.   FUNCTION nargs : integer;
  76.   EXTERNAL;
  77.  
  78.   { getarg (RT-11) -- copy n-th    command    line argument into s }
  79.   FUNCTION getarg (n : integer;    VAR s :    string;
  80.            maxs    : integer) : boolean;
  81.   EXTERNAL;
  82.  
  83.   PROCEDURE PutCon({ Using } x:cstring;
  84.            { Using } fd:filedesc);
  85.     { output literal preceeded by NEWLINE }
  86.   EXTERNAL;
  87.  
  88.   PROCEDURE PutCln({ Using } x:cstring;
  89.            { Using } fd:filedesc);
  90.     { output literal followed by NEWLINE }
  91.   EXTERNAL;
  92.  
  93.   PROCEDURE PutNum({ Using } n:integer;
  94.            { Using } fd:filedesc);
  95.     { Ouput number }
  96.   EXTERNAL;
  97.  
  98.   PROCEDURE PutCS({ Using } x:cstring;
  99.           { Using } s :    string;
  100.           { Using } fd:filedesc);
  101.   EXTERNAL;
  102.  
  103.   PROCEDURE PutCN({ Using } x:cstring;
  104.           { Using } v :    integer;
  105.           { Using } fd:filedesc);
  106.   EXTERNAL;
  107.  
  108.   PROCEDURE AddTo({ Updating } VAR sum : Stats;
  109.           { Using }  inc:integer);
  110.   EXTERNAL;
  111.  
  112.   PROCEDURE Sleep({ Using } t:integer);    { pause    for t seconds }
  113.   EXTERNAL;
  114.  
  115.   PROCEDURE PutPacket( p : Ppack); { Output Packet }
  116.   EXTERNAL;
  117.  
  118.   FUNCTION GetIn { Returning } :character;  { get character }
  119.     { Should return NULL if no characters }
  120.   EXTERNAL;
  121.  
  122.   PROCEDURE StartTimer;
  123.   EXTERNAL;
  124.  
  125.   PROCEDURE StopTimer;
  126.   EXTERNAL;
  127.  
  128.   FUNCTION MakeChar({ Using } c:character): { Returning    } character;
  129.     { convert integer to printable }
  130.   EXTERNAL;
  131.  
  132.   FUNCTION UnChar({ Using } c:character): { Returning }    character;
  133.     { reverse of makechar }
  134.   EXTERNAL;
  135.  
  136.   FUNCTION IsControl( c:character):  boolean;
  137.     { true if control }
  138.   EXTERNAL;
  139.  
  140.   FUNCTION Ctl(    c:character):  character;
  141.     { c    XOR 100    }
  142.   EXTERNAL;
  143.  
  144.   FUNCTION CheckFunction({ Using } c:integer): { Returning } character;
  145.     { calculate    checksum }
  146.   EXTERNAL;
  147.  
  148.   PROCEDURE EnCodeParm({ Updating } VAR    data:string);
  149.     { encode parameters    }
  150.   EXTERNAL;
  151.  
  152.   PROCEDURE DeCodeParm({ Using } VAR data:string); { decode parameters }
  153.   EXTERNAL;
  154.  
  155.   PROCEDURE SYSinit; { special initialization }
  156.   EXTERNAL;
  157.  
  158.   PROCEDURE SYSfinish; { System    dependent }
  159.   EXTERNAL;
  160.  
  161.   PROCEDURE StartRun; {    initialization as necessary }
  162.   EXTERNAL;
  163.  
  164.   PROCEDURE OpenPort;
  165.   EXTERNAL;
  166.  
  167.   PROCEDURE BadVTerminalConnect;
  168.   EXTERNAL;
  169.  
  170.   PROCEDURE MakeConnection;
  171.   EXTERNAL;
  172.  
  173.   PROCEDURE KermitInit;     { initialize various parameters  & defaults }
  174.   EXTERNAL;
  175.  
  176.   PROCEDURE FinishUp(ok    : boolean); { do any End of Program clean up }
  177.   EXTERNAL;
  178.  
  179.   PROCEDURE DebugPacket({ Using    }    mes : cstring;
  180.             { Using    }  VAR p : Ppack);
  181.     { Print Debugging Info }
  182.   EXTERNAL;
  183.  
  184.   PROCEDURE ReSendPacket;
  185.     { re -sends    previous packet    }
  186.   EXTERNAL;
  187.  
  188.   PROCEDURE SendPacket;
  189.   EXTERNAL;
  190.  
  191.   PROCEDURE SendACK({ Using } n:integer); { send ACK packet }
  192.   EXTERNAL;
  193.  
  194.   PROCEDURE SendNAK({ Using } n:integer); { send NAK packet }
  195.   EXTERNAL;
  196.  
  197.   PROCEDURE ErrorPack({    Using }    c:cstring);
  198.     { output Error packet if necessary -- then exit }
  199.   EXTERNAL;
  200.  
  201.   PROCEDURE Verbose({ Using } c:cstring);
  202.     { Print mssage if verbosity    }
  203.   EXTERNAL;
  204.  
  205.   PROCEDURE PutErr({ Using } c:cstring);
  206.     { Print error_messages }
  207.   EXTERNAL;
  208.  
  209.   FUNCTION RecvPacket: boolean;
  210.   EXTERNAL;
  211.  
  212.   FUNCTION RecvACK : { Returning } boolean;
  213.     { receive ACK with correct number }
  214.   EXTERNAL;
  215.