home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
ucsdpecan
/
kermglob.text
< prev
next >
Wrap
Text File
|
1990-08-04
|
5KB
|
131 lines
unit kermglob;
interface
{Change log:
13 May 89, V1.1: Added COMMENT vocab. & Eliminated "int_bool_rec" RTC
30 Apr 89, V1.1: Added vocabulary for SET INTERFACE command RTC
26 Apr 89, V1.1: minor cleanups RTC
16 Apr 89, V1.1: Added BYE & FINISH commands RTC
13 Apr 89, V1.1: Added Version message RTC
14 Aug 88: Added LOG, CLOSE, and SET SYSTEM commands RTC
31 Jul 88: Added variable system_id string for REMUNIT RTC
31 Jul 88: Added attributes packets & exact size bin. xfrs RTC
10 Jul 88: Removed screen command definitions RTC
30 Jun 88: Modified for binary files, "take", ^X & ^Z RTC
}
const
blksize = 512;
oport = 8; (* output port # *)
inport = 7;
keyport = 2;
bell = 7; (* ASCII bell *)
maxpack = 93; (* maximum packet size minus 1 *)
soh = 1; (* start of header *)
sp = 32; (* ASCII space *)
cr = 13; (* ASCII CR *)
lf = 10; (* ASCII line feed *)
del = 127; (* delete *)
can_cur = 24; { cancel current file char ^X }
can_all = 26; { cancel all files char ^Z }
my_esc = 29; (* default esc char for connect (^]) *)
maxtry = 5; (* number of times to retry sending packet *)
my_quote = '#'; (* quote character I'll use *)
my_qbin = '&'; { 8th bit quote character I want }
my_pad = 0; (* number of padding chars I need *)
my_pchar = 0; (* padding character I need *)
my_eol = 13; (* end of line character i need *)
my_time = 5; (* seconds after which I should be timed out *)
maxtim = 20; (* maximum timeout interval *)
mintim = 2; (* minimum time out interval *)
at_eof = -1; (* value to return if at eof *)
at_badblk = -2; { value to return if at bad block }
{rqsize = 5000; (* input queue size *)
qsize1 = 5001; (* qsize + 1 *)}
eoln_sym = 13; (* pascal eoln sym *)
back_space = 8; (* pascal backspace sym *)
defaultbaud = 1200; (* default baud rate *)
(* screen control information *)
(* console line on which to put specified info *)
menu_line = 0;
title_line = 2;
statusline = 3;
packet_line = 4;
retry_line = 5;
file_line = 6;
error_line = 7;
debug_line = 8;
prompt_line = 9;
(* position on line to put info *)
statuspos = 60;
packet_pos = 19;
retry_pos = 17;
file_pos = 11;
type packettype = packed array[0..maxpack] of char;
parity_type = (evenpar, oddpar, markpar, spacepar, nopar);
string255 = string[255];
statustype = (null, at_eol, unconfirmed, parm_expected, ambiguous,
unrec, fn_expected, ch_expected, num_expected);
vocab = (nullsym, allsym, baudsym, binsym, byesym, closesym, comsym,
consym, convsym, debugsym, emulatesym, escsym, evensym,
exitsym, filenamsym, filetypesym, filewarnsym, finsym,
getsym, helpsym, ibmsym, intsym, kermitsym, litsym,
localsym, logsym, marksym, nonesym, oddsym, offsym, onsym,
paritysym, putsym, quitsym, recsym, sendsym, setsym,
showsym, spacesym, systemsym, takesym, textsym, ucsdsym,
versionsym);
var noun, verb, adj: vocab;
status: statustype;
vocablist: array[vocab] of string[13];
xfilename, line: string255;
newescchar: char;
expected: set of vocab;
newbaud: integer;
currstate: char; (* current state *)
xeol, quote, qbin, esc_char: char;
lit_names, f_is_binary, fwarn, ibm, half_duplex,
en_attr, en_qbin, debug: boolean;
i, size, rpsiz, spsiz, pad, n, num_try, oldtry, timint: integer;
recpkt, packet: packettype;
padchar, ch: char;
s: string255;
debf: text; (* file for debug output *)
parity: parity_type;
xon: char;
filebuf: packed array[1..blksize] of char;
bufpos, bufend: integer;
parity_array: packed array[char] of char;
ctlset: set of char;
rec_ok, send_ok: boolean;
baud: integer;
emulating: boolean;
last_blksize : integer; {size of last block of boolean file}
t_file : text {file for text file transfers};
b_file : file {file for binary file transfers};
cmd_file : text {file of "take" commands};
ker_version, { version id for other units }
system_id : string {id string for REMUNIT};
procedure gbl_version;
implementation
const
my_version = ' Kermglob Unit V1.1, 13 May 89';
procedure gbl_version;
begin
writeln(my_version)
end {gbl_version};
end. { kermglob }