home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ucsdibmpc.zip / kermglob.text < prev    next >
Text File  |  1984-05-23  |  4KB  |  112 lines

  1. unit kermglob;
  2.  
  3. interface
  4.  
  5.    const blksize = 512;
  6.          oport = 8;          (* output port # *)
  7.          inport = 7;
  8.          keyport = 2;
  9.          bell = 7;           (* ASCII bell *)
  10.          maxpack = 93;       (* maximum packet size minus 1 *)
  11.          soh = 1;            (* start of header *)
  12.          sp = 32;            (* ASCII space *)
  13.          cr = 13;            (* ASCII CR *)
  14.          lf = 10;            (* ASCII line feed *)
  15.          xdle = 16;           (* ASCII DLE (space compression prefix for psystem) *)
  16.          del = 127;          (* delete *)
  17.          my_esc = 29;        (* default esc char for connect (^]) *)
  18.          maxtry = 5;         (* number of times to retry sending packet *)
  19.          my_quote = '#';     (* quote character I'll use *)
  20.          my_pad = 0;         (* number of padding chars I need *)
  21.          my_pchar = 0;       (* padding character I need *)
  22.          my_eol = 13;        (* end of line character i need *)
  23.          my_time = 5;        (* seconds after which I should be timed out *)
  24.          maxtim = 20;        (* maximum timeout interval *)
  25.          mintim = 2;         (* minimum time out interval *)
  26.          at_eof = -1;        (* value to return if at eof *)
  27.          rqsize = 5000;      (* input queue size *)
  28.          qsize1 = 5001;      (* qsize + 1 *)
  29.          eoln_sym = 13;      (* pascal eoln sym *)
  30.          back_space = 8;     (* pascal backspace sym *)
  31.          defaultbaud = 1200; (* default baud rate *)
  32.  
  33.    (* screen control information *)
  34.      (* console line on which to put specified info *)
  35.          title_line = 1;
  36.          statusline = 2;
  37.          packet_line = 3;
  38.          retry_line = 4;
  39.          file_line = 5;
  40.          error_line = 6;
  41.          debug_line = 7;
  42.          prompt_line = 8;
  43.      (* position on line to put info *)
  44.          statuspos = 70;
  45.          packet_pos = 19;
  46.          retry_pos = 17;
  47.          file_pos = 11;
  48.  
  49.    type packettype = packed array[0..maxpack] of char;
  50.         parity_type = (evenpar, oddpar, markpar, spacepar, nopar);
  51.  
  52.         char_int_rec = record (* allows character to be treated as integer... *)
  53.                               (* is system dependent *)
  54.                          case boolean of
  55.                              true: (i: integer);
  56.                              false: (ch: char)
  57.                        end; (* record *)
  58.  
  59.         int_bool_rec = record (* allows integer to be treated as boolean... *)
  60.                               (* used for numeric and, or, xor...system dependent *)
  61.                          case boolean of
  62.                              true: (i: integer);
  63.                              false: (b: boolean)
  64.                        end; (* record *)
  65.  
  66.         string255 = string[255];
  67.  
  68.  
  69.         statustype = (null, at_eol, unconfirmed, parm_expected, ambiguous,
  70.                       unrec, fn_expected, ch_expected, num_expected);
  71.         vocab = (nullsym, allsym, baudsym, consym, debugsym, emulatesym,
  72.                  escsym, evensym, exitsym, filewarnsym,helpsym, ibmsym,
  73.                  localsym, marksym, nonesym, oddsym, offsym, onsym, paritysym,
  74.                  quitsym, recsym, sendsym, setsym, showsym, spacesym);
  75.  
  76.         scrcommands = (sc_up, sc_right, sc_clreol, sc_clreos, sc_home,
  77.                        sc_escape, sc_left, sc_clrall, scr_clrline);
  78.  
  79.     var noun, verb, adj: vocab;
  80.         status: statustype;
  81.         vocablist: array[vocab] of string255;
  82.         xfilename, line: string255;
  83.         newescchar: char;
  84.         expected: set of vocab;
  85.         newbaud: integer;
  86.  
  87.         currstate: char; (* current state *)
  88.         f: file of char; (* file to be received *)
  89.         oldf: file; (* file to be sent *)
  90.         s: string255;
  91.         xeol, quote, esc_char: char;
  92.         fwarn, ibm, half_duplex, debug: boolean;
  93.         i, size, rpsiz, spsiz, pad, n, num_try, oldtry, timint: integer;
  94.         recpkt, packet: packettype;
  95.         padchar, ch: char;
  96.         debf: text; (* file for debug output *)
  97.         parity: parity_type;
  98.         xon: char;
  99.         filebuf: packed array[1..1024] of char;
  100.         bufpos, bufend: integer;
  101.         parity_array: packed array[char] of char;
  102.         ctlset: set of char;
  103.         rec_ok, send_ok: boolean;
  104.         baud: integer;
  105.         emulating: boolean;
  106.  
  107. implementation
  108.  
  109.  
  110. end. { kermglob }
  111.  
  112.