home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
sinclairqlb.zip
/
ql2hdr.bcp
next >
Wrap
Text File
|
1988-08-16
|
10KB
|
279 lines
// This is file QL2HDR.BCP
//
// To be renamed FLP2_KERHDR for QDOS
/*
KERMIT manifest declarations and globals
Original version : C G Selwyn, University of Bath
This version : D Harper, University of Liverpool
*/
MANIFEST
$(
version = 1
update = 0
soh = 1 // Start of header
sp = 32 // ASCII space
cr = 13 // ASCII Carriage return
lf = 10 // ASCII Line Feed
bs = 8 // ASCII backspace
bel = 7 // ASCII bell
ff = 12 // ASCII formfeed
del = 127 // ASCII rubout
USC = 31 // QConnect escape-sequence character
ctrld = 4
brkchr = ctrld // Default escape character
rpack.timeout = -1 // rpack routine timeout character
myquote = '#' // Quote character I will use
mypad = 0 // Number of padding characters I will need
mypchar = 0 // Padding character I will need
myeol = '*N' // End of line character I will need
mytime = 5 // Seconds after which I should be timed out
myquote8 = '&' // My 8 bit quoting character
maxtim = 20 // Maximum Time out interval
mintim = 2 // Minimum time out interval
maxfiles = 10 // Maximum no. of files in argument string
null = 0
xoff = 'S'-'@'
xon = 'Q'-'@'
argvl = 50
w.num.commands = 13
w.s = 1
w.r = 2
w.c = 3
w.e = 4
w.help = 5
w.set = 6
w.show = 7
w.server = 8
w.finish = 9
w.get = 10
w.take = 11
w.close = 12
w.disconn = 13
ws.num.commands = 27
ws.debug = 1
ws.delay = 2
ws.duplex = 3
ws.8bitpfx = 4
ws.eol = 5
ws.escchar = 6
ws.flowcon = 7
ws.marker = 8
ws.packetlength = 9
ws.padding = 10
ws.parity = 11
ws.pause = 12
ws.prefix = 13
ws.retry = 14
ws.timeout = 15
ws.line = 16
ws.baud = 17
ws.bchk = 18
ws.handshake = 19
ws.log = 20
ws.overwrite = 21
ws.repeatcount = 22
ws.dir = 23
ws.termtype = 24
ws.interface = 25
ws.padchar = 26
ws.take.echo = 27
kbd.f1 = 232
kbd.f2 = 236
kbd.f3 = 240
kbd.f4 = 244
kbd.f5 = 248
kbd.esc = 27
kbd.ctrl.esc = 128
kbd.del = 127
kbd.left = #XC0
kbd.ctl.left = #XC2
interface.none = 0 // No little black boxes
interface.qconnect = 1 // Tandata's little black box
p.plen = 0
p.pad = 1
p.padchar= 2
p.eol = 3
p.sop = 4
p.quote = 5
p.timeout= 6
p.upb = 6
tickspersecond = 50 // 50 Hz clock
ticksperminute = tickspersecond * 60
ticksperhour = ticksperminute * 60
ticksperday = ticksperhour * 24
bitsperbyte = 10
$)
GLOBAL
$( size : ug // Size of present data
// ug+1
// ug+2
// ug+3 // Used by prshdr
// ug+4
// ug+5
n : ug+6 // Message number
r.packet.length : ug+7 // Maximum recieve packet size
r.pad : ug+8 // How much padding to send
r.padchar : ug+9 // Padding character to be received
r.eol : ug+10 // End of line character to be received
r.sop : ug+11 // Start of receive packet character
r.quote : ug+12 // Receive quote character
r.timeout : ug+13 // Timeout on receive
s.packet.length : ug+14 // Maximum send packet size
s.pad : ug+15 // How much padding to send
s.padchar : ug+16 // Padding character to be sent
s.eol : ug+17 // End of line character to be sent
s.sop : ug+18 // Start of packet character to send
s.quote : ug+19 // Send quote character
s.timeout : ug+20 // Timeout for my send packet
serving : ug+21 // Server mode
numtry : ug+22 // Times this packet retried
oldtry : ug+23 // Times previous packet retried
fd : ug+24 // Scb pointer for read/write file
remfd : ug+25 // Console handler number of remote line
image : ug+26 // True means 8 bit mode
pakcnt : ug+27 // No. of packets
debug : ug+28 // Means we're debugging (Unlucky for some)
astate : ug+29 // Present state of the automaton
escchr : ug+30 // Connect command escape character
local.fname : ug+31 // Local name of current file
filnam : ug+32 // Current file name
recpkt : ug+33 // Receive packet buffer
packet : ug+34 // Packet buffer
readchar : ug+35 // Read-a-byte-from-RS233 routine
qcon.init : ug+36 // Tandata QConnect init flag
filecnt : ug+37 // Output file count
disconn : ug+38 // Disconnect routine
end.connect : ug+39 // Flag to end connect mode
console : ug+40 // Console stream
take.echo : ug+41 //
endtime : ug+42 // Finish time for rpack timeout
debug.fd : ug+43 // Debug option logging file
remote : ug+44 // True means we're a remote kermit
local : ug+45 // User kermit flag
remote.delay : ug+46 // Delay to sending Send-Init packet if remote
parse.table : ug+47 // Current parameter table vector used by the parser
argv : ug+48 // Argument vector
argvp : ug+49 // Next free slot in argument vector
numfiles : ug+50 // No. of files to be sent
command : ug+51 // sic.
cbuf : ug+52 // Command line buffer
cptr : ug+53 // Command line buffer pointer
starttime : ug+54 // Start time of last transfer
finishtime : ug+55 // Finish time of last transfer
bytes : ug+56 // No. of bytes transfered
quote8 : ug+57 // 8-bit quoting character
quote8ing : ug+58 // Flag 8-bit quoting operational
word : ug+59 // Current word to send if in image mode
wptr : ug+60 // Pointer into above
reporting : ug+61 // Progress reporting flag
currentin : ug+62 // Current command input stream
reclevel : ug+63 // Recursion level
erroring : ug+64 // Error flag
sendchars : ug+65 // Current routine for sending a buffer
parse.buf : ug+66 // Storage for parsed command line
message.pkts : ug+68 // Queue of unprocessed message pkts
main.com.table : ug+69 // Table of main command word
set.com.table : ug+70 // Table of SETtable options
//
// These are the high-level Kermit protocol routines
//
spack : ug+80 // Send-packet routine
rpack : ug+81 // Receive-packet utility
recsw : ug+82 // State-switcher for RECEIVE function
sendsw : ug+83 // State-switcher for SEND function
rpar : ug+84 // Routine to receive remote host's parameters
spar : ug+85 // Routine to send our parameters to host
//
datstamp : ug+86 // Routine to record the time
message : ug+87 // Routine to send a message to the console
nwords : ug+88 // Number of words in the input line
connect : ug+89 // Terminal-emulation top-level routine
maxtry : ug+90 // Number of retries
maxpack : ug+91
set.function.table : ug+92 // Table of "SET" function addresses
//
// Now follow the global names of the various "SET" functions
//
not.yet.implemented : ug+93 // For unimplemented functions
//
set.debug : ug+94
set.delay : ug+95
set.8bitprefixing : ug+96
set.eol : ug+97
set.terminal.escape : ug+98
set.marker : ug+99
set.packetlength : ug+100
set.padding : ug+101
set.parity : ug+102
set.pause : ug+103
set.prefix : ug+104
set.retry : ug+105
set.timeout : ug+106
set.line : ug+107
set.baud : ug+108
set.duplex : ug+109
set.interface : ug+110
set.handshake : ug+111
set.pad.char : ug+112
set.take.echo : ug+113
//
//
// These are the globals defining the serial line characteristics
//
ser.duplex : ug+120
ser.parity : ug+121
ser.baud : ug+122
ser.handshake : ug+123
ser.line : ug+124
ser.escape : ug+125
ser.pause : ug+126
ser.interface : ug+127
ser.name : ug+128
ser.corrupt : ug+129
qcon.baud : ug+130
//
// More useful global routines
//
do.parse : ug+140
strcomp : ug+141
open.serial.line : ug+142
find.new.file : ug+143
find.old.file : ug+144
qcon.reset : ug+145
qcon.initialise : ug+146
qcon.rdch : ug+147
raw.rdch : ug+148
baud : ug+149
do.set : ug+150
show.set : ug+151
ink : ug+152
report : ug+153
//
// and other globals ...
//
debug.fd : ug+170
sys.abort : ug+171 // BCPL abort routine
kermit.abort : ug+172 // Re-direction of ABORT
catastrophe : ug+173 // for private disasters !
debug.report : ug+174 // debugging reports
$)