home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
vmskermit32.zip
/
vmsmit.mar
< prev
next >
Wrap
Text File
|
1991-02-20
|
449KB
|
10,660 lines
; 0001 0 MODULE KERMIT (IDENT = '3.3.128', MAIN = MAIN_ROUTINE,
; 0002 0 ADDRESSING_MODE(EXTERNAL = GENERAL, NONEXTERNAL = GENERAL)
; 0003 0 ) =
; 0004 0
; 0005 1 BEGIN
; 0006 1
; 0007 1 BIND
; 0008 1 IDENT_STRING = %ASCID'VMS Kermit-32 version 3.3.128'; ! Ident message
; 0009 1
; 0010 1 !++
; 0011 1 ! FACILITY:
; 0012 1 ! KERMIT-32
; 0013 1 !
; 0014 1 ! ABSTRACT:
; 0015 1 ! KERMIT-32 is an implementation of the KERMIT protocal to allow the
; 0016 1 ! transfer of files from micro computers to the DECsystem-10, DECSYSTEM-20
; 0017 1 ! and now the VAX/VMS systems.
; 0018 1 !
; 0019 1 ! ENVIRONMENT:
; 0020 1 ! User mode
; 0021 1 !
; 0022 1 ! AUTHOR: Robert C. McQueen, CREATION DATE: 24-January-1983
; 0023 1 !
; 0024 1 ! MODIFIED BY:
; 0025 1 !
; 0026 1 !--
; 0027 1
; 0028 1 %SBTTL 'Table of Contents'
; 0029 1 %SBTTL 'Revision History'
; 0030 1
; 0031 1 !++
; 0032 1 ! Start of version 1.
; 0033 1 !
; 0034 1 ! 1.0.000 By: Robert C. McQueen On: 4-Jan-1983
; 0035 1 ! Create this program.
; 0036 1 !
; 0037 1 ! 1.0.001 By: Robert C. McQueen On: 4-May-1983
; 0038 1 ! Allow RECEIVE without a file specification to mean
; 0039 1 ! use what ever the remote says.
; 0040 1 !
; 0041 1 ! 1.1.002 By: W. Hom On: 6-July-1983
; 0042 1 ! Implement CONNECT command.
; 0043 1 !
; 0044 1 ! 1.2.003 By: Robert C. McQueen On: 15-Aug-1983
; 0045 1 ! Add SET PARITY command and SHOW PARITY to support
; 0046 1 ! eight bit quoting.
; 0047 1 !
; 0048 1 ! 1.2.004 By: Robert C. McQueen On: 23-August-1983
; 0049 1 ! Add dummy routine SY_TIME.
; 0050 1 !
; 0051 1 ! 1.2.005 By: Robert C. McQueen On: 23-August-1983
; 0052 1 ! Add SET [SEND | RECEIVE] EIGHT-BIT-QUOTE <octal>
; 0053 1 ! command. Add message for SHOW RECEIVE and SHOW SEND parameters
; 0054 1 !
; 0055 1 ! 1.2.006 By: Robert C. McQueen On: 26-August-1983
; 0056 1 ! Add BYE, FINISH and LOGOUT commands. These commands call
; 0057 1 ! DO_GENERIC to send generic functions to remote servers.
; 0058 1 !
; 0059 1 ! 1.2.007 By: Robert C. McQueen On: 16-September-1983
; 0060 1 ! Implement SY_TIME, and XFR_STATUS routines.
; 0061 1 ! Add more stat type out.
; 0062 1 !
; 0063 1 ! 1.2.008 By: Robert C. McQueen On: 19-September-1983
; 0064 1 ! Add the SET RETRY command and the SHOW RETRY command.
; 0065 1 !
; 0066 1 ! 1.2.009 By: Robert C. McQueen On: 20-September-1983
; 0067 1 ! Add CRCCLC routine for calculating CRC-CCITT.
; 0068 1 ! Set SET BLOCK_CHECK_TYPE and SHOW BLOCK_CHECK_TYPE commands.
; 0069 1 !
; 0070 1 ! 1.2.010 By: Nick Bush On: 3-October-1983
; 0071 1 ! SERVER (in KERMSG) actually returns a value. If it
; 0072 1 ! is "ABORTED", then we should prompt again. This allows
; 0073 1 ! a ^Y typed to the server to put it back into command
; 0074 1 ! level. (If you want to type out statistics or whatever).
; 0075 1 !
; 0076 1 ! 2.0.011 Release VAX/VMS Kermit-32 version 2.0
; 0077 1 !
; 0078 1 ! 2.0.012 By: Nick Bush On: 10-Nov-1983
; 0079 1 ! Add type out of version number. Also fix some
; 0080 1 ! problems with IBM mode and local echo.
; 0081 1 !
; 0082 1 ! 2.0.013 By: Nick Bush On: 11-Nov-1983
; 0083 1 ! Change how debugging output is done so that it
; 0084 1 ! can be redirected to the logical device KER$DEBUG.
; 0085 1 ! If the logical name is defined to be something other
; 0086 1 ! that SYS$OUTPUT, KERMIT will send any debugging output
; 0087 1 ! there.
; 0088 1 !
; 0089 1 ! 2.0.014 By: Robert C. McQueen On: 16-Nov-1983
; 0090 1 ! Make sure all message number checks are mod 64. There
; 0091 1 ! were four that weren't.
; 0092 1 !
; 0093 1 ! 2.0.015 By: Nick Bush On: 17-Nov-1983
; 0094 1 ! Always clear purge typeahead when posting receive QIO.
; 0095 1 ! Also, clear any typeahead just before sending a packet.
; 0096 1 !
; 0097 1 ! 2.0.016 By: Nick Bush On: 4-Dec-1983
; 0098 1 ! Change how binary files are written to (hopefully) improve
; 0099 1 ! the performance. We will now use 510 records and only
; 0100 1 ! write out the record when it is filled (instead of writing
; 0101 1 ! one record per packet). This should cut down on the overhead
; 0102 1 ! substantially.
; 0103 1 !
; 0104 1 ! 2.0.017 By: Nick Bush On: 9-Dec-1983
; 0105 1 ! Fix processing for VFC format files. Also fix GET_ASCII
; 0106 1 ! for PRN and FTN record types. Change GET_ASCII so that
; 0107 1 ! 'normal' CR records get sent with trailing CRLF's instead
; 0108 1 ! of <LF>record<CR>. That was confusing too many people.
; 0109 1 !
; 0110 1 ! 2.0.020 By: Nick Bush On: 9-Dec-1983
; 0111 1 ! Only abort (when remote) if we seen two control-Y's in
; 0112 1 ! succession. This way a single glitch does not kill us.
; 0113 1 !
; 0114 1 ! 2.0.021 By: Nick Bush On: 12-Dec-1983
; 0115 1 ! Add status type-out character (^A), debug toggle
; 0116 1 ! character (^D), and force timeout character (^M)
; 0117 1 ! to those accepted during a transfer when we are remote.
; 0118 1 !
; 0119 1 ! 2.0.022 By: Nick Bush On: 15-Dec-1983
; 0120 1 ! Add Fixed record size (512 byte) format for writing files.
; 0121 1 ! This can be used for .EXE files. Also clean up writing
; 0122 1 ! ASCII files so that we don't lose any characters.
; 0123 1 !
; 0124 1 ! 2.0.023 By: Nick Bush On: 16-Dec-1983
; 0125 1 ! Add a default terminal name for the communications line.
; 0126 1 ! If KER$COMM is defined, that will be the default.
; 0127 1 !
; 0128 1 ! 2.0.025 By: Robert C. McQueen On: 22-Dec-1983
; 0129 1 ! Use RMSG_COUNT and SMSG_COUNT now.
; 0130 1 !
; 0131 1 ! 2.0.026 By: Nick Bush On: 3-Jan-1984
; 0132 1 ! Add options for format of file specification to be
; 0133 1 ! sent in file header packets. Also type out full file
; 0134 1 ! specification being sent/received instead of just
; 0135 1 ! the name we are telling the other end to use.
; 0136 1 !
; 0137 1 ! 2.0.027 By: Nick Bush On: 20-Jan-1984
; 0138 1 ! Fix reset of parity to use the correct field in the
; 0139 1 ! IO status block from the IO$_SENSEMODE. It was using
; 0140 1 ! the LF fill count instead.
; 0141 1 !
; 0142 1 ! 2.0.030 By: Nick Bush On: 3-Feb-1984
; 0143 1 ! Add the capability of receiving a file with a different
; 0144 1 ! name than given by KERMSG. The RECEIVE and GET commands
; 0145 1 ! now really are different.
; 0146 1 !
; 0147 1 ! 2.0.031 By: Nick Bush On: 4-Feb-1984
; 0148 1 ! Change connect code to improve response (hopefully
; 0149 1 ! without worsening throughput or runtime requirements).
; 0150 1 ! When either terminal is idle we will be waiting for
; 0151 1 ! a single character with a larger buffered read queued
; 0152 1 ! up immediately after it.
; 0153 1 !
; 0154 1 ! 2.0.032 By: Nick Bush On: 25-Feb-1984
; 0155 1 ! Add code for LOCAL and REMOTE commands. These depend
; 0156 1 ! upon support in KERMSG and KERSYS.
; 0157 1 !
; 0158 1 ! 2.0.033 By: Nick Bush On: 6-March-1984
; 0159 1 ! Change command input and terminal processing so that
; 0160 1 ! we will always have SYS$OUTPUT and SYS$COMMAND open
; 0161 1 ! when they are terminals, and will also always have
; 0162 1 ! the transfer terminal line open. This makes it
; 0163 1 ! unnecessary for the user to allocate a dialup line
; 0164 1 ! in order to go between CONNECT and a transfer command,
; 0165 1 ! and keep anyone else from grabbing the line between
; 0166 1 ! commands.
; 0167 1 ! Also add the command parsing for the rest of the LOCAL/REMOTE
; 0168 1 ! commands. This makes use of the fact that we have
; 0169 1 ! SYS$COMMAND open to allow us to read passwords without echo.
; 0170 1 ! Commands which should only be done when Kermit is local
; 0171 1 ! (GET, BYE, etc.) will now give an error if the transfer
; 0172 1 ! line is the same as the controlling terminal.
; 0173 1 ! SEND will now check for the files existance before calling
; 0174 1 ! KERMSG to send it.
; 0175 1 !
; 0176 1 ! 2.0.034 By: Nick Bush On: 7-March-1984
; 0177 1 ! Default the parity type to be that of the default transfer
; 0178 1 ! line. This should make things simpler for systems which use
; 0179 1 ! parity by default.
; 0180 1 !
; 0181 1 ! 2.0.035 By: Nick Bush On: 8-March-1984
; 0182 1 ! Add LOG SESSION command to set a log file for CONNECT.
; 0183 1 ! While we are doing so, clean up the command parsing a little
; 0184 1 ! so that we don't have as many COPY_xxx routines.
; 0185 1 !
; 0186 1 ! 2.0.036 By: Nick Bush On: 15-March-1984
; 0187 1 ! Fix PUT_FILE to correctly handle carriage returns which are
; 0188 1 ! not followed by line feeds. Count was being decremented
; 0189 1 ! Instead of incremented.
; 0190 1 !
; 0191 1 ! 2.0.037 By: Robert C. McQueen On: 20-March-1984
; 0192 1 ! Fix call to LOG_OPEN for debug log file.
; 0193 1 ! Module: KERTRM.
; 0194 1 !
; 0195 1 ! 2.0.040 By: Nick Bush On: 22-March-1984
; 0196 1 ! Fix processing of FORTRAN carriage control to handle lines
; 0197 1 ! which do not contain the carriage control character (i.e., zero
; 0198 1 ! length records). Previously, this type of record was sending
; 0199 1 ! infinite nulls.
; 0200 1 !
; 0201 1 ! 2.0.041 By: Nick Bush On: 26-March-1984
; 0202 1 ! Add SET PROMPT command.
; 0203 1 !
; 0204 1 ! 2.0.042 By: Nick Bush On: 26-March-1984
; 0205 1 ! Fix connect processing to make it easy to type messages
; 0206 1 ! on the user's terminal while connected. Use this
; 0207 1 ! to type messages when log file stopped and started.
; 0208 1 ! Include the node name in the messages to keep
; 0209 1 ! users who are running through multiple Kermit's from
; 0210 1 ! getting confused.
; 0211 1 !
; 0212 1 ! 2.0.043 By: Nick Bush On: 28-March-1984
; 0213 1 ! Fix SET PARITY ODD to work. Somehow, the table entry
; 0214 1 ! had PR_NONE instead of PR_ODD. Also add status type
; 0215 1 ! out and help message to connect command.
; 0216 1 !
; 0217 1 ! 2.0.044 By: Nick Bush On: 28-March-1984
; 0218 1 ! Fix SET SEND START_OF_PACKET to store in SND_SOH instead
; 0219 1 ! of RCV_SOH. Also, set TY_FIL false before calling FILE_OPEN
; 0220 1 ! to check for existence of send files.
; 0221 1 !
; 0222 1 ! 3.0.045 Start of version 3.
; 0223 1 !
; 0224 1 ! 3.0.046 By: Nick Bush On: 29-March-1984
; 0225 1 ! Fix debugging log file to correctly set/clear file open
; 0226 1 ! flag. Also make log files default to .LOG.
; 0227 1 !
; 0228 1 ! 3.0.047 By: Nick Bush On: 30-March-1984
; 0229 1 ! Fix SEND command processing to save and restore the file
; 0230 1 ! specification over the call to FILE_OPEN, since FILE_OPEN
; 0231 1 ! rewrites it with the resulting file name, losing any
; 0232 1 ! wild-cards.
; 0233 1 !
; 0234 1 ! 3.0.050 By: Nick Bush On: 2-April-1984
; 0235 1 ! Add SET SERVER_TIMER to determine period between idle naks.
; 0236 1 ! Also allow for a routine to process file specs before
; 0237 1 ! FILE_OPEN uses them. This allows individual sites to
; 0238 1 ! restrict the format of file specifications used by Kermit.
; 0239 1 !
; 0240 1 ! 3.0.051 By: Nick Bush On: 2-April-1984
; 0241 1 ! Fix command scanning to correctly exit after performing
; 0242 1 ! a single command when entered with a command present.
; 0243 1 !
; 0244 1 ! 3.1.052 By: Nick Bush On: 3-July-1984
; 0245 1 ! Fix KERCOM's definition of MAX_MSG to allow for all characters
; 0246 1 ! of packet to fit into buffers, not just the counted ones.
; 0247 1 !
; 0248 1 ! 3.1.053 By: Robert C. McQueen On: 9-July-1984
; 0249 1 ! Fix FORTRAN carriage control processing to pass along
; 0250 1 ! any character from the carriage control column that is
; 0251 1 ! not really carriage control.
; 0252 1 !
; 0253 1 ! 3.1.054 By: Nick Bush On: 13-July-1984
; 0254 1 ! Change TERM_OPEN to take an argument which determines
; 0255 1 ! whether it should post any QIO's. This makes it unnecessary
; 0256 1 ! for TERM_CONNECT to cancel the QIO's, and avoids problems
; 0257 1 ! with DECnet remote terminals.
; 0258 1 !
; 0259 1 ! 3.1.055 By: Nick Bush On: 27-August-1984
; 0260 1 ! Clear out FILE_SIZE before processing a RECEIVE command to
; 0261 1 ! ensure that KERMSG doesn't perform a GET.
; 0262 1 !
; 0263 1 ! 3.1.056 By: Nick Bush On: 28-August-1984
; 0264 1 ! Add a TAKE (or @) command. Also perform an initialization
; 0265 1 ! file on startup. This file is either VMSKERMIT.INI or
; 0266 1 ! whatever file is pointed to by the logical name VMSKERMIT.
; 0267 1 !
; 0268 1 ! 3.1.057 By: Nick Bush On: 21-Feb-1985
; 0269 1 ! Determine VMS version on startup and remember for later
; 0270 1 ! use. Use it in KERSYS to determine whether we will need
; 0271 1 ! to force an end-of-file on the mailbox when the subprocess
; 0272 1 ! on the other end goes away.
; 0273 1 !
; 0274 1 ! 3.1.060 By: Nick Bush On: 16-March-1985
; 0275 1 ! Increase size of terminal name buffers to account for large
; 0276 1 ! unit numbers (most likely seen with VTA's).
; 0277 1 !
; 0278 1 ! 3.1.061 By: Nick Bush On: 16-March-1985
; 0279 1 ! Only attempt to set parity back when closing terminal.
; 0280 1 !
; 0281 1 ! 3.1.062 By: Nick Bush On: 16-March-1985
; 0282 1 ! Previous edit broke remote commands - must post QIO's
; 0283 1 ! when opening terminals for these.
; 0284 1 !
; 0285 1 ! 3.1.063 By: Nick Bush On: 16-March-1985
; 0286 1 ! Fix status command to output right headers over data.
; 0287 1 !
; 0288 1 ! 3.1.064 By: Nick Bush On: 30-March-1985
; 0289 1 ! Fix LIB$SPAWN call to set SYS$INPUT for the subprocess
; 0290 1 ! to be NLA0: so that it doesn't try to input from the
; 0291 1 ! terminal.
; 0292 1 !
; 0293 1 ! 3.1.065 By: Nick Bush On: 10-April-1985
; 0294 1 ! Split IBM handshaking from parity and local echo. Allow
; 0295 1 ! link time setting of IBM_MODE defaults by defining symbols:
; 0296 1 !
; 0297 1 ! IBM_MODE_CHARACTER = character value of handshake character
; 0298 1 ! IBM_MODE_ECHO = 1 for local echo, 2 for no local echo
; 0299 1 ! IBM_MODE_PARITY = (0 = none), (1 = mark), (2 = even),
; 0300 1 ! (3 = odd), (4 = space).
; 0301 1 !
; 0302 1 ! If not specified, Kermit will continue to use DC1, local echo
; 0303 1 ! and odd parity for IBM_MODE.
; 0304 1 !
; 0305 1 ! 3.1.066 By: Nick Bush On: 22-April-1985
; 0306 1 ! Don't use NLA0: as SYS$INPUT when spawning things under VMS 3.
; 0307 1 !
; 0308 1 !
; 0309 1 ! Start version 3.2 on 8-May-1985
; 0310 1 !
; 0311 1 ! 3.2.067 By: Robert McQueen On: 8-May-1985
; 0312 1 ! Use $GETJPIW and $GETDVIW instead of $GETJPI and $GETDVI.
; 0313 1 ! Module: KERTRM, KERFIL
; 0314 1 !
; 0315 1 ! 3.2.070 By: Robert McQueen On: 17-Dec-1985
; 0316 1 ! Fix a problem with CRC calculations when 8 bit data and not
; 0317 1 ! 8 bit quoting.
; 0318 1 !
; 0319 1 ! 3.2.071 By: Robert McQueen On: 11-March-1986
; 0320 1 ! Fix a problem were KERMSG didn't allow for a line termination
; 0321 1 ! character in the buffer.
; 0322 1 !
; 0323 1 ! 3.2.072 By: Robert McQueen On: 11-March-1986
; 0324 1 ! Allow 0 as a valid value for SET SEND PADDING command.
; 0325 1 !
; 0326 1 ! 3.2.073 By: Robert McQueen On: 11-March-1986
; 0327 1 ! Fix a problem restoring the terminal characteristics under
; 0328 1 ! VMS 4.x
; 0329 1 !
; 0330 1 ! 3.2.074 By: Robert McQueen On: 11-March-1986
; 0331 1 ! Put MAX_MSG back the way it was and fix the problem correctly
; 0332 1 ! in KERMSG.
; 0333 1 !
; 0334 1 ! 3.2.075 By: Robert McQueen On: 8-April-1986
; 0335 1 ! Change how the FINISH command works. Cause it to go back to
; 0336 1 ! the Kermit-32 prompt, not exit.
; 0337 1 !
; 0338 1 ! 3.2.076 By: Robert McQueen On: 17-April-1986
; 0339 1 ! Set PASSTHRU in addition to everything else we change in VMSTRM.
; 0340 1 !
; 0341 1 ! 3.2.077 By: Robert McQueen On: 8-May-1986
; 0342 1 ! FIX FORTRAN CC!! (Once and for all I hope)
; 0343 1 !
; 0344 1 ! 3.2.100 By: Gregory P. Welsh On: 1-June-1986
; 0345 1 ! Add TRANSMIT command along with set SET/SHOW TRANSMIT ECHO
; 0346 1 ! and DELAY commands.
; 0347 1 !
; 0348 1 ! Start of version 3.3
; 0349 1 !
; 0350 1 ! 3.3.101 By: Robert C. McQueen On: 2-July-1986
; 0351 1 ! Change $TRNLOG system service calls to LIB$SYS_TRNLOG library
; 0352 1 ! routine. Handle no translation properly in VMSTRM.BLI.
; 0353 1 !
; 0354 1 ! 3.3.102 By: Robert McQueen On: 5-July-1986
; 0355 1 ! Add changes/fixes suggested by Art Guion and David Deley for
; 0356 1 ! VMSTRM.BLI
; 0357 1 ! - Turn off FALLBACK terminal characteristics for eightbit
; 0358 1 ! operations.
; 0359 1 ! - Decrease IBM timeouts when waiting for a handshake.
; 0360 1 !
; 0361 1 ! 3.3.103 By: Robert McQueen On: 5-July-1986
; 0362 1 ! Add changes/fixes suggested by David Deley for VMSMIT.BLI
; 0363 1 ! - Problem with an infinite loop getting a command.
; 0364 1 !
; 0365 1 ! 3.3.104 By: Robert McQueen On: 5-July-1986
; 0366 1 ! Add changes/fixes suggested by Art Guion and David Deley for
; 0367 1 ! KERMSG.BLI.
; 0368 1 ! - Always attempt a handshake in IBM mode. Failing to handshake
; 0369 1 ! may cause 3704/5 style controller to hang a VM system.
; 0370 1 ! - Don't lose the last character in a buffer. BFR_FILL logic
; 0371 1 ! forgets to send the last cahracters of a file when it doesn't
; 0372 1 ! fit into the current packet.
; 0373 1 !
; 0374 1 ! 3.3.105 By: Robert McQueen On: 8-July-1986
; 0375 1 ! Attempt to fix the truncation errors that we now get from
; 0376 1 ! LINK with BLISS-32 v4.2. Also do code clean up in VMSTRM and
; 0377 1 ! VMSFIL.
; 0378 1 !
; 0379 1 ! 3.3.106 By: Robert McQueen On: 8-July-1986
; 0380 1 ! Fix problem of closing a fixed file and losing data.
; 0381 1 !
; 0382 1 ! 3.3.107 By: Antonino N. Mione On: 8-Sep-1986
; 0383 1 ! Do not abort on ERROR packet while in SERVER mode. Instead,
; 0384 1 ! return to SERVER IDLE mode.
; 0385 1 !
; 0386 1 ! 3.3.110 By: Antonino N. Mione On: 8-Sep-1986
; 0387 1 ! Make KERMIT-32 close the terminal (so the terminal
; 0388 1 ! parameters are appropriately reset) upon reciept of
; 0389 1 ! a GENERIC LOGOUT packet.
; 0390 1 !
; 0391 1 ! 3.3.111 By: Robert McQueen On: 2-Oct-1986
; 0392 1 ! Make Kermit-32 not eat the parity from a CR if a LF doesn't
; 0393 1 ! follow it when writing an ASCII file.
; 0394 1 !
; 0395 1 ! 3.3.112 JHW0001 Jonathan H. Welch, 28-Apr-1988 12:11
; 0396 1 ! Fix the message generated in NEXT_FILE so that the
; 0397 1 ! filenames displayed (i.e. Sending: foo.bar;1 as foo.bar)
; 0398 1 ! are always terminated by a null (ASCIZ).
; 0399 1 !
; 0400 1 ! 3.3.113 JHW0002 Jonathan H. Welch, 5-May-1988 11:48
; 0401 1 ! Modified SY_TIME to use $GETTIM as opposed to the LIB$timer
; 0402 1 ! routines (which broke when their method of calculating
; 0403 1 ! time differences changed in V4.4?).
; 0404 1 !
; 0405 1 ! Removed the call to LIB$INIT_TIMER in SY_INIT.
; 0406 1 !
; 0407 1 ! 3.3.114 JHW003 Jonathan H. Welch, 6-May-1988 9:41
; 0408 1 ! Modified MAIN_ROUTINE to return the status code from
; 0409 1 ! COMND when exiting.
; 0410 1 !
; 0411 1 ! Note: The error message codes returned are internal
; 0412 1 ! Kermit-32 error codes.
; 0413 1 !
; 0414 1 ! 3.3.115 JHW004 Jonathan H. Welch, 9-May-1988
; 0415 1 ! Added the ability to send a break character to
; 0416 1 ! the outgoing terminal session using the sequence
; 0417 1 ! esc-chr B. The break will be sent after the next
; 0418 1 ! character arrives. This is because there must be
; 0419 1 ! no outstanding I/O on a channel in order to modify
; 0420 1 ! terminal characteristics (necessary to send a break).
; 0421 1 !
; 0422 1 ! 3.3.116 JHW005 Jonathan H. Welch, 12-May-1988 8:35
; 0423 1 ! Modified COMND_HELP to look for the kermit help
; 0424 1 ! file called KERMIT_HELP or pointed to by the logical
; 0425 1 ! name KERMIT_HELP. Thus if a user wants to have the
; 0426 1 ! kermit help file in a directory other than SYS$HELP
; 0427 1 ! it is not necessary to define the logical name KERMIT
; 0428 1 ! (which causes problems: i.e. RUN KERMIT will fail).
; 0429 1 !
; 0430 1 ! 3.3.117 JHW006 Jonathan H. Welch, 12-May-1988
; 0431 1 ! Calls to LIB$SIGNAL with multiple arguments were
; 0432 1 ! not coded correctly. For calls with multiple arguments
; 0433 1 ! an argument count was added.
; 0434 1 ! Minor changes to KERM_HANDLER to make use of the changed
; 0435 1 ! argument passing method.
; 0436 1 !
; 0437 1 ! 3.3.118 By: Burt Johnson On: 1-Feb-1990
; 0438 1 ! Added support for Extended Length packets;
; 0439 1 !
; 0440 1 ! 3.3.119 JHW007 Jonathan H. Welch, 4-Apr-1990 7:47
; 0441 1 ! Modified Final_Status to have an initial value of SS$_NORMAL.
; 0442 1 ! Previously, if all kermit operations were successful a
; 0443 1 ! return status of 0 was generated.
; 0444 1 !
; 0445 1 ! Added a compile-time test for BLISS32 systems in the three
; 0446 1 ! generic bliss files (GLB, MSG, TT) which didn't have this
; 0447 1 ! declaration so that references to data use longword offsets.
; 0448 1 ! Burt Johnson's solution (PSECT PLIT = $CODE$) was generating
; 0449 1 ! many link-time errors.
; 0450 1 !
; 0451 1 ! 3.3.120 JHW008 Jonathan H. Welch, 5-Apr-1990 10:57
; 0452 1 ! Modified the call to NORMALIZE_FILE in routine REC_FILE
; 0453 1 ! to adjust file name and type lengths downwards to 39
; 0454 1 ! characters each as opposed to the pre-VMS 4 format of
; 0455 1 ! 9 for the name and 3 for the type.
; 0456 1 !
; 0457 1 ! 3.3.121 JHW009 Jonathan H. Welch, 12-Apr-1990 12:20
; 0458 1 ! Added and modified routines in vmstrm.bli to notify the
; 0459 1 ! user if SS$_HANGUP occurs on the outgoing terminal line.
; 0460 1 ! If the outgoing line is serviced by a decserver (LTA type
; 0461 1 ! terminal) the user must issue a CONNECT LTAnnn command
; 0462 1 ! to reestablish a LAT link to the decserver.
; 0463 1 !
; 0464 1 ! 3.3.122 JHW010 Jonathan H. Welch, 23-Apr-1990 09:42
; 0465 1 ! Added SET FILE BLOCKSIZE nnn (where nnn is the record size
; 0466 1 ! in bytes) command for incoming BINARY and FIXED file transfers.
; 0467 1 ! If no blocksize has been specified the old behavior (510 byte
; 0468 1 ! records plus 2 bytes (for CR/LF) for BINARY files and 512
; 0469 1 ! byte records for FIXED files will be used.
; 0470 1 ! Also modified SHOW FILE to display record size when appropriate.
; 0471 1 !
; 0472 1 ! 3.3.123 JHW011 Jonathan H. Welch, 17-May-1990 9:06
; 0473 1 ! Modified a miscoded call to send_packet in routine
; 0474 1 ! send_gencmd to correctly specify the length of the
; 0475 1 ! response packet to transmit. This miscoding only
; 0476 1 ! affected long packet support, in particular, when
; 0477 1 ! GETting files standard length packets were being used
; 0478 1 ! when long packet support was available in both kermit
; 0479 1 ! programs.
; 0480 1 !
; 0481 1 ! 3.3.124 JHW012 Jonathan H. Welch, 18-May-1990 7:56
; 0482 1 ! Modified asn_wth_mbx to obtain the master PID in the
; 0483 1 ! process tree before asking for JPI$_TERMINAL. $GETJPI
; 0484 1 ! was returning a null string for this item when called
; 0485 1 ! from a subprocess resulting in a "No default terminal
; 0486 1 ! line for transfers" message.
; 0487 1 !
; 0488 1 ! 3.3.125 JHW013 Jonathan H. Welch, 18-May-1990 13:00
; 0489 1 ! Extended the buffer size for terminal names from 20
; 0490 1 ! characters to 255 to make sure any terminal name can
; 0491 1 ! be accomodated.
; 0492 1 !
; 0493 1 ! 3.3.126 JHW014 Jonathan H. Welch, 5-Jun-1990 12:38
; 0494 1 ! Modified asn_wth_mbx to add a ':' to the end of the
; 0495 1 ! terminal name is one is not returned by VMS.
; 0496 1 ! This will keep LIB$GETDVI from failing with an
; 0497 1 ! "invalid device name" which results in the kermit
; 0498 1 ! error "no default terminal line for transfers."
; 0499 1 !
; 0500 1 ! 3.3.127 JHW015 Jonathan H. Welch, 16-Jul-1990 15:30
; 0501 1 ! Fixed the logic in GET_ASCII which was causing an infinite
; 0502 1 ! loop for files with print file carriage control.
; 0503 1 !
; 0504 1 ! 3.3.128 JHW016 Jonathan H. Welch, 17-Oct-1990 9:42
; 0505 1 ! Modified asn_wth_mbx to work properly in non-interactive mode.
; 0506 1 !--
; 0507 1
; 0508 1 %SBTTL 'Routine definitions -- Forwards'
; 0509 1 !<BLF/NOFORMAT>
; 0510 1 !
; 0511 1 ! Forward definitions
; 0512 1 !
; 0513 1
; 0514 1 ! Command processing routines
; 0515 1
; 0516 1 FORWARD ROUTINE
; 0517 1 COMND, ! Process a command
; 0518 1 COMND_ERROR : NOVALUE, ! Give error for command
; 0519 1 COMND_FILE, ! Process command file
; 0520 1 DO_COMND, ! Parse and dispatch one command
; 0521 1 COMND_HELP : NOVALUE, ! Process the HELP command
; 0522 1 COMND_SHOW : NOVALUE, ! Process the SHOW command
; 0523 1 COMND_STATUS : NOVALUE, ! Process the STATUS command
; 0524 1 COMND_REMOTE : NOVALUE, ! Process the REMOTE command
; 0525 1 COMND_LOCAL : NOVALUE, ! Process the LOCAL commands
; 0526 1 GET_REM_ARGS, ! Get arguments for REMOTE/LOCAL commands
; 0527 1 STORE_TEXT, ! Routine to store a file name
; 0528 1 COPY_TERM_NAME, ! Copy device name (TERM_xxxx)
; 0529 1 COPY_DESC, ! Copy file name (FILE_xxx)
; 0530 1 COPY_ALT_FILE, ! Copy to alternate file name (ALT_FILE_xxx)
; 0531 1 COPY_GEN_1DATA, ! Copy to GEN_1DATA (generic command argument)
; 0532 1 STORE_BLOCKSIZE, ! Store the blocksize value
; 0533 1 STORE_DEBUG, ! Store the debuging flag
; 0534 1 STORE_TR_ECHO, ! Store the transmit echo flag [078]
; 0535 1 STORE_TR_DELAY, ! Store the transmit delay [078]
; 0536 1 STORE_FTP, ! Store the file type
; 0537 1 STORE_FNM, ! Store the file name form
; 0538 1 STORE_ECHO, ! Store the local echo flag
; 0539 1 STORE_PARITY, ! Store the parity type
; 0540 1 STORE_CHK, ! This routine will store the checksum type.
; 0541 1 STORE_ABT, ! This routine will store the aborted file disposition
; 0542 1 STORE_IBM, ! Store IBM flag
; 0543 1 STORE_MSG_FIL, ! Store TY_FIL
; 0544 1 STORE_MSG_PKT, ! Store TY_PKT
; 0545 1 CHECK_PACKET_LEN, ! Validate PACKET length given
; 0546 1 CHECK_NPAD, ! Validate the number of pad characters
; 0547 1 CHECK_PAD_CHAR, ! Validate the padding character being set
; 0548 1 CHECK_EOL, ! Validate EOL character given.
; 0549 1 CHECK_QUOTE, ! Validate quoting character
; 0550 1 CHECK_SOH, ! Validate the start of packet character given
; 0551 1 KEY_ERROR; ! Return correct keyword error value
; 0552 1
; 0553 1 !
; 0554 1 ! Error handling routines
; 0555 1 !
; 0556 1
; 0557 1 FORWARD ROUTINE
; 0558 1 KERM_HANDLER; ! Condition handler
; 0559 1 %SBTTL 'Include files'
; 0560 1
; 0561 1 !
; 0562 1 ! INCLUDE FILES:
; 0563 1 !
; 0564 1
; 0565 1 LIBRARY 'SYS$LIBRARY:STARLET';
; 0566 1
; 0567 1 LIBRARY 'SYS$LIBRARY:TPAMAC';
; 0568 1
; 0569 1 REQUIRE 'KERCOM'; ! Common definitions
; 0778 1
; 0779 1 REQUIRE 'KERERR'; ! Error message symbol definitions
; 0845 1
; 0846 1 %SBTTL 'Macro definitions'
; 0847 1
; 0848 1 !
; 0849 1 ! MACROS:
; 0850 1 !
; 0851 1
; 0852 1 MACRO
; M 0853 1 TPARSE_ARGS =
; M 0854 1 BUILTIN AP;
; M 0855 1 MAP AP : REF BLOCK [,BYTE];
; 0856 1 %;
; 0857 1
; 0858 1 !
; 0859 1 ! Macro to initialize a string descriptor
; 0860 1 !
; 0861 1 MACRO
; M 0862 1 INIT_STR_DESC (DESC, BUFFER, SIZE) =
; M 0863 1 BEGIN
; M 0864 1 ! MAP
; M 0865 1 ! DESC : BLOCK [8, BYTE];
; M 0866 1 DESC [DSC$B_CLASS] = DSC$K_CLASS_S;
; M 0867 1 DESC [DSC$B_DTYPE] = DSC$K_DTYPE_T;
; M 0868 1 DESC [DSC$W_LENGTH] = SIZE;
; M 0869 1 DESC [DSC$A_POINTER] = BUFFER;
; M 0870 1 END
; 0871 1 %;
; 0872 1 %SBTTL 'Equated symbols -- Command types'
; 0873 1
; 0874 1 !
; 0875 1 ! EQUATED SYMBOLS:
; 0876 1 !
; 0877 1 ! Command offsets
; 0878 1
; 0879 1 LITERAL
; 0880 1 CMD_MIN = 1, ! Minimum value
; 0881 1 CMD_CONN = 1, ! Connect command
; 0882 1 CMD_EXIT = 2, ! Exit command
; 0883 1 CMD_HELP = 3, ! Help command
; 0884 1 CMD_RECEIVE = 4, ! Receive command
; 0885 1 CMD_SET = 5, ! Set command
; 0886 1 CMD_SEND = 6, ! Send command
; 0887 1 CMD_SHOW = 7, ! Show command
; 0888 1 CMD_SERVER = 8, ! SERVER command
; 0889 1 CMD_STATUS = 9, ! STATUS command
; 0890 1 CMD_LOGOUT = 10, ! Generic LOGOUT command
; 0891 1 CMD_BYE = 11, ! Generic LOGOUT command and EXIT
; 0892 1 CMD_FINISH = 12, ! Generic EXIT command
; 0893 1 CMD_GET = 13, ! Get command
; 0894 1 CMD_REMOTE = 14, ! Remote command
; 0895 1 CMD_LOCAL = 15, ! Local command
; 0896 1 CMD_PUSH = 16, ! PUSH command (spawn new DCL)
; 0897 1 CMD_NULL = 17, ! Any command which is done
; 0898 1 ! totally by the LIB$TPARSE call
; 0899 1 CMD_TAKE = 18, ! Take command
; 0900 1 CMD_TRANSMIT = 19, ! Transmit command [078]
; 0901 1 CMD_MAX = 19; ! Maximum command value [078]
; 0902 1
; 0903 1 ! Items to show
; 0904 1
; 0905 1 LITERAL
; 0906 1 SHOW_ALL = 1, ! Show everything
; 0907 1 SHOW_DEB = 2, ! Show debugging flag
; 0908 1 SHOW_DEL = 3, ! Show delay
; 0909 1 SHOW_ESC = 4, ! Show ESCAPE character
; 0910 1 SHOW_TIM = 5, ! Show random timing
; 0911 1 SHOW_LIN = 6, ! Show the line we are using
; 0912 1 SHOW_ECH = 7, ! Show the echo flag
; 0913 1 SHOW_SEN = 8, ! Show send parameters
; 0914 1 SHOW_REC = 9, ! Show the receive parameters
; 0915 1 SHOW_PAR = 10, ! Show the parity setting
; 0916 1 SHOW_RTY = 11, ! Show retry counters
; 0917 1 SHOW_CHK = 12, ! Show block-check-type
; 0918 1 SHOW_ABT = 13, ! Show aborted file disposition
; 0919 1 SHOW_FIL = 14, ! Show file parameters
; 0920 1 SHOW_PAC = 15, ! Show packet parameters
; 0921 1 SHOW_COM = 16, ! Show communications parameters
; 0922 1 SHOW_VER = 17, ! Show version
; 0923 1 SHOW_TRN = 18; ! Show transmit delay and echo
; 0924 1 %SBTTL 'Equated symbols -- Constants'
; 0925 1
; 0926 1 ! Constants
; 0927 1
; 0928 1 LITERAL
; 0929 1 CMD_BFR_LENGTH = 132, ! Command buffer length
; 0930 1 OUT_BFR_LENGTH = 80, ! Output buffer length (SHOW cmd)
; 0931 1 HELP_LENGTH = 132, ! Length of the help buffer
; 0932 1 TEMP_LENGTH = 132; ! Length of the temporary area
; 0933 1 !
; 0934 1 ! The default prompt
; 0935 1 !
; 0936 1 BIND
; 0937 1 DEFAULT_PROMPT = %ASCID'Kermit-32>';
; 0938 1
; 0939 1 MAP
; 0940 1 DEFAULT_PROMPT : BLOCK [8, BYTE]; ! This is a descriptor
; 0941 1 %SBTTL 'Storage -- Global'
; 0942 1
; 0943 1 !<BLF/NOFORMAT>
; 0944 1 !
; 0945 1 ! GLOBAL STORAGE:
; 0946 1 !
; 0947 1
; 0948 1 GLOBAL
; 0949 1 TRANSACTION_DESC : BLOCK [8, BYTE], ! Descriptor for transaction log file
; 0950 1 TRANSACTION_OPEN, ! File open flag
; 0951 1 TRANSACTION_FAB : $FAB_DECL, ! Transaction file FAB
; 0952 1 TRANSACTION_RAB : $RAB_DECL, ! Transaction file RAB
; 0953 1 ESCAPE_CHR, ! Escape character for CONNECT
; 0954 1 ALT_FILE_SIZE, ! Number of characters in FILE_NAME
; 0955 1 ALT_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)]; ! Storage
; 0956 1 %SBTTL 'Storage -- Local'
; 0957 1
; 0958 1 !
; 0959 1 ! OWN STORAGE:
; 0960 1 !
; 0961 1
; 0962 1 OWN
; 0963 1
; 0964 1 ! Command scanning information
; 0965 1
; 0966 1 TPARSE_BLOCK : BLOCK [TPA$K_LENGTH0, BYTE]
; 0967 1 INITIAL (TPA$K_COUNT0, ! Longword count
; 0968 1 TPA$M_ABBREV), ! Allow abbreviations
; 0969 1 BAD_CMD_DESC : BLOCK [8, BYTE], ! Descriptor for bad command field
; 0970 1 COMMAND, ! Type of command we are doing
; 0971 1 SHOW_TYPE, ! Type of show command
; 0972 1 REM_TYPE, ! Type of REMOTE command
; 0973 1 TAKE_DISPLAY, ! Display commands being TAKEn
; 0974 1 !
; 0975 1 ! Output data area
; 0976 1 !
; 0977 1 OUTPUT_LINE : VECTOR [OUT_BFR_LENGTH, BYTE, UNSIGNED],
; 0978 1 OUTPUT_DESC : BLOCK [8, BYTE],
; 0979 1 OUTPUT_SIZE : WORD UNSIGNED,
; 0980 1
; 0981 1 ! Misc constants.
; 0982 1
; 0983 1 Final_Status : LONG UNSIGNED INITIAL(SS$_NORMAL), ! Status from within condition handler routine.
; 0984 1 TRANSACTION_NAME : VECTOR [CH$ALLOCATION(MAX_FILE_NAME)],
; 0985 1 PROMPT_DESC : BLOCK [8, BYTE], ! Descriptor for prompt
; 0986 1 PROMPT_TEXT : VECTOR [CH$ALLOCATION(TEMP_LENGTH)], ! Storage for prompt
; 0987 1 CRC_TABLE : BLOCK [16, LONG], ! CRC-CCITT table
; 0988 1 TAK_FIL_DESC : BLOCK [8, BYTE], ! Take file descriptor
; 0989 1 TAK_FIL_NAME : BLOCK [CH$ALLOCATION(MAX_FILE_NAME)],
; 0990 1 TEMP_DESC : BLOCK [8, BYTE], ! Temporary descriptor
; 0991 1 TEMP_NAME : VECTOR [CH$ALLOCATION(TEMP_LENGTH)];
; 0992 1
; 0993 1
; 0994 1 !<BLF/FORMAT>
; 0995 1 %SBTTL 'External routines'
; 0996 1 !
; 0997 1 ! EXTERNAL REFERENCES:
; 0998 1 !
; 0999 1
; 1000 1 EXTERNAL ROUTINE
; 1001 1 !
; 1002 1 ! Library routines
; 1003 1 !
; 1004 1 LIB$GET_INPUT : ADDRESSING_MODE (GENERAL),
; 1005 1 LIB$PUT_OUTPUT : ADDRESSING_MODE (GENERAL),
; 1006 1 LIB$TPARSE : ADDRESSING_MODE (GENERAL),
; 1007 1 LIB$CRC_TABLE : ADDRESSING_MODE (GENERAL),
; 1008 1 LIB$CRC : ADDRESSING_MODE (GENERAL),
; 1009 1 LIB$SIGNAL : ADDRESSING_MODE (GENERAL) NOVALUE,
; 1010 1 LIB$ESTABLISH : ADDRESSING_MODE (GENERAL),
; 1011 1 LIB$ATTACH : ADDRESSING_MODE (GENERAL),
; 1012 1 LIB$SPAWN : ADDRESSING_MODE (GENERAL),
; 1013 1 !
; 1014 1 ! KERMSG - KERMIT Message processing routines
; 1015 1 !
; 1016 1 SEND_SWITCH, ! Send a file
; 1017 1 REC_SWITCH, ! Receive a file
; 1018 1 DO_GENERIC, ! Send generic functions
; 1019 1 SERVER, ! Server mode processing
; 1020 1 SND_ERROR : NOVALUE, ! Send E packet to remote
; 1021 1 MSG_INIT : NOVALUE, ! Initialization routine
; 1022 1 !
; 1023 1 ! KERFIL - File processing.
; 1024 1 !
; 1025 1 FILE_INIT : NOVALUE, ! Initialization routine
; 1026 1 !
; 1027 1 ! KERSYS - System subroutines for KERMSG
; 1028 1 !
; 1029 1 SY_INIT : NOVALUE, ! Initialization routine
; 1030 1 !
; 1031 1 ! KERTRM - Terminal processing.
; 1032 1 !
; 1033 1 TERM_INIT : NOVALUE, ! Initialize the terminal processing
; 1034 1 TERM_OPEN, ! Open the terminal line
; 1035 1 TERM_CLOSE, ! Close the terminal line
; 1036 1 TERM_CONNECT, ! Impliments CONNECT command
; 1037 1 SET_TRANS_TERM, ! Set new transfer terminal
; 1038 1 COMND_TRANSMIT, ! Transmit command code in module KERTRM
; 1039 1 !
; 1040 1 ! KERTT - Text processing
; 1041 1 !
; 1042 1 TT_INIT : NOVALUE, ! Initialization routine
; 1043 1 TT_TEXT : NOVALUE, ! Output a text string
; 1044 1 TT_NUMBER : NOVALUE, ! Output a number
; 1045 1 TT_CHAR : NOVALUE, ! Output a single character
; 1046 1 TT_OUTPUT : NOVALUE, ! Routine to dump the current
; 1047 1 ! text line.
; 1048 1 TT_CRLF : NOVALUE; ! Output the line
; 1049 1
; 1050 1 %SBTTL 'External storage'
; 1051 1 !
; 1052 1 ! EXTERNAL Storage:
; 1053 1 !
; 1054 1
; 1055 1 EXTERNAL
; 1056 1 !
; 1057 1 ! KERMSG storage
; 1058 1 !
; 1059 1 ! Receive parameters
; 1060 1 RCV_PKT_SIZE, ! Receive packet size
; 1061 1 RCV_NPAD, ! Padding length
; 1062 1 RCV_PADCHAR, ! Padding character
; 1063 1 RCV_TIMEOUT, ! Time out
; 1064 1 RCV_EOL, ! EOL character
; 1065 1 RCV_QUOTE_CHR, ! Quote character
; 1066 1 RCV_8QUOTE_CHR, ! 8-bit quoting character
; 1067 1 RCV_SOH, ! Start of packet header
; 1068 1 !
; 1069 1 ! Send parameters
; 1070 1 !
; 1071 1 SND_PKT_SIZE, ! Send packet size
; 1072 1 SND_NPAD, ! Padding length
; 1073 1 SND_PADCHAR, ! Padding character
; 1074 1 SND_TIMEOUT, ! Time out
; 1075 1 SND_EOL, ! EOL character
; 1076 1 SND_QUOTE_CHR, ! Quote character
; 1077 1 SND_SOH, ! Packet start of header
; 1078 1 !
; 1079 1 ! Server parameters
; 1080 1 !
; 1081 1 SRV_TIMEOUT, ! Time between idle naks in server
; 1082 1 !
; 1083 1 ! Misc. packet parameters
; 1084 1 !
; 1085 1 SET_REPT_CHR, ! Desired repeat character
; 1086 1 !
; 1087 1 ! Statistics
; 1088 1 !
; 1089 1 SND_TOTAL_CHARS, ! Total characters sent
; 1090 1 RCV_TOTAL_CHARS, ! Total characters received
; 1091 1 SND_DATA_CHARS, ! Total number of data characters sent
; 1092 1 RCV_DATA_CHARS, ! Total number of data characters received
; 1093 1 SMSG_TOTAL_CHARS, ! Total chars sent this file xfer
; 1094 1 RMSG_TOTAL_CHARS, ! Total chars rcvd this file xfer
; 1095 1 SMSG_DATA_CHARS, ! Total data chars this file xfer
; 1096 1 RMSG_DATA_CHARS, ! Total data chars this file xfer
; 1097 1 RCV_NAKS, ! Total number of NAKs received
; 1098 1 SND_NAKS, ! Total number of NAKs sent
; 1099 1 RMSG_NAKS, ! Number of NAKs received
; 1100 1 SMSG_NAKS, ! Number of NAKs sent
; 1101 1 RCV_COUNT, ! Total number of packets received
; 1102 1 SND_COUNT, ! Total number of packets sent
; 1103 1 RMSG_COUNT, ! Number of packets received
; 1104 1 SMSG_COUNT, ! Number of packets sent
; 1105 1 XFR_TIME, ! Amount of time the last transfer took
; 1106 1 TOTAL_TIME, ! Total time the transfers have taken
; 1107 1 LAST_ERROR : VECTOR [CH$ALLOCATION (MAX_MSG + 1)], ! Last error message
; 1108 1 TY_PKT, ! Flag that packet numbers should be typed
; 1109 1 TY_FIL, ! Flag that file names should be typed
; 1110 1 GEN_1DATA : VECTOR [CH$ALLOCATION (MAX_MSG)], ! Data for generic command
; 1111 1 GEN_1SIZE, ! Size of data in GEN_1DATA
; 1112 1 GEN_2DATA : VECTOR [CH$ALLOCATION (MAX_MSG)], ! Second argument for generic command
; 1113 1 GEN_2SIZE, ! Size of data in GEN_2DATA
; 1114 1 GEN_3DATA : VECTOR [CH$ALLOCATION (MAX_MSG)], ! Third arg for generic command
; 1115 1 GEN_3SIZE, ! Size of data in GEN_3DATA
; 1116 1 !
; 1117 1 ! Misc constants.
; 1118 1 !
; 1119 1 FILE_SIZE, ! Number of characters in FILE_NAME
; 1120 1 FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)],
; 1121 1 SI_RETRIES, ! Initial connection max retries
; 1122 1 PKT_RETRIES, ! Packet max retries
; 1123 1 DELAY, ! Amount of time to delay
; 1124 1 DEBUG_FLAG, ! Debugging mode on/off
; 1125 1 CHKTYPE, ! Type of block-check-type wanted
; 1126 1 ABT_FLAG, ! Aborted file disposition
; 1127 1 ! IBM_FLAG, ! IBM mode flag
; 1128 1 IBM_CHAR, ! Handshaking character
; 1129 1 WARN_FLAG, ! File warning flag
; 1130 1 FIL_NORMAL_FORM, ! File name type to send
; 1131 1 PARITY_TYPE, ! Type of parity we are using
; 1132 1 ECHO_FLAG, ! Local echo flag
; 1133 1 CONNECT_FLAG; ! True if SYS$OUTPUT and line
; 1134 1
; 1135 1 ! xfering over are the same.
; 1136 1 !
; 1137 1 ! KERFIL storage
; 1138 1 !
; 1139 1
; 1140 1 EXTERNAL
; 1141 1
; 1142 1 file_blocksize, ! Blocksize for FIXED files
; 1143 1 file_blocksize_set, ! Flag indicating a blocksize has been specified by the user.
; 1144 1 FILE_TYPE, ! Type of file being processed
; 1145 1 FILE_DESC : BLOCK [8, BYTE]; ! Descriptor for the file name
; 1146 1
; 1147 1 !
; 1148 1 ! KERTRM storage
; 1149 1 !
; 1150 1
; 1151 1 EXTERNAL
; 1152 1 SESSION_DESC : BLOCK [8, BYTE], ! Session log file name
; 1153 1 DEBUG_DESC : BLOCK [8, BYTE], ! Debugging log file name
; 1154 1 TERM_DESC : BLOCK [8, BYTE], ! Terminal name descriptor
; 1155 1 TRANS_ECHO_FLAG, ! Transmit echo on/off
; 1156 1 TRANS_DELAY, ! Transmit delay
; 1157 1 TERM_FLAG; ! Terminal open flag
; 1158 1
; 1159 1 %SBTTL 'Command parsing tables'
; 1160 1 !<BLF/NOFORMAT>
; 1161 1 !++
; 1162 1 !
; 1163 1 !The following are the command state tables for the KERMIT-32
; 1164 1 !command processing.
; 1165 1 !
; 1166 1 !--
; 1167 1
; 1168 1 $INIT_STATE (KERMIT_STATE, KERMIT_KEY);
; 1169 1
; P 1170 1 $STATE (START,
; P 1171 1 ('BYE', DONE_STATE, , CMD_BYE, COMMAND),
; P 1172 1 ('CONNECT', CONN_STATE, , CMD_CONN, COMMAND),
; P 1173 1 ('EXIT', DONE_STATE, , CMD_EXIT, COMMAND),
; P 1174 1 ('FINISH', DONE_STATE, , CMD_FINISH, COMMAND),
; P 1175 1 ('GET', GET_STATE, , CMD_GET, COMMAND),
; P 1176 1 ('HELP', HELP_STATE, , CMD_HELP, COMMAND),
; P 1177 1 ('LOCAL', REM_STATE, , CMD_LOCAL, COMMAND),
; P 1178 1 ('LOG', LOG_STATE, , CMD_NULL, COMMAND),
; P 1179 1 ('LOGOUT', DONE_STATE, , CMD_LOGOUT, COMMAND),
; P 1180 1 ('PUSH', DONE_STATE, , CMD_PUSH, COMMAND),
; P 1181 1 ('QUIT', DONE_STATE, , CMD_EXIT, COMMAND),
; P 1182 1 ('RECEIVE', REC_STATE, , CMD_RECEIVE, COMMAND),
; P 1183 1 ('REMOTE', REM_STATE, , CMD_REMOTE, COMMAND),
; P 1184 1 ('SET', SET_STATE, , CMD_SET, COMMAND),
; P 1185 1 ('SEND', SEND_STATE, , CMD_SEND, COMMAND),
; P 1186 1 ('SERVER', DONE_STATE, , CMD_SERVER, COMMAND),
; P 1187 1 ('SHOW', SHOW_STATE, , CMD_SHOW, COMMAND),
; P 1188 1 ('STATUS', DONE_STATE, , CMD_STATUS, COMMAND),
; P 1189 1 ('TAKE', TAKE_STATE, , CMD_TAKE, COMMAND),
; P 1190 1 ('@', TAKE_STATE, , CMD_TAKE, COMMAND),
; P 1191 1 ('TRANSMIT', TRANSMIT_STATE, , CMD_TRANSMIT, COMMAND), !
; P 1192 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1193 1 )
; 1194 1
; 1195 1 !++
; 1196 1 ! CONNECT command. Format is:
; 1197 1 !
; 1198 1 ! Kermit-32>CONNECT device
; 1199 1 !
; 1200 1 ! Where:
; 1201 1 ! Device - Terminal line to connect to
; 1202 1 !
; 1203 1 !--
; 1204 1
; P 1205 1 $STATE (CONN_STATE,
; P 1206 1 (TPA$_EOS, DONE_STATE),
; P 1207 1 (TPA$_LAMBDA, SET_LIN_STATE)
; 1208 1 )
; 1209 1
; 1210 1 !++
; 1211 1 ! EXIT command. Format is:
; 1212 1 !
; 1213 1 ! Kermit-32>EXIT
; 1214 1 !
; 1215 1 ! Just exit back to VMS.
; 1216 1 !
; 1217 1 !--
; 1218 1
; 1219 1 !++
; 1220 1 ! HELP command. Format is:
; 1221 1 !
; 1222 1 ! Kermit-32>HELP
; 1223 1 !
; 1224 1 ! Do HELP processing for KERMIT-32.
; 1225 1 !
; 1226 1 !--
; 1227 1
; P 1228 1 $STATE (HELP_STATE,
; P 1229 1 (TPA$_ANY, HELP_STATE, STORE_TEXT),
; P 1230 1 (TPA$_LAMBDA, DONE_STATE)
; 1231 1 )
; 1232 1
; 1233 1 %SBTTL 'QUIT command table'
; 1234 1
; 1235 1 !++
; 1236 1 ! QUIT command. Format is:
; 1237 1 !
; 1238 1 ! Kermit-32>QUIT
; 1239 1 !
; 1240 1 ! This command will just exit back to VMS.
; 1241 1 !
; 1242 1 !--
; 1243 1 %SBTTL 'GET command table'
; 1244 1
; 1245 1 !++
; 1246 1 ! GET command. Format is:
; 1247 1 !
; 1248 1 ! Kermit-32>GET file-specification
; 1249 1 !
; 1250 1 ! This command will cause KERMIT to get a file from the micro.
; 1251 1 ! It will assume that it is to used what ever line it currently is
; 1252 1 ! associated with (CONNECT or SET LINE).
; 1253 1 !
; 1254 1 !--
; 1255 1
; P 1256 1 $STATE (GET_STATE,
; P 1257 1 (TPA$_ANY, GET_STATE, STORE_TEXT),
; P 1258 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,FILE_DESC)
; 1259 1 )
; 1260 1 %SBTTL 'RECEIVE command table'
; 1261 1
; 1262 1 !++
; 1263 1 ! RECEIVE command. Format is:
; 1264 1 !
; 1265 1 ! Kermit-32>RECEIVE file-specification
; 1266 1 !
; 1267 1 ! This command will cause KERMIT to receive a file from the micro.
; 1268 1 ! It will assume that it is to used what ever line it currently is
; 1269 1 ! associated with (CONNECT or SET LINE).
; 1270 1 !
; 1271 1 !--
; 1272 1
; P 1273 1 $STATE (REC_STATE,
; P 1274 1 (TPA$_ANY, REC1_STATE, STORE_TEXT),
; P 1275 1 (TPA$_LAMBDA, DONE_STATE)
; 1276 1 )
; 1277 1
; 1278 1
; P 1279 1 $STATE (REC1_STATE,
; P 1280 1 (TPA$_ANY, REC1_STATE, STORE_TEXT),
; P 1281 1 (TPA$_LAMBDA, DONE_STATE, COPY_ALT_FILE)
; 1282 1 )
; 1283 1 %SBTTL 'REMOTE command tables'
; 1284 1
; 1285 1 !++
; 1286 1 ! REMOTE command. This command will allow the local Kermit user to
; 1287 1 ! request the server Kermit to perform some action.
; 1288 1 !
; 1289 1 ! Kermit-32>REMOTE keyword arguments
; 1290 1 !
; 1291 1 ! Where:
; 1292 1 !
; 1293 1 ! Keyword is one of:
; 1294 1 ! DELETE
; 1295 1 ! DIRECTORY
; 1296 1 ! DISK_USAGE
; 1297 1 ! HELP
; 1298 1 ! SPACE
; 1299 1 ! TYPE
; 1300 1 !--
; P 1301 1 $STATE (REM_STATE,
; P 1302 1 ('COPY', REM2_STATE, ,GC_COPY, REM_TYPE),
; P 1303 1 ('CWD', REM1_STATE, ,GC_CONNECT, REM_TYPE),
; P 1304 1 ('DELETE', REM2_STATE, ,GC_DELETE, REM_TYPE),
; P 1305 1 ('DIRECTORY', REM1_STATE, ,GC_DIRECTORY, REM_TYPE),
; P 1306 1 ('DISK_USAGE', REM1_STATE, ,GC_DISK_USAGE, REM_TYPE),
; P 1307 1 ('EXIT', DONE_STATE, ,GC_EXIT, REM_TYPE),
; P 1308 1 ('HELP', REM1_STATE, ,GC_HELP, REM_TYPE),
; P 1309 1 ('HOST', REM2_STATE, ,GC_COMMAND, REM_TYPE),
; P 1310 1 ('LOGIN', REM2_STATE, ,GC_LGN, REM_TYPE),
; P 1311 1 ('LOGOUT', DONE_STATE, ,GC_LOGOUT, REM_TYPE),
; P 1312 1 ('RENAME', REM2_STATE, ,GC_RENAME, REM_TYPE),
; P 1313 1 ('SEND_MESSAGE',REM2_STATE, ,GC_SEND_MSG, REM_TYPE),
; P 1314 1 ('SPACE', REM1_STATE, ,GC_DISK_USAGE, REM_TYPE),
; P 1315 1 ('STATUS', DONE_STATE, ,GC_STATUS, REM_TYPE),
; P 1316 1 ('TYPE', REM2_STATE, ,GC_TYPE, REM_TYPE),
; P 1317 1 ('WHO', REM1_STATE, ,GC_WHO, REM_TYPE),
; P 1318 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1319 1 )
; 1320 1
; 1321 1 ! State to allow for either no arguments or a text string
; 1322 1
; P 1323 1 $STATE (REM1_STATE,
; P 1324 1 (TPA$_ANY, REM2_STATE, STORE_TEXT),
; P 1325 1 (TPA$_LAMBDA, DONE_STATE)
; 1326 1 )
; 1327 1
; 1328 1 ! State to require a text string argument
; 1329 1
; P 1330 1 $STATE (REM2_STATE,
; P 1331 1 (TPA$_ANY, REM2_STATE, STORE_TEXT),
; P 1332 1 (TPA$_LAMBDA, DONE_STATE, COPY_GEN_1DATA)
; 1333 1 )
; 1334 1 %SBTTL 'SET command tables'
; 1335 1
; 1336 1 !++
; 1337 1 ! SET command. Format is:
; 1338 1 !
; 1339 1 ! Kermit-32>SET parameter
; 1340 1 !
; 1341 1 ! Where:
; 1342 1 ! Parameter - One of many keywords
; 1343 1 !
; 1344 1 !--
; 1345 1
; P 1346 1 $STATE (SET_STATE,
; P 1347 1 ('BLOCK_CHECK_TYPE', SET_CHK_STATE),
; P 1348 1 ('DEBUGGING', SET_DEB_STATE),
; P 1349 1 ('DELAY', SET_DEL_STATE),
; P 1350 1 ('ESCAPE', SET_ESC_STATE),
; P 1351 1 ('FILE', SET_FIL_STATE),
; P 1352 1 ('HANDSHAKE', SET_HAN_STATE),
; P 1353 1 ('IBM_MODE', SET_IBM_STATE),
; P 1354 1 ('INCOMPLETE_FILE_DISPOSITION', SET_ABT_STATE),
; P 1355 1 ('LINE', SET_LIN_STATE),
; P 1356 1 ('LOCAL_ECHO', SET_ECH_STATE),
; P 1357 1 ('MESSAGE', SET_MSG_STATE),
; P 1358 1 ('PARITY', SET_PAR_STATE),
; P 1359 1 ('PROMPT', SET_PMT_STATE),
; P 1360 1 ('RECEIVE', SET_REC_STATE),
; P 1361 1 ('REPEAT_QUOTE',SET_RPT_STATE),
; P 1362 1 ('RETRY', SET_RTY_STATE),
; P 1363 1 ('SEND', SET_SND_STATE),
; P 1364 1 ('SERVER_TIMER',SET_SRV_STATE),
; P 1365 1 ('TRANSMIT', SET_TRN_STATE), !
; P 1366 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1367 1 )
; 1368 1
; 1369 1 !++
; 1370 1 !
; 1371 1 ! SET INCOMPLETE_FILE [disposition] command. The possible arguments are
; 1372 1 ! KEEP or DISCARD.
; 1373 1 !
; 1374 1 !--
; 1375 1
; P 1376 1 $STATE (SET_ABT_STATE,
; P 1377 1 ('DISCARD', DONE_STATE, STORE_ABT,, ,TRUE),
; P 1378 1 ('KEEP', DONE_STATE, STORE_ABT,, ,FALSE),
; P 1379 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1380 1 )
; 1381 1
; 1382 1 !++
; 1383 1 !
; 1384 1 ! SET BLOCK_CHECK_TYPE [type] command. The format is:
; 1385 1 !
; 1386 1 ! Kermit-32>SET BLOCK_CHECK_TYPE [1_CHARACTER_CHECKSUM | ....]
; 1387 1 !
; 1388 1 !--
; 1389 1
; P 1390 1 $STATE (SET_CHK_STATE,
; P 1391 1 ('1_CHARACTER_CHECKSUM', DONE_STATE, STORE_CHK,, ,CHK_1CHAR),
; P 1392 1 ('2_CHARACTER_CHECKSUM', DONE_STATE, STORE_CHK,, ,CHK_2CHAR),
; P 1393 1 ('3_CHARACTER_CRC_CCITT', DONE_STATE, STORE_CHK,, ,CHK_CRC),
; P 1394 1 ('ONE_CHARACTER_CHECKSUM', DONE_STATE, STORE_CHK,, ,CHK_1CHAR),
; P 1395 1 ('THREE_CHARACTER_CRC_CCITT', DONE_STATE, STORE_CHK,, ,CHK_CRC),
; P 1396 1 ('TWO_CHARACTER_CHECKSUM', DONE_STATE, STORE_CHK,, ,CHK_2CHAR),
; P 1397 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1398 1 )
; 1399 1
; 1400 1 !++
; 1401 1 !
; 1402 1 ! SET DEBUGGING command. The format is:
; 1403 1 !
; 1404 1 ! Kermit-32>SET DEBUGGING (on/off)
; 1405 1 !
; 1406 1 ! Where:
; 1407 1 ! on/off is either the ON or OFF keyword.
; 1408 1 !
; 1409 1 !--
; 1410 1
; P 1411 1 $STATE (SET_DEB_STATE,
; P 1412 1 ('OFF', DONE_STATE, STORE_DEBUG, , ,FALSE),
; P 1413 1 ('ON', DONE_STATE, STORE_DEBUG, , ,TRUE),
; P 1414 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1415 1 )
; 1416 1
; 1417 1 !++
; 1418 1 !
; 1419 1 ! SET IBM_MODE command. The format is:
; 1420 1 !
; 1421 1 ! Kermit-32>SET IBM_MODE (on/off)
; 1422 1 !
; 1423 1 ! Where:
; 1424 1 ! on/off is either the ON or OFF keyword.
; 1425 1 !
; 1426 1 !--
; 1427 1
; P 1428 1 $STATE (SET_IBM_STATE,
; P 1429 1 ('OFF', DONE_STATE, STORE_IBM, , ,FALSE),
; P 1430 1 ('ON', DONE_STATE, STORE_IBM, , ,TRUE),
; P 1431 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1432 1 )
; 1433 1 !++
; 1434 1 !
; 1435 1 ! SET HANDSHAKE command. The format is:
; 1436 1 !
; 1437 1 ! Kermit-32>SET HANDSHAKE <octal>
; 1438 1 !
; 1439 1 ! Where:
; 1440 1 ! <octal> is the octal number representing the handshake character
; 1441 1 ! for file transfers.
; 1442 1 !
; 1443 1 ! Negative values indicate no handshaking.
; 1444 1 !--
; 1445 1
; P 1446 1 $STATE (SET_HAN_STATE,
; P 1447 1 ('NONE', DONE_STATE, , -1 ,IBM_CHAR),
; P 1448 1 (TPA$_OCTAL, DONE_STATE, , ,IBM_CHAR)
; 1449 1 )
; 1450 1
; 1451 1 !++
; 1452 1 !
; 1453 1 ! SET DELAY command. The format is:
; 1454 1 !
; 1455 1 ! Kermit-32>SET DELAY <dec>
; 1456 1 !
; 1457 1 ! Where:
; 1458 1 ! <dec> is the number of seconds to delay before sending the
; 1459 1 ! SEND-INIT packet.
; 1460 1 !--
; 1461 1
; P 1462 1 $STATE (SET_DEL_STATE,
; P 1463 1 (TPA$_DECIMAL, DONE_STATE, , ,DELAY)
; 1464 1 )
; 1465 1
; 1466 1 !++
; 1467 1 !
; 1468 1 ! SET FILE BLOCKSIZE command. The format is:
; 1469 1 !
; 1470 1 ! Kermit-32>SET FILE BLOCKSIZE <size>
; 1471 1 !
; 1472 1 ! Where:
; 1473 1 ! <size> is the number of bytes per fixed-length record for BINARY
; 1474 1 ! and FIXED files.
; 1475 1 !--
; 1476 1
; P 1477 1 $STATE (SET_BLK_STATE,
; P 1478 1 (TPA$_DECIMAL, DONE_STATE, store_blocksize, , file_blocksize)
; 1479 1 )
; 1480 1
; 1481 1 !++
; 1482 1 !
; 1483 1 ! SET ESCAPE command. The format is:
; 1484 1 !
; 1485 1 ! Kermit-32>SET ESCAPE <octal>
; 1486 1 !
; 1487 1 ! Where:
; 1488 1 ! <octal> is the octal number representing the escape character
; 1489 1 ! for the CONNECT command processing. The default escape character
; 1490 1 ! is Control-].
; 1491 1 !--
; 1492 1
; P 1493 1 $STATE (SET_ESC_STATE,
; P 1494 1 (TPA$_OCTAL, DONE_STATE, , ,ESCAPE_CHR)
; 1495 1 )
; 1496 1 !++
; 1497 1 !
; 1498 1 ! SET FILE xxx command. The format is:
; 1499 1 !
; 1500 1 ! Kermit-32>SET FILE <item> <args>
; 1501 1 !
; 1502 1 ! Where:
; 1503 1 ! <item> is one of:
; 1504 1 ! NAMING - Type of file name to send
; 1505 1 ! TYPE - Type of file to create on receive (or send in certain cases)
; 1506 1 ! BLOCKSIZE - Size of blocks (in bytes) for (FIXED and BINARY
; 1507 1 ! type) output files.
; 1508 1 !
; 1509 1 !--
; P 1510 1 $STATE (SET_FIL_STATE,
; P 1511 1 ('NAMING', SET_FNM_STATE),
; P 1512 1 ('TYPE', SET_FTP_STATE),
; P 1513 1 ('BLOCKSIZE', SET_BLK_STATE),
; P 1514 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1515 1 )
; 1516 1 !++
; 1517 1 !
; 1518 1 ! SET FILE NAMING command. The format is:
; 1519 1 !
; 1520 1 ! Kermit-32>SET FILE NAMING <type>
; 1521 1 !
; 1522 1 ! Where:
; 1523 1 ! <type> is one of:
; 1524 1 ! FULL - Send complete file specification, including device and
; 1525 1 ! directory
; 1526 1 ! NORMAL_FORM - Send only name.type
; 1527 1 ! UNTRANSLATED - Send name.type, but don't do any fixups on it
; 1528 1 !--
; 1529 1
; P 1530 1 $STATE (SET_FNM_STATE,
; P 1531 1 ('FULL', DONE_STATE, STORE_FNM, , ,FNM_FULL),
; P 1532 1 ('NORMAL_FORM', DONE_STATE, STORE_FNM, , ,FNM_NORMAL),
; P 1533 1 ('UNTRANSLATED',DONE_STATE, STORE_FNM, , ,FNM_UNTRAN),
; P 1534 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1535 1 )
; 1536 1 !++
; 1537 1 !
; 1538 1 ! SET FILE TYPE command. The format is:
; 1539 1 !
; 1540 1 ! Kermit-32>SET FILE TYPE <type>
; 1541 1 !
; 1542 1 ! Where:
; 1543 1 ! <Type> is one of the following:
; 1544 1 ! ASCII - Normal ASCII file (stream ascii)
; 1545 1 ! BINARY - Micro binary file.
; 1546 1 !--
; 1547 1
; P 1548 1 $STATE (SET_FTP_STATE,
; P 1549 1 ('ASCII', DONE_STATE, STORE_FTP, , ,FILE_ASC),
; P 1550 1 ('BINARY', DONE_STATE, STORE_FTP, , ,FILE_BIN),
; P 1551 1 ('BLOCK', DONE_STATE, STORE_FTP, , ,FILE_BLK),
; P 1552 1 ('FIXED', DONE_STATE, STORE_FTP, , ,FILE_FIX),
; P 1553 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1554 1 )
; 1555 1
; 1556 1 !++
; 1557 1 ! SET LINE command. Format is:
; 1558 1 !
; 1559 1 ! Kermit-32>SET LINE terminal-device:
; 1560 1 !
; 1561 1 ! Where:
; 1562 1 ! Terminal-device: is the terminal line to use to the transfer of
; 1563 1 ! the data and to use in the CONNECT command.
; 1564 1 !
; 1565 1 !--
; 1566 1
; P 1567 1 $STATE (SET_LIN_STATE,
; P 1568 1 (TPA$_ANY, SET_LIN_STATE, STORE_TEXT),
; P 1569 1 (TPA$_LAMBDA, DONE_STATE, COPY_TERM_NAME)
; 1570 1 )
; 1571 1
; 1572 1 !++
; 1573 1 ! SET LOCAL-ECHO command. Format is:
; 1574 1 !
; 1575 1 ! Kermit-32>SET LOCAL-ECHO state
; 1576 1 !
; 1577 1 ! Where:
; 1578 1 ! STATE is either the keyword ON or OFF.
; 1579 1 !
; 1580 1 !-
; 1581 1
; P 1582 1 $STATE (SET_ECH_STATE,
; P 1583 1 ('OFF', DONE_STATE, STORE_ECHO, , ,FALSE),
; P 1584 1 ('ON', DONE_STATE, STORE_ECHO, , ,TRUE),
; P 1585 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1586 1 )
; 1587 1
; 1588 1
; 1589 1 !++
; 1590 1 ! SET MESSAGE command. Format is:
; 1591 1 !
; 1592 1 ! Kermit-32>SET MESSAGE <keyword>
; 1593 1 !
; 1594 1 ! Where the keyword is:
; 1595 1 !
; 1596 1 ! FILE_NAMES - Type out file names being transferred
; 1597 1 ! PACKET_NUMBERS - Type out packet counts
; 1598 1 !--
; 1599 1
; P 1600 1 $STATE (SET_MSG_STATE,
; P 1601 1 ('FILE_NAMES', SET_MSG_FIL_STATE),
; P 1602 1 ('PACKET_NUMBERS', SET_MSG_PKT_STATE),
; P 1603 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1604 1 )
; 1605 1
; P 1606 1 $STATE (SET_MSG_FIL_STATE,
; P 1607 1 ('OFF', DONE_STATE, STORE_MSG_FIL, , ,FALSE),
; P 1608 1 ('ON', DONE_STATE, STORE_MSG_FIL, , ,TRUE),
; P 1609 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1610 1 )
; 1611 1
; P 1612 1 $STATE (SET_MSG_PKT_STATE,
; P 1613 1 ('OFF', DONE_STATE, STORE_MSG_PKT, , ,FALSE),
; P 1614 1 ('ON', DONE_STATE, STORE_MSG_PKT, , ,TRUE),
; P 1615 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1616 1 )
; 1617 1
; 1618 1 !++
; 1619 1 ! SET PROMPT command.
; 1620 1 !
; 1621 1 ! Kermit-32>SET PROMPT new-prompt-text
; 1622 1 !
; 1623 1 !--
; 1624 1
; P 1625 1 $STATE (SET_PMT_STATE,
; P 1626 1 (TPA$_ANY, SET_PMT_STATE, STORE_TEXT),
; P 1627 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,PROMPT_DESC)
; 1628 1 )
; 1629 1
; 1630 1 !++
; 1631 1 ! SET REPEAT_QUOTE command. Format is:
; 1632 1 !
; 1633 1 ! Kermit-32>SET REPEAT_QUOTE <character value>
; 1634 1 !
; 1635 1 !--
; 1636 1
; P 1637 1 $STATE (SET_RPT_STATE,
; P 1638 1 (TPA$_OCTAL, DONE_STATE, CHECK_QUOTE, ,SET_REPT_CHR)
; 1639 1 )
; 1640 1
; 1641 1 !++
; 1642 1 ! SET RETRY command. Format is:
; 1643 1 !
; 1644 1 ! Kermit-32>SET RETRY <keyword>
; 1645 1 !
; 1646 1 ! Where the keyword is:
; 1647 1 !
; 1648 1 ! INITIAL_CONNECTION - set number of initial connection retries.
; 1649 1 ! PACKET - set the number of packet retries.
; 1650 1 !--
; 1651 1
; P 1652 1 $STATE (SET_RTY_STATE,
; P 1653 1 ('INITIAL_CONNECTION', SET_RTY_INI_STATE),
; P 1654 1 ('PACKET', SET_RTY_PKT_STATE),
; P 1655 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1656 1 )
; 1657 1
; 1658 1
; P 1659 1 $STATE (SET_RTY_INI_STATE,
; P 1660 1 (TPA$_DECIMAL, DONE_STATE, , ,SI_RETRIES)
; 1661 1 )
; 1662 1
; P 1663 1 $STATE (SET_RTY_PKT_STATE,
; P 1664 1 (TPA$_DECIMAL, DONE_STATE, , ,PKT_RETRIES)
; 1665 1 )
; 1666 1 %SBTTL 'SET PARITY type'
; 1667 1
; 1668 1 !++
; 1669 1 ! SET PARITY command. Format is:
; 1670 1 !
; 1671 1 ! Kermit-32>SET PARITY type
; 1672 1 !
; 1673 1 ! The type can be:
; 1674 1 !
; 1675 1 ! NONE - No parity processing
; 1676 1 ! MARK - Mark parity
; 1677 1 ! SPACE - Space parity
; 1678 1 ! EVEN - Even parity
; 1679 1 ! ODD - Odd parity
; 1680 1 !
; 1681 1 !--
; 1682 1
; P 1683 1 $STATE (SET_PAR_STATE,
; P 1684 1 ('EVEN', DONE_STATE, STORE_PARITY, , ,PR_EVEN),
; P 1685 1 ('MARK', DONE_STATE, STORE_PARITY, , ,PR_MARK),
; P 1686 1 ('NONE', DONE_STATE, STORE_PARITY, , ,PR_NONE),
; P 1687 1 ('ODD', DONE_STATE, STORE_PARITY, , ,PR_ODD),
; P 1688 1 ('SPACE', DONE_STATE, STORE_PARITY, , ,PR_SPACE),
; P 1689 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1690 1 )
; 1691 1 %SBTTL 'SET RECEIVE table'
; 1692 1
; 1693 1 !++
; 1694 1 ! SET RECEIVE command. Format is:
; 1695 1 !
; 1696 1 ! Kermit-32>SET RECEIVE item
; 1697 1 !
; 1698 1 ! Where:
; 1699 1 ! Item - One of the following:
; 1700 1 ! PACKET-LENGTH <dec>
; 1701 1 ! PADDING <dec>
; 1702 1 ! PADCHAR <chr>
; 1703 1 ! TIMEOUT <dec>
; 1704 1 ! END-OF-LINE <oct>
; 1705 1 ! QUOTE <chr>
; 1706 1 !
; 1707 1 !--
; 1708 1
; P 1709 1 $STATE (SET_REC_STATE,
; P 1710 1 ('EIGHT-BIT-QUOTE', SR_8QU_STATE),
; P 1711 1 ('END_OF_LINE', SR_EOL_STATE),
; P 1712 1 ('PACKET_LENGTH', SR_PKT_STATE),
; P 1713 1 ('PADCHAR', SR_PDC_STATE),
; P 1714 1 ('PADDING', SR_PAD_STATE),
; P 1715 1 ('QUOTE', SR_QUO_STATE),
; P 1716 1 ('START_OF_PACKET', SR_SOH_STATE),
; P 1717 1 ('TIMEOUT', SR_TIM_STATE),
; P 1718 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1719 1 )
; 1720 1
; 1721 1 !++
; 1722 1 !
; 1723 1 ! SET RECEIVE PACKET-LENGTH command. Format is:
; 1724 1 !
; 1725 1 ! Kermit-32>SET RECEIVE PACKET-LENGTH <dec>
; 1726 1 !
; 1727 1 ! Where:
; 1728 1 ! <Dec> is a decimal number that specifies the length of a
; 1729 1 ! receive packet.
; 1730 1 !
; 1731 1 !--
; 1732 1
; P 1733 1 $STATE (SR_PKT_STATE,
; P 1734 1 (TPA$_DECIMAL, DONE_STATE, CHECK_PACKET_LEN, ,RCV_PKT_SIZE)
; 1735 1 )
; 1736 1
; 1737 1
; 1738 1 !++
; 1739 1 !
; 1740 1 ! SET RECEIVE PADDING command. The format of this command is:
; 1741 1 !
; 1742 1 ! Kermit-32>SET RECEIVE PADDING <dec>
; 1743 1 !
; 1744 1 ! Where:
; 1745 1 ! <dec> is the decimal number of padding characters to output.
; 1746 1 !
; 1747 1 !--
; 1748 1
; P 1749 1 $STATE (SR_PAD_STATE,
; P 1750 1 (TPA$_DECIMAL, DONE_STATE, CHECK_NPAD, ,RCV_NPAD)
; 1751 1 )
; 1752 1
; 1753 1 !++
; 1754 1 !
; 1755 1 ! SET RECEIVE PADCHAR command. Format is:
; 1756 1 !
; 1757 1 ! Kermit-32>SET RECEIVE PADCHAR <oct>
; 1758 1 !
; 1759 1 ! Where:
; 1760 1 ! <oct> is the octal representation of the padding character
; 1761 1 ! that is to be used.
; 1762 1 !
; 1763 1 !--
; 1764 1
; P 1765 1 $STATE (SR_PDC_STATE,
; P 1766 1 (TPA$_OCTAL, DONE_STATE, CHECK_PAD_CHAR, ,RCV_PADCHAR)
; 1767 1 )
; 1768 1 !++
; 1769 1 !
; 1770 1 ! SET RECEIVE START_OF_PACKET command. Format is:
; 1771 1 !
; 1772 1 ! Kermit-32>SET RECEIVE START_OF_PACKET <oct>
; 1773 1 !
; 1774 1 ! Where:
; 1775 1 ! <oct> is the octal representation of the padding character
; 1776 1 ! that is to be used.
; 1777 1 !
; 1778 1 !--
; 1779 1
; P 1780 1 $STATE (SR_SOH_STATE,
; P 1781 1 (TPA$_OCTAL, DONE_STATE, CHECK_SOH, ,RCV_SOH)
; 1782 1 )
; 1783 1
; 1784 1 !++
; 1785 1 !
; 1786 1 ! SET RECEIVE TIMEOUT command. The format is:
; 1787 1 !
; 1788 1 ! Kermit-32>SET RECEIVE TIMEOUT <dec>
; 1789 1 !
; 1790 1 ! Where:
; 1791 1 ! <dec> is the number of seconds before KERMIT-32 should time out
; 1792 1 ! attempting to receive a correct message.
; 1793 1 !
; 1794 1 !--
; 1795 1
; P 1796 1 $STATE (SR_TIM_STATE,
; P 1797 1 (TPA$_DECIMAL, DONE_STATE, , ,RCV_TIMEOUT)
; 1798 1 )
; 1799 1
; 1800 1 !++
; 1801 1 ! SET END-OF-LINE command. Format is:
; 1802 1 !
; 1803 1 ! Kermit-32>SET RECEIVE END-OF-LINE <octal>
; 1804 1 !
; 1805 1 ! Where:
; 1806 1 ! <octal> is the octal number representation of the character
; 1807 1 ! that is the end of line character.
; 1808 1 !
; 1809 1 !--
; 1810 1
; P 1811 1 $STATE (SR_EOL_STATE,
; P 1812 1 (TPA$_OCTAL, DONE_STATE, CHECK_EOL, ,RCV_EOL)
; 1813 1 )
; 1814 1
; 1815 1 !++
; 1816 1 ! SET RECEIVE QUOTE command. The format is:
; 1817 1 !
; 1818 1 ! Kermit-32>SET RECEIVE QUOTE <octal>
; 1819 1 !
; 1820 1 ! Where:
; 1821 1 ! <octal> is the octal number representing the quoting character.
; 1822 1 !
; 1823 1 !--
; 1824 1
; P 1825 1 $STATE (SR_QUO_STATE,
; P 1826 1 (TPA$_OCTAL, DONE_STATE, CHECK_QUOTE, ,RCV_QUOTE_CHR)
; 1827 1 )
; 1828 1 %SBTTL 'SET RECEIVE EIGHT-BIT-QUOTE'
; 1829 1
; 1830 1 !++
; 1831 1 ! This routine will handle the setting of the eight bit quoting character.
; 1832 1 !
; 1833 1 ! Kermit-32>SET RECEIVE EIGHT-BIT-QUOTE <octal>
; 1834 1 !
; 1835 1 ! Where:
; 1836 1 ! <octal> is the octal number representing the quoting character.
; 1837 1 !
; 1838 1 !--
; 1839 1
; P 1840 1 $STATE (SR_8QU_STATE,
; P 1841 1 (TPA$_OCTAL, DONE_STATE, CHECK_QUOTE, ,RCV_8QUOTE_CHR)
; 1842 1 )
; 1843 1 %SBTTL 'SET SEND tables'
; 1844 1
; 1845 1 !++
; 1846 1 ! SET SEND command. Format is:
; 1847 1 !
; 1848 1 ! Kermit-32>SET SEND item
; 1849 1 !
; 1850 1 ! Where:
; 1851 1 ! Item - One of the following:
; 1852 1 ! PACKET-LENGTH <dec>
; 1853 1 ! PADDING <dec>
; 1854 1 ! PADCHAR <chr>
; 1855 1 ! TIMEOUT <dec>
; 1856 1 ! END-OF-LINE <oct>
; 1857 1 ! QUOTE <chr>
; 1858 1 !
; 1859 1 !--
; 1860 1
; P 1861 1 $STATE (SET_SND_STATE,
; P 1862 1 ('END_OF_LINE', SS_EOL_STATE),
; P 1863 1 ('PACKET_LENGTH', SS_PKT_STATE),
; P 1864 1 ('PADCHAR', SS_PDC_STATE),
; P 1865 1 ('PADDING', SS_PAD_STATE),
; P 1866 1 ('QUOTE', SS_QUO_STATE),
; P 1867 1 ('START_OF_PACKET', SS_SOH_STATE),
; P 1868 1 ('TIMEOUT', SS_TIM_STATE),
; P 1869 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 1870 1 )
; 1871 1
; 1872 1
; 1873 1
; 1874 1 !++
; 1875 1 !
; 1876 1 ! SET SEND PACKET-LENGTH command. Format is:
; 1877 1 !
; 1878 1 ! Kermit-32>SET SEND PACKET-LENGTH <dec>
; 1879 1 !
; 1880 1 ! Where:
; 1881 1 ! <Dec> is a decimal number that specifies the length of a
; 1882 1 ! receive packet.
; 1883 1 !
; 1884 1 !--
; 1885 1
; P 1886 1 $STATE (SS_PKT_STATE,
; P 1887 1 (TPA$_DECIMAL, DONE_STATE, CHECK_PACKET_LEN, ,SND_PKT_SIZE)
; 1888 1 )
; 1889 1
; 1890 1
; 1891 1 !++
; 1892 1 !
; 1893 1 ! SET SEND PADDING command. The format of this command is:
; 1894 1 !
; 1895 1 ! Kermit-32>SET SEND PADDING <dec>
; 1896 1 !
; 1897 1 ! Where:
; 1898 1 ! <dec> is the decimal number of padding characters to output.
; 1899 1 !
; 1900 1 !--
; 1901 1
; P 1902 1 $STATE (SS_PAD_STATE,
; P 1903 1 (TPA$_DECIMAL, DONE_STATE, CHECK_NPAD, ,SND_NPAD)
; 1904 1 )
; 1905 1
; 1906 1 !++
; 1907 1 !
; 1908 1 ! SET SEND PADCHAR command. Format is:
; 1909 1 !
; 1910 1 ! Kermit-32>SET SEND PADCHAR <oct>
; 1911 1 !
; 1912 1 ! Where:
; 1913 1 ! <oct> is the octal representation of the padding character
; 1914 1 ! that is to be used.
; 1915 1 !
; 1916 1 !--
; 1917 1
; P 1918 1 $STATE (SS_PDC_STATE,
; P 1919 1 (TPA$_OCTAL, DONE_STATE, CHECK_PAD_CHAR, ,SND_PADCHAR)
; 1920 1 )
; 1921 1 !++
; 1922 1 !
; 1923 1 ! SET RECEIVE START_OF_PACKET command. Format is:
; 1924 1 !
; 1925 1 ! Kermit-32>SET RECEIVE START_OF_PACKET <oct>
; 1926 1 !
; 1927 1 ! Where:
; 1928 1 ! <oct> is the octal representation of the padding character
; 1929 1 ! that is to be used.
; 1930 1 !
; 1931 1 !--
; 1932 1
; P 1933 1 $STATE (SS_SOH_STATE,
; P 1934 1 (TPA$_OCTAL, DONE_STATE, CHECK_SOH, ,SND_SOH)
; 1935 1 )
; 1936 1
; 1937 1 !++
; 1938 1 !
; 1939 1 ! SET SEND TIMEOUT command. The format is:
; 1940 1 !
; 1941 1 ! Kermit-32>SET SEND TIMEOUT <dec>
; 1942 1 !
; 1943 1 ! Where:
; 1944 1 ! <dec> is the number of seconds before KERMIT-32 should time out
; 1945 1 ! attempting to receive a correct message.
; 1946 1 !
; 1947 1 !--
; 1948 1
; P 1949 1 $STATE (SS_TIM_STATE,
; P 1950 1 (TPA$_DECIMAL, DONE_STATE, , ,SND_TIMEOUT)
; 1951 1 )
; 1952 1
; 1953 1 !++
; 1954 1 ! SET SEND END-OF-LINE command. Format is:
; 1955 1 !
; 1956 1 ! Kermit-32>SET SEND END-OF-LINE <octal>
; 1957 1 !
; 1958 1 ! Where:
; 1959 1 ! <octal> is the octal number representation of the character
; 1960 1 ! that is the end of line character.
; 1961 1 !
; 1962 1 !--
; 1963 1
; P 1964 1 $STATE (SS_EOL_STATE,
; P 1965 1 (TPA$_OCTAL, DONE_STATE, CHECK_EOL, ,SND_EOL)
; 1966 1 )
; 1967 1
; 1968 1 !++
; 1969 1 ! SET SEND QUOTA command. The format is:
; 1970 1 !
; 1971 1 ! Kermit-32>SET SEND QUOTA <octal>
; 1972 1 !
; 1973 1 ! Where:
; 1974 1 ! <octal> is the octal number representing the quoting character.
; 1975 1 !
; 1976 1 !--
; 1977 1
; P 1978 1 $STATE (SS_QUO_STATE,
; P 1979 1 (TPA$_OCTAL, DONE_STATE, CHECK_QUOTE, ,SND_QUOTE_CHR)
; 1980 1 )
; 1981 1
; 1982 1 !++
; 1983 1 ! SET SERVER_TIMER command.
; 1984 1 !
; 1985 1 ! This sets the time between naks send when server is idle.
; 1986 1 !--
; 1987 1
; P 1988 1 $STATE (SET_SRV_STATE,
; P 1989 1 (TPA$_DECIMAL, DONE_STATE, , ,SRV_TIMEOUT)
; 1990 1 )
; 1991 1
; 1992 1 !++
; 1993 1 !
; 1994 1 ! SET TRANSMIT xxx command. The format is: ! and below
; 1995 1 !
; 1996 1 ! Kermit-32>SET TRANSMIT <item> <args>
; 1997 1 !
; 1998 1 ! Where:
; 1999 1 ! <item> is one of:
; 2000 1 ! DELAY - Time to delay after each carriage return
; 2001 1 ! ECHO - Echo from terminal line or just print line numbers
; 2002 1 !
; 2003 1 !--
; P 2004 1 $STATE (SET_TRN_STATE, !
; P 2005 1 ('DELAY', SET_TRD_STATE), !
; P 2006 1 ('ECHO', SET_TRE_STATE), !
; P 2007 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR) !
; 2008 1 ) !
; 2009 1
; 2010 1 !++
; 2011 1 !
; 2012 1 ! SET TRANSMIT DELAY command. Format is: ! and below
; 2013 1 !
; 2014 1 ! Kermit-32>SET TRANSMIT DELAY <digit>
; 2015 1 !
; 2016 1 ! Where:
; 2017 1 ! <digit> is a decimal digit that specifies the length of time in
; 2018 1 ! tenths of a second to delay after transmitting a carriage return.
; 2019 1 !
; 2020 1 !--
; 2021 1
; P 2022 1 $STATE (SET_TRD_STATE, !
; P 2023 1 (TPA$_DIGIT, DONE_STATE, STORE_TR_DELAY, ,TRANS_DELAY) !
; 2024 1 ) !
; 2025 1
; 2026 1 !++
; 2027 1 !
; 2028 1 ! SET TRANSMIT ECHO command. The format is: ! and below
; 2029 1 !
; 2030 1 ! Kermit-32>SET TRANSMIT ECHO (on/off)
; 2031 1 !
; 2032 1 ! Where:
; 2033 1 ! on/off is either the ON or OFF keyword.
; 2034 1 !
; 2035 1 !--
; 2036 1
; P 2037 1 $STATE (SET_TRE_STATE, !
; P 2038 1 ('ON', DONE_STATE, STORE_TR_ECHO, , ,TRUE), !
; P 2039 1 ('OFF', DONE_STATE, STORE_TR_ECHO, , ,FALSE),!
; P 2040 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR) !
; 2041 1 ) !
; 2042 1 %SBTTL 'SEND command'
; 2043 1
; 2044 1 !++
; 2045 1 ! SEND command. The format is:
; 2046 1 !
; 2047 1 ! Kermit-32>SEND file-specification
; 2048 1 !
; 2049 1 ! Where:
; 2050 1 ! FILE-SPECIFICATION is any valid VAX/VMS file specification.
; 2051 1 !
; 2052 1 !--
; 2053 1
; P 2054 1 $STATE (SEND_STATE,
; P 2055 1 (TPA$_ANY, SEND_STATE, STORE_TEXT),
; P 2056 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,FILE_DESC)
; 2057 1 )
; 2058 1 %SBTTL 'SHOW command'
; 2059 1
; 2060 1 !++
; 2061 1 ! SHOW command. The format is:
; 2062 1 !
; 2063 1 ! Kermit-32>SHOW <parameter>
; 2064 1 !
; 2065 1 ! Where:
; 2066 1 ! <Parameter> is one of the following:
; 2067 1 ! SEND - Send parameters
; 2068 1 ! RECEIVE - Receive parameters
; 2069 1 ! DEBUGGING - State of the debugging flag
; 2070 1 ! FILE-TYPE - Type of the file
; 2071 1 ! LOCAL-ECHO - Local echo flag
; 2072 1 ! LINE - Current line associated
; 2073 1 ! ESCAPE - Current escape character
; 2074 1 ! DELAY - Delay parameter.
; 2075 1 !
; 2076 1 !--
; 2077 1
; P 2078 1 $STATE (SHOW_STATE,
; P 2079 1 ('ALL', DONE_STATE, ,SHOW_ALL, SHOW_TYPE),
; P 2080 1 ('BLOCK_CHECK_TYPE', DONE_STATE, ,SHOW_CHK, SHOW_TYPE),
; P 2081 1 ('COMMUNICATIONS', DONE_STATE, ,SHOW_COM, SHOW_TYPE),
; P 2082 1 ('DEBUGGING', DONE_STATE, ,SHOW_DEB, SHOW_TYPE),
; P 2083 1 ('DELAY', DONE_STATE, ,SHOW_DEL, SHOW_TYPE),
; P 2084 1 ('ESCAPE', DONE_STATE, ,SHOW_ESC, SHOW_TYPE),
; P 2085 1 ('FILE_PARAMETERS', DONE_STATE, ,SHOW_FIL, SHOW_TYPE),
; P 2086 1 ('INCOMPLETE_FILE_DISPOSITION',DONE_STATE, ,SHOW_ABT, SHOW_TYPE),
; P 2087 1 ('LINE', DONE_STATE, ,SHOW_LIN, SHOW_TYPE),
; P 2088 1 ('LOCAL_ECHO', DONE_STATE, ,SHOW_ECH, SHOW_TYPE),
; P 2089 1 ('PACKET', DONE_STATE, ,SHOW_PAC, SHOW_TYPE),
; P 2090 1 ('PARITY', DONE_STATE, ,SHOW_PAR, SHOW_TYPE),
; P 2091 1 ('SEND', DONE_STATE, ,SHOW_SEN, SHOW_TYPE),
; P 2092 1 ('TIMING', DONE_STATE, ,SHOW_TIM, SHOW_TYPE),
; P 2093 1 ('RECEIVE', DONE_STATE, ,SHOW_REC, SHOW_TYPE),
; P 2094 1 ('RETRY', DONE_STATE, ,SHOW_RTY, SHOW_TYPE),
; P 2095 1 ('VERSION', DONE_STATE, ,SHOW_VER, SHOW_TYPE),
; P 2096 1 ('TRANSMIT', DONE_STATE, ,SHOW_TRN, SHOW_TYPE), !
; P 2097 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 2098 1 )
; 2099 1 %SBTTL 'LOG command'
; 2100 1
; 2101 1 !++
; 2102 1 ! The LOG command allows the specification of a session or transaction
; 2103 1 !log file.
; 2104 1 !--
; 2105 1
; P 2106 1 $STATE (LOG_STATE,
; P 2107 1 ('DEBUGGING', DBG_STATE),
; P 2108 1 ('SESSION', SES_STATE),
; P 2109 1 ('TRANSACTIONS',TRN_STATE),
; P 2110 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 2111 1 )
; 2112 1
; P 2113 1 $STATE (DBG_STATE,
; P 2114 1 (TPA$_ANY, DBG_STATE, STORE_TEXT),
; P 2115 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,DEBUG_DESC)
; 2116 1 )
; 2117 1
; P 2118 1 $STATE (SES_STATE,
; P 2119 1 (TPA$_ANY, SES_STATE, STORE_TEXT),
; P 2120 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,SESSION_DESC)
; 2121 1 )
; 2122 1
; P 2123 1 $STATE (TRN_STATE,
; P 2124 1 (TPA$_ANY, TRN_STATE, STORE_TEXT),
; P 2125 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,TRANSACTION_DESC)
; 2126 1 )
; 2127 1
; 2128 1
; 2129 1 %SBTTL 'Take command tables'
; 2130 1
; 2131 1 !++
; 2132 1 ! The following describes the TAKE (or @) command.
; 2133 1 !--
; 2134 1
; P 2135 1 $STATE (TAKE_STATE,
; P 2136 1 ('/', TAK_SWT_STATE, COPY_DESC, , ,TAK_FIL_DESC),
; P 2137 1 (TPA$_ANY, TAKE_STATE, STORE_TEXT),
; P 2138 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,TAK_FIL_DESC)
; 2139 1 )
; 2140 1
; P 2141 1 $STATE (TAK_SWT_STATE,
; P 2142 1 ('DISPLAY', DONE_STATE, ,TRUE, TAKE_DISPLAY),
; P 2143 1 (TPA$_SYMBOL, TPA$_FAIL, KEY_ERROR)
; 2144 1 )
; 2145 1
; 2146 1 %SBTTL 'TRANSMIT command' !
; 2147 1 !
; 2148 1 !++ !
; 2149 1 ! TRANSMIT command. The format is: !
; 2150 1 ! !
; 2151 1 ! Kermit-32>TRANSMIT file-specification !
; 2152 1 ! !
; 2153 1 ! Where: !
; 2154 1 ! FILE-SPECIFICATION is any valid VAX/VMS file specification. !
; 2155 1 ! !
; 2156 1 !-- !
; 2157 1 !
; P 2158 1 $STATE (TRANSMIT_STATE, !
; P 2159 1 (TPA$_ANY, TRANSMIT_STATE, STORE_TEXT), !
; P 2160 1 (TPA$_LAMBDA, DONE_STATE, COPY_DESC, , ,FILE_DESC) !
; 2161 1 ) !
; 2162 1
; 2163 1 %SBTTL 'Done state'
; 2164 1
; 2165 1 !++
; 2166 1 ! This is the single state that is the required CONFIRM for the end
; 2167 1 ! of the commands.
; 2168 1 !--
; 2169 1
; P 2170 1 $STATE (DONE_STATE,
; P 2171 1 (TPA$_EOS, TPA$_EXIT)
; 2172 1 )
; 2173 1
; 2174 1 !++
; 2175 1 !
; 2176 1 ! End of the KERMIT-32 command definitions
; 2177 1 !
; 2178 1 !--
; 2179 1
; 2180 1 PSECT OWN = $OWN$;
; 2181 1 PSECT GLOBAL = $GLOBAL$;
; 2182 1
; 2183 1 !<BLF/FORMAT>
; 2184 1 ROUTINE MAIN_ROUTINE =
; 2185 1
; 2186 1 !++
; 2187 1 ! FUNCTIONAL DESCRIPTION:
; 2188 1 !
; 2189 1 ! This is the main routine for KERMIT-32. This routine will
; 2190 1 ! initialize the various parameters and then call the command
; 2191 1 ! scanner to process commands.
; 2192 1 !
; 2193 1 ! FORMAL PARAMETERS:
; 2194 1 !
; 2195 1 ! None.
; 2196 1 !
; 2197 1 ! IMPLICIT INPUTS:
; 2198 1 !
; 2199 1 ! None.
; 2200 1 !
; 2201 1 ! IMPLICIT OUTPUTS:
; 2202 1 !
; 2203 1 ! None.
; 2204 1 !
; 2205 1 ! ROUTINE VALUE and
; 2206 1 ! COMPLETION CODES:
; 2207 1 !
; 2208 1 ! Return status from last command.
; 2209 1 !
; 2210 1 ! SIDE EFFECTS:
; 2211 1 !
; 2212 1 ! None.
; 2213 1 !
; 2214 1 !--
; 2215 1
; 2216 2 BEGIN
; 2217 2
; 2218 2 LOCAL
; 2219 2 STATUS, ! Returned status
; 2220 2 CRC_BIT_MASK, ! Bit mask for CRC initialization
; 2221 2 LOOP_FLAG;
; 2222 2
; 2223 2 !
; 2224 2 ! Initialize some variables
; 2225 2 !
; 2226 2 STATUS = LIB$PUT_OUTPUT (IDENT_STRING); ! Say who we are
; 2227 2 MSG_INIT (); ! Initialize message processing
; 2228 2 TERM_INIT (); ! Init terminal processing
; 2229 2 TT_INIT (); ! Init text processing
; 2230 2 FILE_INIT (); ! Init file processing
; 2231 2 SY_INIT (); ! Init system routines
; 2232 2 ESCAPE_CHR = CHR_ESCAPE;
; 2233 2 !
; 2234 2 ! Initialize some VAX/VMS interface items
; 2235 2 !
; 2236 2 CRC_BIT_MASK = %O'102010'; ! CRC bit mask
; 2237 2 LIB$CRC_TABLE (CRC_BIT_MASK, CRC_TABLE);
; 2238 2 LIB$ESTABLISH (KERM_HANDLER);
; 2239 2 !
; 2240 2 ! Initialize transaction log file descriptor
; 2241 2 !
; 2242 2 INIT_STR_DESC (TRANSACTION_DESC, TRANSACTION_NAME, 0);
; 2243 2 !
; 2244 2 ! Initialize take file descriptor
; 2245 2 !
; 2246 2 INIT_STR_DESC (TAK_FIL_DESC, TAK_FIL_NAME, 0);
; 2247 2 !
; 2248 2 ! Initialize prompt descriptor
; 2249 2 !
; 2250 2 INIT_STR_DESC (PROMPT_DESC, PROMPT_TEXT, 0);
; 2251 2 !
; 2252 2 ! Take initialization file
; 2253 2 !
; 2254 2 COMND_FILE (%ASCID'VMSKERMIT', %ASCID'.INI;0', TRUE, FALSE);
; 2255 2 !
; 2256 2 ! Main command loop
; 2257 2 !
; 2258 2 Status = COMND ();
; 2259 2 RETURN .Final_Status OR STS$M_INHIB_MSG;
; 2260 1 END; ! end of routine MAIN_ROUTINE
.TITLE KERMIT
.IDENT \3.3.128\
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AAB: .ASCII \VMS Kermit-32 version 3.3.128\<0><0><0>
; 6D 72 65 4B 20 53 4D 56 00000
; 65 76 20 32 33 2D 74 69 00008
; 2E 33 20 6E 6F 69 73 72 00010
; 00 00 00 38 32 31 2E 33 00018
P.AAA: .LONG 17694749 ; 010E001D 00020
.ADDRESS P.AAB ; 00000000' 00024
P.AAD: .ASCII \Kermit-32>\<0><0> ; 33 2D 74 69 6D 72 65 4B 00028
; 00 00 3E 32 00030
P.AAC: .LONG 17694730 ; 010E000A 00034
.ADDRESS P.AAD ; 00000000' 00038
P.AAF: .ASCII \VMSKERMIT\<0><0><0> ; 49 4D 52 45 4B 53 4D 56 0003C
; 00 00 00 54 00044
P.AAE: .LONG 17694729 ; 010E0009 00048
.ADDRESS P.AAF ; 00000000' 0004C
P.AAH: .ASCII \.INI;0\<0><0> ; 00 00 30 3B 49 4E 49 2E 00050
P.AAG: .LONG 17694726 ; 010E0006 00058
.ADDRESS P.AAH ; 00000000' 0005C
.PSECT $GLOBAL$,NOEXE,2
TRANSACTION_DESC::
.BLKB 8 ; 00000
TRANSACTION_OPEN::
.BLKB 4 ; 00008
TRANSACTION_FAB::
.BLKB 80 ; 0000C
TRANSACTION_RAB::
.BLKB 68 ; 0005C
ESCAPE_CHR::
.BLKB 4 ; 000A0
ALT_FILE_SIZE::
.BLKB 4 ; 000A4
ALT_FILE_NAME::
.BLKB 132 ; 000A8
.PSECT $OWN$,NOEXE,2
;TPARSE_BLOCK
U.47: .LONG 8, 2 ; 00000002 00000008 00000
.BLKB 28 ; 00008
;BAD_CMD_DESC
U.48: .BLKB 8 ; 00024
;COMMAND
U.49: .BLKB 4 ; 0002C
;SHOW_TYPE
U.50: .BLKB 4 ; 00030
;REM_TYPE
U.51: .BLKB 4 ; 00034
;TAKE_DISPLAY
U.52: .BLKB 4 ; 00038
;OUTPUT_LINE
U.53: .BLKB 80 ; 0003C
;OUTPUT_DESC
U.54: .BLKB 8 ; 0008C
;OUTPUT_SIZE
U.55: .BLKB 2 ; 00094
.BLKB 2 ; 00096
;FINAL_STATUS
U.56: .LONG 1 ; 00000001 00098
;TRANSACTION_NAME
U.57: .BLKB 132 ; 0009C
;PROMPT_DESC
U.58: .BLKB 8 ; 00120
;PROMPT_TEXT
U.59: .BLKB 132 ; 00128
;CRC_TABLE
U.60: .BLKB 64 ; 001AC
;TAK_FIL_DESC
U.61: .BLKB 8 ; 001EC
;TAK_FIL_NAME
U.62: .BLKB 132 ; 001F4
;TEMP_DESC
U.63: .BLKB 8 ; 00278
;TEMP_NAME
U.64: .BLKB 132 ; 00280
.PSECT _LIB$KEY0$,NOWRT, SHR, PIC,1
KERMIT_KEY::
.BLKB 0 ; 00000
;TPA$KEY0
U.66: .BLKB 0 ; 00000
;TPA$KEY
U.70: .WORD <U.69-U.66> ; 0000* 00000
;TPA$KEY
U.78: .WORD <U.77-U.66> ; 0000* 00002
;TPA$KEY
U.86: .WORD <U.85-U.66> ; 0000* 00004
;TPA$KEY
U.93: .WORD <U.92-U.66> ; 0000* 00006
;TPA$KEY
U.100: .WORD <U.99-U.66> ; 0000* 00008
;TPA$KEY
U.108: .WORD <U.107-U.66> ; 0000* 0000A
;TPA$KEY
U.116: .WORD <U.115-U.66> ; 0000* 0000C
;TPA$KEY
U.124: .WORD <U.123-U.66> ; 0000* 0000E
;TPA$KEY
U.132: .WORD <U.131-U.66> ; 0000* 00010
;TPA$KEY
U.139: .WORD <U.138-U.66> ; 0000* 00012
;TPA$KEY
U.146: .WORD <U.145-U.66> ; 0000* 00014
;TPA$KEY
U.153: .WORD <U.152-U.66> ; 0000* 00016
;TPA$KEY
U.161: .WORD <U.160-U.66> ; 0000* 00018
;TPA$KEY
U.168: .WORD <U.167-U.66> ; 0000* 0001A
;TPA$KEY
U.176: .WORD <U.175-U.66> ; 0000* 0001C
;TPA$KEY
U.184: .WORD <U.183-U.66> ; 0000* 0001E
;TPA$KEY
U.191: .WORD <U.190-U.66> ; 0000* 00020
;TPA$KEY
U.199: .WORD <U.198-U.66> ; 0000* 00022
;TPA$KEY
U.206: .WORD <U.205-U.66> ; 0000* 00024
;TPA$KEY
U.218: .WORD <U.217-U.66> ; 0000* 00026
;TPA$KEY
U.260: .WORD <U.259-U.66> ; 0000* 00028
;TPA$KEY
U.268: .WORD <U.267-U.66> ; 0000* 0002A
;TPA$KEY
U.276: .WORD <U.275-U.66> ; 0000* 0002C
;TPA$KEY
U.283: .WORD <U.282-U.66> ; 0000* 0002E
;TPA$KEY
U.290: .WORD <U.289-U.66> ; 0000* 00030
;TPA$KEY
U.297: .WORD <U.296-U.66> ; 0000* 00032
;TPA$KEY
U.304: .WORD <U.303-U.66> ; 0000* 00034
;TPA$KEY
U.311: .WORD <U.310-U.66> ; 0000* 00036
;TPA$KEY
U.318: .WORD <U.317-U.66> ; 0000* 00038
;TPA$KEY
U.325: .WORD <U.324-U.66> ; 0000* 0003A
;TPA$KEY
U.332: .WORD <U.331-U.66> ; 0000* 0003C
;TPA$KEY
U.339: .WORD <U.338-U.66> ; 0000* 0003E
;TPA$KEY
U.346: .WORD <U.345-U.66> ; 0000* 00040
;TPA$KEY
U.353: .WORD <U.352-U.66> ; 0000* 00042
;TPA$KEY
U.360: .WORD <U.359-U.66> ; 0000* 00044
;TPA$KEY
U.367: .WORD <U.366-U.66> ; 0000* 00046
;TPA$KEY
U.389: .WORD <U.388-U.66> ; 0000* 00048
;TPA$KEY
U.395: .WORD <U.394-U.66> ; 0000* 0004A
;TPA$KEY
U.401: .WORD <U.400-U.66> ; 0000* 0004C
;TPA$KEY
U.407: .WORD <U.406-U.66> ; 0000* 0004E
;TPA$KEY
U.413: .WORD <U.412-U.66> ; 0000* 00050
;TPA$KEY
U.419: .WORD <U.418-U.66> ; 0000* 00052
;TPA$KEY
U.425: .WORD <U.424-U.66> ; 0000* 00054
;TPA$KEY
U.431: .WORD <U.430-U.66> ; 0000* 00056
;TPA$KEY
U.437: .WORD <U.436-U.66> ; 0000* 00058
;TPA$KEY
U.442: .WORD <U.441-U.66> ; 0000* 0005A
;TPA$KEY
U.448: .WORD <U.447-U.66> ; 0000* 0005C
;TPA$KEY
U.454: .WORD <U.453-U.66> ; 0000* 0005E
;TPA$KEY
U.460: .WORD <U.459-U.66> ; 0000* 00060
;TPA$KEY
U.466: .WORD <U.465-U.66> ; 0000* 00062
;TPA$KEY
U.472: .WORD <U.471-U.66> ; 0000* 00064
;TPA$KEY
U.478: .WORD <U.477-U.66> ; 0000* 00066
;TPA$KEY
U.484: .WORD <U.483-U.66> ; 0000* 00068
;TPA$KEY
U.490: .WORD <U.489-U.66> ; 0000* 0006A
;TPA$KEY
U.496: .WORD <U.495-U.66> ; 0000* 0006C
;TPA$KEY
U.506: .WORD <U.505-U.66> ; 0000* 0006E
;TPA$KEY
U.514: .WORD <U.513-U.66> ; 0000* 00070
;TPA$KEY
U.526: .WORD <U.525-U.66> ; 0000* 00072
;TPA$KEY
U.534: .WORD <U.533-U.66> ; 0000* 00074
;TPA$KEY
U.542: .WORD <U.541-U.66> ; 0000* 00076
;TPA$KEY
U.550: .WORD <U.549-U.66> ; 0000* 00078
;TPA$KEY
U.558: .WORD <U.557-U.66> ; 0000* 0007A
;TPA$KEY
U.566: .WORD <U.565-U.66> ; 0000* 0007C
;TPA$KEY
U.578: .WORD <U.577-U.66> ; 0000* 0007E
;TPA$KEY
U.586: .WORD <U.585-U.66> ; 0000* 00080
;TPA$KEY
U.598: .WORD <U.597-U.66> ; 0000* 00082
;TPA$KEY
U.606: .WORD <U.605-U.66> ; 0000* 00084
;TPA$KEY
U.618: .WORD <U.617-U.66> ; 0000* 00086
;TPA$KEY
U.640: .WORD <U.639-U.66> ; 0000* 00088
;TPA$KEY
U.646: .WORD <U.645-U.66> ; 0000* 0008A
;TPA$KEY
U.652: .WORD <U.651-U.66> ; 0000* 0008C
;TPA$KEY
U.661: .WORD <U.660-U.66> ; 0000* 0008E
;TPA$KEY
U.669: .WORD <U.668-U.66> ; 0000* 00090
;TPA$KEY
U.677: .WORD <U.676-U.66> ; 0000* 00092
;TPA$KEY
U.689: .WORD <U.688-U.66> ; 0000* 00094
;TPA$KEY
U.697: .WORD <U.696-U.66> ; 0000* 00096
;TPA$KEY
U.705: .WORD <U.704-U.66> ; 0000* 00098
;TPA$KEY
U.713: .WORD <U.712-U.66> ; 0000* 0009A
;TPA$KEY
U.731: .WORD <U.730-U.66> ; 0000* 0009C
;TPA$KEY
U.739: .WORD <U.738-U.66> ; 0000* 0009E
;TPA$KEY
U.751: .WORD <U.750-U.66> ; 0000* 000A0
;TPA$KEY
U.757: .WORD <U.756-U.66> ; 0000* 000A2
;TPA$KEY
U.767: .WORD <U.766-U.66> ; 0000* 000A4
;TPA$KEY
U.775: .WORD <U.774-U.66> ; 0000* 000A6
;TPA$KEY
U.787: .WORD <U.786-U.66> ; 0000* 000A8
;TPA$KEY
U.795: .WORD <U.794-U.66> ; 0000* 000AA
;TPA$KEY
U.819: .WORD <U.818-U.66> ; 0000* 000AC
;TPA$KEY
U.825: .WORD <U.824-U.66> ; 0000* 000AE
;TPA$KEY
U.841: .WORD <U.840-U.66> ; 0000* 000B0
;TPA$KEY
U.849: .WORD <U.848-U.66> ; 0000* 000B2
;TPA$KEY
U.857: .WORD <U.856-U.66> ; 0000* 000B4
;TPA$KEY
U.865: .WORD <U.864-U.66> ; 0000* 000B6
;TPA$KEY
U.873: .WORD <U.872-U.66> ; 0000* 000B8
;TPA$KEY
U.885: .WORD <U.884-U.66> ; 0000* 000BA
;TPA$KEY
U.891: .WORD <U.890-U.66> ; 0000* 000BC
;TPA$KEY
U.897: .WORD <U.896-U.66> ; 0000* 000BE
;TPA$KEY
U.903: .WORD <U.902-U.66> ; 0000* 000C0
;TPA$KEY
U.909: .WORD <U.908-U.66> ; 0000* 000C2
;TPA$KEY
U.915: .WORD <U.914-U.66> ; 0000* 000C4
;TPA$KEY
U.921: .WORD <U.920-U.66> ; 0000* 000C6
;TPA$KEY
U.927: .WORD <U.926-U.66> ; 0000* 000C8
;TPA$KEY
U.968: .WORD <U.967-U.66> ; 0000* 000CA
;TPA$KEY
U.974: .WORD <U.973-U.66> ; 0000* 000CC
;TPA$KEY
U.980: .WORD <U.979-U.66> ; 0000* 000CE
;TPA$KEY
U.986: .WORD <U.985-U.66> ; 0000* 000D0
;TPA$KEY
U.992: .WORD <U.991-U.66> ; 0000* 000D2
;TPA$KEY
U.998: .WORD <U.997-U.66> ; 0000* 000D4
;TPA$KEY
U.1004: .WORD <U.1003-U.66> ; 0000* 000D6
;TPA$KEY
U.1044: .WORD <U.1043-U.66> ; 0000* 000D8
;TPA$KEY
U.1050: .WORD <U.1049-U.66> ; 0000* 000DA
;TPA$KEY
U.1064: .WORD <U.1063-U.66> ; 0000* 000DC
;TPA$KEY
U.1072: .WORD <U.1071-U.66> ; 0000* 000DE
;TPA$KEY
U.1092: .WORD <U.1091-U.66> ; 0000* 000E0
;TPA$KEY
U.1099: .WORD <U.1098-U.66> ; 0000* 000E2
;TPA$KEY
U.1106: .WORD <U.1105-U.66> ; 0000* 000E4
;TPA$KEY
U.1113: .WORD <U.1112-U.66> ; 0000* 000E6
;TPA$KEY
U.1120: .WORD <U.1119-U.66> ; 0000* 000E8
;TPA$KEY
U.1127: .WORD <U.1126-U.66> ; 0000* 000EA
;TPA$KEY
U.1134: .WORD <U.1133-U.66> ; 0000* 000EC
;TPA$KEY
U.1141: .WORD <U.1140-U.66> ; 0000* 000EE
;TPA$KEY
U.1148: .WORD <U.1147-U.66> ; 0000* 000F0
;TPA$KEY
U.1155: .WORD <U.1154-U.66> ; 0000* 000F2
;TPA$KEY
U.1162: .WORD <U.1161-U.66> ; 0000* 000F4
;TPA$KEY
U.1169: .WORD <U.1168-U.66> ; 0000* 000F6
;TPA$KEY
U.1176: .WORD <U.1175-U.66> ; 0000* 000F8
;TPA$KEY
U.1183: .WORD <U.1182-U.66> ; 0000* 000FA
;TPA$KEY
U.1190: .WORD <U.1189-U.66> ; 0000* 000FC
;TPA$KEY
U.1197: .WORD <U.1196-U.66> ; 0000* 000FE
;TPA$KEY
U.1204: .WORD <U.1203-U.66> ; 0000* 00100
;TPA$KEY
U.1211: .WORD <U.1210-U.66> ; 0000* 00102
;TPA$KEY
U.1222: .WORD <U.1221-U.66> ; 0000* 00104
;TPA$KEY
U.1228: .WORD <U.1227-U.66> ; 0000* 00106
;TPA$KEY
U.1234: .WORD <U.1233-U.66> ; 0000* 00108
;TPA$KEY
U.1282: .WORD <U.1281-U.66> ; 0000* 0010A
.PSECT _LIB$STATE$,NOWRT, SHR, PIC,1
KERMIT_STATE::
.BLKB 0 ; 00000
;START
U.68: .BLKB 0 ; 00000
;TPA$TYPE
U.72: .WORD 28928 ; 7100 00000
;TPA$ADDR
U.73: .LONG <<U.49-U.73>-4> ; 00000000* 00002
;TPA$MASK
U.74: .LONG 11 ; 0000000B 00006
;TPA$TARGET
U.76: .WORD <<U.75-U.76>-2> ; 0000* 0000A
;TPA$TYPE
U.80: .WORD 28929 ; 7101 0000C
;TPA$ADDR
U.81: .LONG <<U.49-U.81>-4> ; 00000000* 0000E
;TPA$MASK
U.82: .LONG 1 ; 00000001 00012
;TPA$TARGET
U.84: .WORD <<U.83-U.84>-2> ; 0000* 00016
;TPA$TYPE
U.88: .WORD 28930 ; 7102 00018
;TPA$ADDR
U.89: .LONG <<U.49-U.89>-4> ; 00000000* 0001A
;TPA$MASK
U.90: .LONG 2 ; 00000002 0001E
;TPA$TARGET
U.91: .WORD <<U.75-U.91>-2> ; 0000* 00022
;TPA$TYPE
U.95: .WORD 28931 ; 7103 00024
;TPA$ADDR
U.96: .LONG <<U.49-U.96>-4> ; 00000000* 00026
;TPA$MASK
U.97: .LONG 12 ; 0000000C 0002A
;TPA$TARGET
U.98: .WORD <<U.75-U.98>-2> ; 0000* 0002E
;TPA$TYPE
U.102: .WORD 28932 ; 7104 00030
;TPA$ADDR
U.103: .LONG <<U.49-U.103>-4> ; 00000000* 00032
;TPA$MASK
U.104: .LONG 13 ; 0000000D 00036
;TPA$TARGET
U.106: .WORD <<U.105-U.106>-2> ; 0000* 0003A
;TPA$TYPE
U.110: .WORD 28933 ; 7105 0003C
;TPA$ADDR
U.111: .LONG <<U.49-U.111>-4> ; 00000000* 0003E
;TPA$MASK
U.112: .LONG 3 ; 00000003 00042
;TPA$TARGET
U.114: .WORD <<U.113-U.114>-2> ; 0000* 00046
;TPA$TYPE
U.118: .WORD 28934 ; 7106 00048
;TPA$ADDR
U.119: .LONG <<U.49-U.119>-4> ; 00000000* 0004A
;TPA$MASK
U.120: .LONG 15 ; 0000000F 0004E
;TPA$TARGET
U.122: .WORD <<U.121-U.122>-2> ; 0000* 00052
;TPA$TYPE
U.126: .WORD 28935 ; 7107 00054
;TPA$ADDR
U.127: .LONG <<U.49-U.127>-4> ; 00000000* 00056
;TPA$MASK
U.128: .LONG 17 ; 00000011 0005A
;TPA$TARGET
U.130: .WORD <<U.129-U.130>-2> ; 0000* 0005E
;TPA$TYPE
U.134: .WORD 28936 ; 7108 00060
;TPA$ADDR
U.135: .LONG <<U.49-U.135>-4> ; 00000000* 00062
;TPA$MASK
U.136: .LONG 10 ; 0000000A 00066
;TPA$TARGET
U.137: .WORD <<U.75-U.137>-2> ; 0000* 0006A
;TPA$TYPE
U.141: .WORD 28937 ; 7109 0006C
;TPA$ADDR
U.142: .LONG <<U.49-U.142>-4> ; 00000000* 0006E
;TPA$MASK
U.143: .LONG 16 ; 00000010 00072
;TPA$TARGET
U.144: .WORD <<U.75-U.144>-2> ; 0000* 00076
;TPA$TYPE
U.148: .WORD 28938 ; 710A 00078
;TPA$ADDR
U.149: .LONG <<U.49-U.149>-4> ; 00000000* 0007A
;TPA$MASK
U.150: .LONG 2 ; 00000002 0007E
;TPA$TARGET
U.151: .WORD <<U.75-U.151>-2> ; 0000* 00082
;TPA$TYPE
U.155: .WORD 28939 ; 710B 00084
;TPA$ADDR
U.156: .LONG <<U.49-U.156>-4> ; 00000000* 00086
;TPA$MASK
U.157: .LONG 4 ; 00000004 0008A
;TPA$TARGET
U.159: .WORD <<U.158-U.159>-2> ; 0000* 0008E
;TPA$TYPE
U.163: .WORD 28940 ; 710C 00090
;TPA$ADDR
U.164: .LONG <<U.49-U.164>-4> ; 00000000* 00092
;TPA$MASK
U.165: .LONG 14 ; 0000000E 00096
;TPA$TARGET
U.166: .WORD <<U.121-U.166>-2> ; 0000* 0009A
;TPA$TYPE
U.170: .WORD 28941 ; 710D 0009C
;TPA$ADDR
U.171: .LONG <<U.49-U.171>-4> ; 00000000* 0009E
;TPA$MASK
U.172: .LONG 5 ; 00000005 000A2
;TPA$TARGET
U.174: .WORD <<U.173-U.174>-2> ; 0000* 000A6
;TPA$TYPE
U.178: .WORD 28942 ; 710E 000A8
;TPA$ADDR
U.179: .LONG <<U.49-U.179>-4> ; 00000000* 000AA
;TPA$MASK
U.180: .LONG 6 ; 00000006 000AE
;TPA$TARGET
U.182: .WORD <<U.181-U.182>-2> ; 0000* 000B2
;TPA$TYPE
U.186: .WORD 28943 ; 710F 000B4
;TPA$ADDR
U.187: .LONG <<U.49-U.187>-4> ; 00000000* 000B6
;TPA$MASK
U.188: .LONG 8 ; 00000008 000BA
;TPA$TARGET
U.189: .WORD <<U.75-U.189>-2> ; 0000* 000BE
;TPA$TYPE
U.193: .WORD 28944 ; 7110 000C0
;TPA$ADDR
U.194: .LONG <<U.49-U.194>-4> ; 00000000* 000C2
;TPA$MASK
U.195: .LONG 7 ; 00000007 000C6
;TPA$TARGET
U.197: .WORD <<U.196-U.197>-2> ; 0000* 000CA
;TPA$TYPE
U.201: .WORD 28945 ; 7111 000CC
;TPA$ADDR
U.202: .LONG <<U.49-U.202>-4> ; 00000000* 000CE
;TPA$MASK
U.203: .LONG 9 ; 00000009 000D2
;TPA$TARGET
U.204: .WORD <<U.75-U.204>-2> ; 0000* 000D6
;TPA$TYPE
U.208: .WORD 28946 ; 7112 000D8
;TPA$ADDR
U.209: .LONG <<U.49-U.209>-4> ; 00000000* 000DA
;TPA$MASK
U.210: .LONG 18 ; 00000012 000DE
;TPA$TARGET
U.212: .WORD <<U.211-U.212>-2> ; 0000* 000E2
;TPA$TYPE
U.213: .WORD 28736 ; 7040 000E4
;TPA$ADDR
U.214: .LONG <<U.49-U.214>-4> ; 00000000* 000E6
;TPA$MASK
U.215: .LONG 18 ; 00000012 000EA
;TPA$TARGET
U.216: .WORD <<U.211-U.216>-2> ; 0000* 000EE
;TPA$TYPE
U.220: .WORD 28947 ; 7113 000F0
;TPA$ADDR
U.221: .LONG <<U.49-U.221>-4> ; 00000000* 000F2
;TPA$MASK
U.222: .LONG 19 ; 00000013 000F6
;TPA$TARGET
U.224: .WORD <<U.223-U.224>-2> ; 0000* 000FA
;TPA$TYPE
U.225: .WORD -27151 ; 95F1 000FC
;TPA$ACTION
U.226: .LONG <<U.36-U.226>-4> ; 00000000V 000FE
;TPA$TARGET
U.227: .WORD -2 ; FFFE 00102
;CONN_STATE
U.83: .BLKB 0 ; 00104
;TPA$TYPE
U.229: .WORD 4599 ; 11F7 00104
;TPA$TARGET
U.230: .WORD <<U.75-U.230>-2> ; 0000* 00106
;TPA$TYPE
U.231: .WORD 5622 ; 15F6 00108
;TPA$TARGET
U.233: .WORD <<U.232-U.233>-2> ; 0000* 0010A
;HELP_STATE
U.113: .BLKB 0 ; 0010C
;TPA$TYPE
U.234: .WORD -28179 ; 91ED 0010C
;TPA$ACTION
U.235: .LONG <<U.12-U.235>-4> ; 00000000V 0010E
;TPA$TARGET
U.236: .WORD <<U.113-U.236>-2> ; 0000* 00112
;TPA$TYPE
U.237: .WORD 5622 ; 15F6 00114
;TPA$TARGET
U.238: .WORD <<U.75-U.238>-2> ; 0000* 00116
;GET_STATE
U.105: .BLKB 0 ; 00118
;TPA$TYPE
U.239: .WORD -28179 ; 91ED 00118
;TPA$ACTION
U.240: .LONG <<U.12-U.240>-4> ; 00000000V 0011A
;TPA$TARGET
U.241: .WORD <<U.105-U.241>-2> ; 0000* 0011E
;TPA$TYPE
U.242: .WORD -26634 ; 97F6 00120
;TPA$FLAGS2
U.243: .BYTE 1 ; 01 00122
;TPA$PARAM
U.244: .ADDRESS FILE_DESC ; 00000000G 00123
;TPA$ACTION
U.245: .LONG <<U.14-U.245>-4> ; 00000000V 00127
;TPA$TARGET
U.246: .WORD <<U.75-U.246>-2> ; 0000* 0012B
;REC_STATE
U.158: .BLKB 0 ; 0012D
;TPA$TYPE
U.247: .WORD -28179 ; 91ED 0012D
;TPA$ACTION
U.248: .LONG <<U.12-U.248>-4> ; 00000000V 0012F
;TPA$TARGET
U.250: .WORD <<U.249-U.250>-2> ; 0000* 00133
;TPA$TYPE
U.251: .WORD 5622 ; 15F6 00135
;TPA$TARGET
U.252: .WORD <<U.75-U.252>-2> ; 0000* 00137
;REC1_STATE
U.249: .BLKB 0 ; 00139
;TPA$TYPE
U.253: .WORD -28179 ; 91ED 00139
;TPA$ACTION
U.254: .LONG <<U.12-U.254>-4> ; 00000000V 0013B
;TPA$TARGET
U.255: .WORD <<U.249-U.255>-2> ; 0000* 0013F
;TPA$TYPE
U.256: .WORD -27146 ; 95F6 00141
;TPA$ACTION
U.257: .LONG <<U.15-U.257>-4> ; 00000000V 00143
;TPA$TARGET
U.258: .WORD <<U.75-U.258>-2> ; 0000* 00147
;REM_STATE
U.121: .BLKB 0 ; 00149
;TPA$TYPE
U.262: .WORD 28948 ; 7114 00149
;TPA$ADDR
U.263: .LONG <<U.51-U.263>-4> ; 00000000* 0014B
;TPA$MASK
U.264: .LONG 11 ; 0000000B 0014F
;TPA$TARGET
U.266: .WORD <<U.265-U.266>-2> ; 0000* 00153
;TPA$TYPE
U.270: .WORD 28949 ; 7115 00155
;TPA$ADDR
U.271: .LONG <<U.51-U.271>-4> ; 00000000* 00157
;TPA$MASK
U.272: .LONG 9 ; 00000009 0015B
;TPA$TARGET
U.274: .WORD <<U.273-U.274>-2> ; 0000* 0015F
;TPA$TYPE
U.278: .WORD 28950 ; 7116 00161
;TPA$ADDR
U.279: .LONG <<U.51-U.279>-4> ; 00000000* 00163
;TPA$MASK
U.280: .LONG 4 ; 00000004 00167
;TPA$TARGET
U.281: .WORD <<U.265-U.281>-2> ; 0000* 0016B
;TPA$TYPE
U.285: .WORD 28951 ; 7117 0016D
;TPA$ADDR
U.286: .LONG <<U.51-U.286>-4> ; 00000000* 0016F
;TPA$MASK
U.287: .LONG 2 ; 00000002 00173
;TPA$TARGET
U.288: .WORD <<U.273-U.288>-2> ; 0000* 00177
;TPA$TYPE
U.292: .WORD 28952 ; 7118 00179
;TPA$ADDR
U.293: .LONG <<U.51-U.293>-4> ; 00000000* 0017B
;TPA$MASK
U.294: .LONG 3 ; 00000003 0017F
;TPA$TARGET
U.295: .WORD <<U.273-U.295>-2> ; 0000* 00183
;TPA$TYPE
U.299: .WORD 28953 ; 7119 00185
;TPA$ADDR
U.300: .LONG <<U.51-U.300>-4> ; 00000000* 00187
;TPA$MASK
U.301: .LONG 1 ; 00000001 0018B
;TPA$TARGET
U.302: .WORD <<U.75-U.302>-2> ; 0000* 0018F
;TPA$TYPE
U.306: .WORD 28954 ; 711A 00191
;TPA$ADDR
U.307: .LONG <<U.51-U.307>-4> ; 00000000* 00193
;TPA$MASK
U.308: .LONG 6 ; 00000006 00197
;TPA$TARGET
U.309: .WORD <<U.273-U.309>-2> ; 0000* 0019B
;TPA$TYPE
U.313: .WORD 28955 ; 711B 0019D
;TPA$ADDR
U.314: .LONG <<U.51-U.314>-4> ; 00000000* 0019F
;TPA$MASK
U.315: .LONG 15 ; 0000000F 001A3
;TPA$TARGET
U.316: .WORD <<U.265-U.316>-2> ; 0000* 001A7
;TPA$TYPE
U.320: .WORD 28956 ; 711C 001A9
;TPA$ADDR
U.321: .LONG <<U.51-U.321>-4> ; 00000000* 001AB
;TPA$MASK
U.322: .LONG 8 ; 00000008 001AF
;TPA$TARGET
U.323: .WORD <<U.265-U.323>-2> ; 0000* 001B3
;TPA$TYPE
U.327: .WORD 28957 ; 711D 001B5
;TPA$ADDR
U.328: .LONG <<U.51-U.328>-4> ; 00000000* 001B7
;TPA$MASK
U.329: .LONG 7 ; 00000007 001BB
;TPA$TARGET
U.330: .WORD <<U.75-U.330>-2> ; 0000* 001BF
;TPA$TYPE
U.334: .WORD 28958 ; 711E 001C1
;TPA$ADDR
U.335: .LONG <<U.51-U.335>-4> ; 00000000* 001C3
;TPA$MASK
U.336: .LONG 10 ; 0000000A 001C7
;TPA$TARGET
U.337: .WORD <<U.265-U.337>-2> ; 0000* 001CB
;TPA$TYPE
U.341: .WORD 28959 ; 711F 001CD
;TPA$ADDR
U.342: .LONG <<U.51-U.342>-4> ; 00000000* 001CF
;TPA$MASK
U.343: .LONG 13 ; 0000000D 001D3
;TPA$TARGET
U.344: .WORD <<U.265-U.344>-2> ; 0000* 001D7
;TPA$TYPE
U.348: .WORD 28960 ; 7120 001D9
;TPA$ADDR
U.349: .LONG <<U.51-U.349>-4> ; 00000000* 001DB
;TPA$MASK
U.350: .LONG 3 ; 00000003 001DF
;TPA$TARGET
U.351: .WORD <<U.273-U.351>-2> ; 0000* 001E3
;TPA$TYPE
U.355: .WORD 28961 ; 7121 001E5
;TPA$ADDR
U.356: .LONG <<U.51-U.356>-4> ; 00000000* 001E7
;TPA$MASK
U.357: .LONG 14 ; 0000000E 001EB
;TPA$TARGET
U.358: .WORD <<U.75-U.358>-2> ; 0000* 001EF
;TPA$TYPE
U.362: .WORD 28962 ; 7122 001F1
;TPA$ADDR
U.363: .LONG <<U.51-U.363>-4> ; 00000000* 001F3
;TPA$MASK
U.364: .LONG 5 ; 00000005 001F7
;TPA$TARGET
U.365: .WORD <<U.265-U.365>-2> ; 0000* 001FB
;TPA$TYPE
U.369: .WORD 28963 ; 7123 001FD
;TPA$ADDR
U.370: .LONG <<U.51-U.370>-4> ; 00000000* 001FF
;TPA$MASK
U.371: .LONG 12 ; 0000000C 00203
;TPA$TARGET
U.372: .WORD <<U.273-U.372>-2> ; 0000* 00207
;TPA$TYPE
U.373: .WORD -27151 ; 95F1 00209
;TPA$ACTION
U.374: .LONG <<U.36-U.374>-4> ; 00000000V 0020B
;TPA$TARGET
U.375: .WORD -2 ; FFFE 0020F
;REM1_STATE
U.273: .BLKB 0 ; 00211
;TPA$TYPE
U.377: .WORD -28179 ; 91ED 00211
;TPA$ACTION
U.378: .LONG <<U.12-U.378>-4> ; 00000000V 00213
;TPA$TARGET
U.379: .WORD <<U.265-U.379>-2> ; 0000* 00217
;TPA$TYPE
U.380: .WORD 5622 ; 15F6 00219
;TPA$TARGET
U.381: .WORD <<U.75-U.381>-2> ; 0000* 0021B
;REM2_STATE
U.265: .BLKB 0 ; 0021D
;TPA$TYPE
U.382: .WORD -28179 ; 91ED 0021D
;TPA$ACTION
U.383: .LONG <<U.12-U.383>-4> ; 00000000V 0021F
;TPA$TARGET
U.384: .WORD <<U.265-U.384>-2> ; 0000* 00223
;TPA$TYPE
U.385: .WORD -27146 ; 95F6 00225
;TPA$ACTION
U.386: .LONG <<U.16-U.386>-4> ; 00000000V 00227
;TPA$TARGET
U.387: .WORD <<U.75-U.387>-2> ; 0000* 0022B
;SET_STATE
U.173: .BLKB 0 ; 0022D
;TPA$TYPE
U.391: .WORD 4388 ; 1124 0022D
;TPA$TARGET
U.393: .WORD <<U.392-U.393>-2> ; 0000* 0022F
;TPA$TYPE
U.397: .WORD 4389 ; 1125 00231
;TPA$TARGET
U.399: .WORD <<U.398-U.399>-2> ; 0000* 00233
;TPA$TYPE
U.403: .WORD 4390 ; 1126 00235
;TPA$TARGET
U.405: .WORD <<U.404-U.405>-2> ; 0000* 00237
;TPA$TYPE
U.409: .WORD 4391 ; 1127 00239
;TPA$TARGET
U.411: .WORD <<U.410-U.411>-2> ; 0000* 0023B
;TPA$TYPE
U.415: .WORD 4392 ; 1128 0023D
;TPA$TARGET
U.417: .WORD <<U.416-U.417>-2> ; 0000* 0023F
;TPA$TYPE
U.421: .WORD 4393 ; 1129 00241
;TPA$TARGET
U.423: .WORD <<U.422-U.423>-2> ; 0000* 00243
;TPA$TYPE
U.427: .WORD 4394 ; 112A 00245
;TPA$TARGET
U.429: .WORD <<U.428-U.429>-2> ; 0000* 00247
;TPA$TYPE
U.433: .WORD 4395 ; 112B 00249
;TPA$TARGET
U.435: .WORD <<U.434-U.435>-2> ; 0000* 0024B
;TPA$TYPE
U.439: .WORD 4396 ; 112C 0024D
;TPA$TARGET
U.440: .WORD <<U.232-U.440>-2> ; 0000* 0024F
;TPA$TYPE
U.444: .WORD 4397 ; 112D 00251
;TPA$TARGET
U.446: .WORD <<U.445-U.446>-2> ; 0000* 00253
;TPA$TYPE
U.450: .WORD 4398 ; 112E 00255
;TPA$TARGET
U.452: .WORD <<U.451-U.452>-2> ; 0000* 00257
;TPA$TYPE
U.456: .WORD 4399 ; 112F 00259
;TPA$TARGET
U.458: .WORD <<U.457-U.458>-2> ; 0000* 0025B
;TPA$TYPE
U.462: .WORD 4400 ; 1130 0025D
;TPA$TARGET
U.464: .WORD <<U.463-U.464>-2> ; 0000* 0025F
;TPA$TYPE
U.468: .WORD 4401 ; 1131 00261
;TPA$TARGET
U.470: .WORD <<U.469-U.470>-2> ; 0000* 00263
;TPA$TYPE
U.474: .WORD 4402 ; 1132 00265
;TPA$TARGET
U.476: .WORD <<U.475-U.476>-2> ; 0000* 00267
;TPA$TYPE
U.480: .WORD 4403 ; 1133 00269
;TPA$TARGET
U.482: .WORD <<U.481-U.482>-2> ; 0000* 0026B
;TPA$TYPE
U.486: .WORD 4404 ; 1134 0026D
;TPA$TARGET
U.488: .WORD <<U.487-U.488>-2> ; 0000* 0026F
;TPA$TYPE
U.492: .WORD 4405 ; 1135 00271
;TPA$TARGET
U.494: .WORD <<U.493-U.494>-2> ; 0000* 00273
;TPA$TYPE
U.498: .WORD 4406 ; 1136 00275
;TPA$TARGET
U.500: .WORD <<U.499-U.500>-2> ; 0000* 00277
;TPA$TYPE
U.501: .WORD -27151 ; 95F1 00279
;TPA$ACTION
U.502: .LONG <<U.36-U.502>-4> ; 00000000V 0027B
;TPA$TARGET
U.503: .WORD -2 ; FFFE 0027F
;SET_ABT_STATE
U.434: .BLKB 0 ; 00281
;TPA$TYPE
U.508: .WORD -27849 ; 9337 00281
;TPA$FLAGS2
U.509: .BYTE 1 ; 01 00283
;TPA$PARAM
U.510: .LONG 1 ; 00000001 00284
;TPA$ACTION
U.511: .LONG <<U.26-U.511>-4> ; 00000000V 00288
;TPA$TARGET
U.512: .WORD <<U.75-U.512>-2> ; 0000* 0028C
;TPA$TYPE
U.516: .WORD -27848 ; 9338 0028E
;TPA$FLAGS2
U.517: .BYTE 1 ; 01 00290
;TPA$PARAM
U.518: .LONG 0 ; 00000000 00291
;TPA$ACTION
U.519: .LONG <<U.26-U.519>-4> ; 00000000V 00295
;TPA$TARGET
U.520: .WORD <<U.75-U.520>-2> ; 0000* 00299
;TPA$TYPE
U.521: .WORD -27151 ; 95F1 0029B
;TPA$ACTION
U.522: .LONG <<U.36-U.522>-4> ; 00000000V 0029D
;TPA$TARGET
U.523: .WORD -2 ; FFFE 002A1
;SET_CHK_STATE
U.392: .BLKB 0 ; 002A3
;TPA$TYPE
U.528: .WORD -27847 ; 9339 002A3
;TPA$FLAGS2
U.529: .BYTE 1 ; 01 002A5
;TPA$PARAM
U.530: .LONG 49 ; 00000031 002A6
;TPA$ACTION
U.531: .LONG <<U.25-U.531>-4> ; 00000000V 002AA
;TPA$TARGET
U.532: .WORD <<U.75-U.532>-2> ; 0000* 002AE
;TPA$TYPE
U.536: .WORD -27846 ; 933A 002B0
;TPA$FLAGS2
U.537: .BYTE 1 ; 01 002B2
;TPA$PARAM
U.538: .LONG 50 ; 00000032 002B3
;TPA$ACTION
U.539: .LONG <<U.25-U.539>-4> ; 00000000V 002B7
;TPA$TARGET
U.540: .WORD <<U.75-U.540>-2> ; 0000* 002BB
;TPA$TYPE
U.544: .WORD -27845 ; 933B 002BD
;TPA$FLAGS2
U.545: .BYTE 1 ; 01 002BF
;TPA$PARAM
U.546: .LONG 51 ; 00000033 002C0
;TPA$ACTION
U.547: .LONG <<U.25-U.547>-4> ; 00000000V 002C4
;TPA$TARGET
U.548: .WORD <<U.75-U.548>-2> ; 0000* 002C8
;TPA$TYPE
U.552: .WORD -27844 ; 933C 002CA
;TPA$FLAGS2
U.553: .BYTE 1 ; 01 002CC
;TPA$PARAM
U.554: .LONG 49 ; 00000031 002CD
;TPA$ACTION
U.555: .LONG <<U.25-U.555>-4> ; 00000000V 002D1
;TPA$TARGET
U.556: .WORD <<U.75-U.556>-2> ; 0000* 002D5
;TPA$TYPE
U.560: .WORD -27843 ; 933D 002D7
;TPA$FLAGS2
U.561: .BYTE 1 ; 01 002D9
;TPA$PARAM
U.562: .LONG 51 ; 00000033 002DA
;TPA$ACTION
U.563: .LONG <<U.25-U.563>-4> ; 00000000V 002DE
;TPA$TARGET
U.564: .WORD <<U.75-U.564>-2> ; 0000* 002E2
;TPA$TYPE
U.568: .WORD -27842 ; 933E 002E4
;TPA$FLAGS2
U.569: .BYTE 1 ; 01 002E6
;TPA$PARAM
U.570: .LONG 50 ; 00000032 002E7
;TPA$ACTION
U.571: .LONG <<U.25-U.571>-4> ; 00000000V 002EB
;TPA$TARGET
U.572: .WORD <<U.75-U.572>-2> ; 0000* 002EF
;TPA$TYPE
U.573: .WORD -27151 ; 95F1 002F1
;TPA$ACTION
U.574: .LONG <<U.36-U.574>-4> ; 00000000V 002F3
;TPA$TARGET
U.575: .WORD -2 ; FFFE 002F7
;SET_DEB_STATE
U.398: .BLKB 0 ; 002F9
;TPA$TYPE
U.580: .WORD -27841 ; 933F 002F9
;TPA$FLAGS2
U.581: .BYTE 1 ; 01 002FB
;TPA$PARAM
U.582: .LONG 0 ; 00000000 002FC
;TPA$ACTION
U.583: .LONG <<U.18-U.583>-4> ; 00000000V 00300
;TPA$TARGET
U.584: .WORD <<U.75-U.584>-2> ; 0000* 00304
;TPA$TYPE
U.588: .WORD -27840 ; 9340 00306
;TPA$FLAGS2
U.589: .BYTE 1 ; 01 00308
;TPA$PARAM
U.590: .LONG 1 ; 00000001 00309
;TPA$ACTION
U.591: .LONG <<U.18-U.591>-4> ; 00000000V 0030D
;TPA$TARGET
U.592: .WORD <<U.75-U.592>-2> ; 0000* 00311
;TPA$TYPE
U.593: .WORD -27151 ; 95F1 00313
;TPA$ACTION
U.594: .LONG <<U.36-U.594>-4> ; 00000000V 00315
;TPA$TARGET
U.595: .WORD -2 ; FFFE 00319
;SET_IBM_STATE
U.428: .BLKB 0 ; 0031B
;TPA$TYPE
U.600: .WORD -27839 ; 9341 0031B
;TPA$FLAGS2
U.601: .BYTE 1 ; 01 0031D
;TPA$PARAM
U.602: .LONG 0 ; 00000000 0031E
;TPA$ACTION
U.603: .LONG <<U.27-U.603>-4> ; 00000000V 00322
;TPA$TARGET
U.604: .WORD <<U.75-U.604>-2> ; 0000* 00326
;TPA$TYPE
U.608: .WORD -27838 ; 9342 00328
;TPA$FLAGS2
U.609: .BYTE 1 ; 01 0032A
;TPA$PARAM
U.610: .LONG 1 ; 00000001 0032B
;TPA$ACTION
U.611: .LONG <<U.27-U.611>-4> ; 00000000V 0032F
;TPA$TARGET
U.612: .WORD <<U.75-U.612>-2> ; 0000* 00333
;TPA$TYPE
U.613: .WORD -27151 ; 95F1 00335
;TPA$ACTION
U.614: .LONG <<U.36-U.614>-4> ; 00000000V 00337
;TPA$TARGET
U.615: .WORD -2 ; FFFE 0033B
;SET_HAN_STATE
U.422: .BLKB 0 ; 0033D
;TPA$TYPE
U.620: .WORD 28995 ; 7143 0033D
;TPA$ADDR
U.621: .LONG <<IBM_CHAR-U.621>-4> ; 00000000* 0033F
;TPA$MASK
U.622: .LONG -1 ; FFFFFFFF 00343
;TPA$TARGET
U.623: .WORD <<U.75-U.623>-2> ; 0000* 00347
;TPA$TYPE
U.624: .WORD 22004 ; 55F4 00349
;TPA$ADDR
U.625: .LONG <<IBM_CHAR-U.625>-4> ; 00000000* 0034B
;TPA$TARGET
U.626: .WORD <<U.75-U.626>-2> ; 0000* 0034F
;SET_DEL_STATE
U.404: .BLKB 0 ; 00351
;TPA$TYPE
U.628: .WORD 22003 ; 55F3 00351
;TPA$ADDR
U.629: .LONG <<DELAY-U.629>-4> ; 00000000* 00353
;TPA$TARGET
U.630: .WORD <<U.75-U.630>-2> ; 0000* 00357
;SET_BLK_STATE
U.631: .BLKB 0 ; 00359
;TPA$TYPE
U.632: .WORD -10765 ; D5F3 00359
;TPA$ACTION
U.633: .LONG <<U.17-U.633>-4> ; 00000000V 0035B
;TPA$ADDR
U.634: .LONG <<FILE_BLOCKSIZE-U.634>-4> ; 00000000* 0035F
;TPA$TARGET
U.635: .WORD <<U.75-U.635>-2> ; 0000* 00363
;SET_ESC_STATE
U.410: .BLKB 0 ; 00365
;TPA$TYPE
U.636: .WORD 22004 ; 55F4 00365
;TPA$ADDR
U.637: .LONG <<ESCAPE_CHR-U.637>-4> ; 00000000* 00367
;TPA$TARGET
U.638: .WORD <<U.75-U.638>-2> ; 0000* 0036B
;SET_FIL_STATE
U.416: .BLKB 0 ; 0036D
;TPA$TYPE
U.642: .WORD 4420 ; 1144 0036D
;TPA$TARGET
U.644: .WORD <<U.643-U.644>-2> ; 0000* 0036F
;TPA$TYPE
U.648: .WORD 4421 ; 1145 00371
;TPA$TARGET
U.650: .WORD <<U.649-U.650>-2> ; 0000* 00373
;TPA$TYPE
U.654: .WORD 4422 ; 1146 00375
;TPA$TARGET
U.655: .WORD <<U.631-U.655>-2> ; 0000* 00377
;TPA$TYPE
U.656: .WORD -27151 ; 95F1 00379
;TPA$ACTION
U.657: .LONG <<U.36-U.657>-4> ; 00000000V 0037B
;TPA$TARGET
U.658: .WORD -2 ; FFFE 0037F
;SET_FNM_STATE
U.643: .BLKB 0 ; 00381
;TPA$TYPE
U.663: .WORD -27833 ; 9347 00381
;TPA$FLAGS2
U.664: .BYTE 1 ; 01 00383
;TPA$PARAM
U.665: .LONG 2 ; 00000002 00384
;TPA$ACTION
U.666: .LONG <<U.22-U.666>-4> ; 00000000V 00388
;TPA$TARGET
U.667: .WORD <<U.75-U.667>-2> ; 0000* 0038C
;TPA$TYPE
U.671: .WORD -27832 ; 9348 0038E
;TPA$FLAGS2
U.672: .BYTE 1 ; 01 00390
;TPA$PARAM
U.673: .LONG 1 ; 00000001 00391
;TPA$ACTION
U.674: .LONG <<U.22-U.674>-4> ; 00000000V 00395
;TPA$TARGET
U.675: .WORD <<U.75-U.675>-2> ; 0000* 00399
;TPA$TYPE
U.679: .WORD -27831 ; 9349 0039B
;TPA$FLAGS2
U.680: .BYTE 1 ; 01 0039D
;TPA$PARAM
U.681: .LONG 4 ; 00000004 0039E
;TPA$ACTION
U.682: .LONG <<U.22-U.682>-4> ; 00000000V 003A2
;TPA$TARGET
U.683: .WORD <<U.75-U.683>-2> ; 0000* 003A6
;TPA$TYPE
U.684: .WORD -27151 ; 95F1 003A8
;TPA$ACTION
U.685: .LONG <<U.36-U.685>-4> ; 00000000V 003AA
;TPA$TARGET
U.686: .WORD -2 ; FFFE 003AE
;SET_FTP_STATE
U.649: .BLKB 0 ; 003B0
;TPA$TYPE
U.691: .WORD -27830 ; 934A 003B0
;TPA$FLAGS2
U.692: .BYTE 1 ; 01 003B2
;TPA$PARAM
U.693: .LONG 1 ; 00000001 003B3
;TPA$ACTION
U.694: .LONG <<U.21-U.694>-4> ; 00000000V 003B7
;TPA$TARGET
U.695: .WORD <<U.75-U.695>-2> ; 0000* 003BB
;TPA$TYPE
U.699: .WORD -27829 ; 934B 003BD
;TPA$FLAGS2
U.700: .BYTE 1 ; 01 003BF
;TPA$PARAM
U.701: .LONG 2 ; 00000002 003C0
;TPA$ACTION
U.702: .LONG <<U.21-U.702>-4> ; 00000000V 003C4
;TPA$TARGET
U.703: .WORD <<U.75-U.703>-2> ; 0000* 003C8
;TPA$TYPE
U.707: .WORD -27828 ; 934C 003CA
;TPA$FLAGS2
U.708: .BYTE 1 ; 01 003CC
;TPA$PARAM
U.709: .LONG 3 ; 00000003 003CD
;TPA$ACTION
U.710: .LONG <<U.21-U.710>-4> ; 00000000V 003D1
;TPA$TARGET
U.711: .WORD <<U.75-U.711>-2> ; 0000* 003D5
;TPA$TYPE
U.715: .WORD -27827 ; 934D 003D7
;TPA$FLAGS2
U.716: .BYTE 1 ; 01 003D9
;TPA$PARAM
U.717: .LONG 4 ; 00000004 003DA
;TPA$ACTION
U.718: .LONG <<U.21-U.718>-4> ; 00000000V 003DE
;TPA$TARGET
U.719: .WORD <<U.75-U.719>-2> ; 0000* 003E2
;TPA$TYPE
U.720: .WORD -27151 ; 95F1 003E4
;TPA$ACTION
U.721: .LONG <<U.36-U.721>-4> ; 00000000V 003E6
;TPA$TARGET
U.722: .WORD -2 ; FFFE 003EA
;SET_LIN_STATE
U.232: .BLKB 0 ; 003EC
;TPA$TYPE
U.724: .WORD -28179 ; 91ED 003EC
;TPA$ACTION
U.725: .LONG <<U.12-U.725>-4> ; 00000000V 003EE
;TPA$TARGET
U.726: .WORD <<U.232-U.726>-2> ; 0000* 003F2
;TPA$TYPE
U.727: .WORD -27146 ; 95F6 003F4
;TPA$ACTION
U.728: .LONG <<U.13-U.728>-4> ; 00000000V 003F6
;TPA$TARGET
U.729: .WORD <<U.75-U.729>-2> ; 0000* 003FA
;SET_ECH_STATE
U.445: .BLKB 0 ; 003FC
;TPA$TYPE
U.733: .WORD -27826 ; 934E 003FC
;TPA$FLAGS2
U.734: .BYTE 1 ; 01 003FE
;TPA$PARAM
U.735: .LONG 0 ; 00000000 003FF
;TPA$ACTION
U.736: .LONG <<U.23-U.736>-4> ; 00000000V 00403
;TPA$TARGET
U.737: .WORD <<U.75-U.737>-2> ; 0000* 00407
;TPA$TYPE
U.741: .WORD -27825 ; 934F 00409
;TPA$FLAGS2
U.742: .BYTE 1 ; 01 0040B
;TPA$PARAM
U.743: .LONG 1 ; 00000001 0040C
;TPA$ACTION
U.744: .LONG <<U.23-U.744>-4> ; 00000000V 00410
;TPA$TARGET
U.745: .WORD <<U.75-U.745>-2> ; 0000* 00414
;TPA$TYPE
U.746: .WORD -27151 ; 95F1 00416
;TPA$ACTION
U.747: .LONG <<U.36-U.747>-4> ; 00000000V 00418
;TPA$TARGET
U.748: .WORD -2 ; FFFE 0041C
;SET_MSG_STATE
U.451: .BLKB 0 ; 0041E
;TPA$TYPE
U.753: .WORD 4432 ; 1150 0041E
;TPA$TARGET
U.755: .WORD <<U.754-U.755>-2> ; 0000* 00420
;TPA$TYPE
U.759: .WORD 4433 ; 1151 00422
;TPA$TARGET
U.761: .WORD <<U.760-U.761>-2> ; 0000* 00424
;TPA$TYPE
U.762: .WORD -27151 ; 95F1 00426
;TPA$ACTION
U.763: .LONG <<U.36-U.763>-4> ; 00000000V 00428
;TPA$TARGET
U.764: .WORD -2 ; FFFE 0042C
;SET_MSG_FIL_STATE
U.754: .BLKB 0 ; 0042E
;TPA$TYPE
U.769: .WORD -27822 ; 9352 0042E
;TPA$FLAGS2
U.770: .BYTE 1 ; 01 00430
;TPA$PARAM
U.771: .LONG 0 ; 00000000 00431
;TPA$ACTION
U.772: .LONG <<U.28-U.772>-4> ; 00000000V 00435
;TPA$TARGET
U.773: .WORD <<U.75-U.773>-2> ; 0000* 00439
;TPA$TYPE
U.777: .WORD -27821 ; 9353 0043B
;TPA$FLAGS2
U.778: .BYTE 1 ; 01 0043D
;TPA$PARAM
U.779: .LONG 1 ; 00000001 0043E
;TPA$ACTION
U.780: .LONG <<U.28-U.780>-4> ; 00000000V 00442
;TPA$TARGET
U.781: .WORD <<U.75-U.781>-2> ; 0000* 00446
;TPA$TYPE
U.782: .WORD -27151 ; 95F1 00448
;TPA$ACTION
U.783: .LONG <<U.36-U.783>-4> ; 00000000V 0044A
;TPA$TARGET
U.784: .WORD -2 ; FFFE 0044E
;SET_MSG_PKT_STATE
U.760: .BLKB 0 ; 00450
;TPA$TYPE
U.789: .WORD -27820 ; 9354 00450
;TPA$FLAGS2
U.790: .BYTE 1 ; 01 00452
;TPA$PARAM
U.791: .LONG 0 ; 00000000 00453
;TPA$ACTION
U.792: .LONG <<U.29-U.792>-4> ; 00000000V 00457
;TPA$TARGET
U.793: .WORD <<U.75-U.793>-2> ; 0000* 0045B
;TPA$TYPE
U.797: .WORD -27819 ; 9355 0045D
;TPA$FLAGS2
U.798: .BYTE 1 ; 01 0045F
;TPA$PARAM
U.799: .LONG 1 ; 00000001 00460
;TPA$ACTION
U.800: .LONG <<U.29-U.800>-4> ; 00000000V 00464
;TPA$TARGET
U.801: .WORD <<U.75-U.801>-2> ; 0000* 00468
;TPA$TYPE
U.802: .WORD -27151 ; 95F1 0046A
;TPA$ACTION
U.803: .LONG <<U.36-U.803>-4> ; 00000000V 0046C
;TPA$TARGET
U.804: .WORD -2 ; FFFE 00470
;SET_PMT_STATE
U.463: .BLKB 0 ; 00472
;TPA$TYPE
U.806: .WORD -28179 ; 91ED 00472
;TPA$ACTION
U.807: .LONG <<U.12-U.807>-4> ; 00000000V 00474
;TPA$TARGET
U.808: .WORD <<U.463-U.808>-2> ; 0000* 00478
;TPA$TYPE
U.809: .WORD -26634 ; 97F6 0047A
;TPA$FLAGS2
U.810: .BYTE 1 ; 01 0047C
;TPA$PARAM
U.811: .ADDRESS U.58 ; 00000000' 0047D
;TPA$ACTION
U.812: .LONG <<U.14-U.812>-4> ; 00000000V 00481
;TPA$TARGET
U.813: .WORD <<U.75-U.813>-2> ; 0000* 00485
;SET_RPT_STATE
U.475: .BLKB 0 ; 00487
;TPA$TYPE
U.814: .WORD -10764 ; D5F4 00487
;TPA$ACTION
U.815: .LONG <<U.34-U.815>-4> ; 00000000V 00489
;TPA$ADDR
U.816: .LONG <<SET_REPT_CHR-U.816>-4> ; 00000000* 0048D
;TPA$TARGET
U.817: .WORD <<U.75-U.817>-2> ; 0000* 00491
;SET_RTY_STATE
U.481: .BLKB 0 ; 00493
;TPA$TYPE
U.821: .WORD 4438 ; 1156 00493
;TPA$TARGET
U.823: .WORD <<U.822-U.823>-2> ; 0000* 00495
;TPA$TYPE
U.827: .WORD 4439 ; 1157 00497
;TPA$TARGET
U.829: .WORD <<U.828-U.829>-2> ; 0000* 00499
;TPA$TYPE
U.830: .WORD -27151 ; 95F1 0049B
;TPA$ACTION
U.831: .LONG <<U.36-U.831>-4> ; 00000000V 0049D
;TPA$TARGET
U.832: .WORD -2 ; FFFE 004A1
;SET_RTY_INI_STATE
U.822: .BLKB 0 ; 004A3
;TPA$TYPE
U.834: .WORD 22003 ; 55F3 004A3
;TPA$ADDR
U.835: .LONG <<SI_RETRIES-U.835>-4> ; 00000000* 004A5
;TPA$TARGET
U.836: .WORD <<U.75-U.836>-2> ; 0000* 004A9
;SET_RTY_PKT_STATE
U.828: .BLKB 0 ; 004AB
;TPA$TYPE
U.837: .WORD 22003 ; 55F3 004AB
;TPA$ADDR
U.838: .LONG <<PKT_RETRIES-U.838>-4> ; 00000000* 004AD
;TPA$TARGET
U.839: .WORD <<U.75-U.839>-2> ; 0000* 004B1
;SET_PAR_STATE
U.457: .BLKB 0 ; 004B3
;TPA$TYPE
U.843: .WORD -27816 ; 9358 004B3
;TPA$FLAGS2
U.844: .BYTE 1 ; 01 004B5
;TPA$PARAM
U.845: .LONG 2 ; 00000002 004B6
;TPA$ACTION
U.846: .LONG <<U.24-U.846>-4> ; 00000000V 004BA
;TPA$TARGET
U.847: .WORD <<U.75-U.847>-2> ; 0000* 004BE
;TPA$TYPE
U.851: .WORD -27815 ; 9359 004C0
;TPA$FLAGS2
U.852: .BYTE 1 ; 01 004C2
;TPA$PARAM
U.853: .LONG 1 ; 00000001 004C3
;TPA$ACTION
U.854: .LONG <<U.24-U.854>-4> ; 00000000V 004C7
;TPA$TARGET
U.855: .WORD <<U.75-U.855>-2> ; 0000* 004CB
;TPA$TYPE
U.859: .WORD -27814 ; 935A 004CD
;TPA$FLAGS2
U.860: .BYTE 1 ; 01 004CF
;TPA$PARAM
U.861: .LONG 0 ; 00000000 004D0
;TPA$ACTION
U.862: .LONG <<U.24-U.862>-4> ; 00000000V 004D4
;TPA$TARGET
U.863: .WORD <<U.75-U.863>-2> ; 0000* 004D8
;TPA$TYPE
U.867: .WORD -27813 ; 935B 004DA
;TPA$FLAGS2
U.868: .BYTE 1 ; 01 004DC
;TPA$PARAM
U.869: .LONG 3 ; 00000003 004DD
;TPA$ACTION
U.870: .LONG <<U.24-U.870>-4> ; 00000000V 004E1
;TPA$TARGET
U.871: .WORD <<U.75-U.871>-2> ; 0000* 004E5
;TPA$TYPE
U.875: .WORD -27812 ; 935C 004E7
;TPA$FLAGS2
U.876: .BYTE 1 ; 01 004E9
;TPA$PARAM
U.877: .LONG 4 ; 00000004 004EA
;TPA$ACTION
U.878: .LONG <<U.24-U.878>-4> ; 00000000V 004EE
;TPA$TARGET
U.879: .WORD <<U.75-U.879>-2> ; 0000* 004F2
;TPA$TYPE
U.880: .WORD -27151 ; 95F1 004F4
;TPA$ACTION
U.881: .LONG <<U.36-U.881>-4> ; 00000000V 004F6
;TPA$TARGET
U.882: .WORD -2 ; FFFE 004FA
;SET_REC_STATE
U.469: .BLKB 0 ; 004FC
;TPA$TYPE
U.887: .WORD 4445 ; 115D 004FC
;TPA$TARGET
U.889: .WORD <<U.888-U.889>-2> ; 0000* 004FE
;TPA$TYPE
U.893: .WORD 4446 ; 115E 00500
;TPA$TARGET
U.895: .WORD <<U.894-U.895>-2> ; 0000* 00502
;TPA$TYPE
U.899: .WORD 4447 ; 115F 00504
;TPA$TARGET
U.901: .WORD <<U.900-U.901>-2> ; 0000* 00506
;TPA$TYPE
U.905: .WORD 4448 ; 1160 00508
;TPA$TARGET
U.907: .WORD <<U.906-U.907>-2> ; 0000* 0050A
;TPA$TYPE
U.911: .WORD 4449 ; 1161 0050C
;TPA$TARGET
U.913: .WORD <<U.912-U.913>-2> ; 0000* 0050E
;TPA$TYPE
U.917: .WORD 4450 ; 1162 00510
;TPA$TARGET
U.919: .WORD <<U.918-U.919>-2> ; 0000* 00512
;TPA$TYPE
U.923: .WORD 4451 ; 1163 00514
;TPA$TARGET
U.925: .WORD <<U.924-U.925>-2> ; 0000* 00516
;TPA$TYPE
U.929: .WORD 4452 ; 1164 00518
;TPA$TARGET
U.931: .WORD <<U.930-U.931>-2> ; 0000* 0051A
;TPA$TYPE
U.932: .WORD -27151 ; 95F1 0051C
;TPA$ACTION
U.933: .LONG <<U.36-U.933>-4> ; 00000000V 0051E
;TPA$TARGET
U.934: .WORD -2 ; FFFE 00522
;SR_PKT_STATE
U.900: .BLKB 0 ; 00524
;TPA$TYPE
U.936: .WORD -10765 ; D5F3 00524
;TPA$ACTION
U.937: .LONG <<U.30-U.937>-4> ; 00000000V 00526
;TPA$ADDR
U.938: .LONG <<RCV_PKT_SIZE-U.938>-4> ; 00000000* 0052A
;TPA$TARGET
U.939: .WORD <<U.75-U.939>-2> ; 0000* 0052E
;SR_PAD_STATE
U.912: .BLKB 0 ; 00530
;TPA$TYPE
U.940: .WORD -10765 ; D5F3 00530
;TPA$ACTION
U.941: .LONG <<U.31-U.941>-4> ; 00000000V 00532
;TPA$ADDR
U.942: .LONG <<RCV_NPAD-U.942>-4> ; 00000000* 00536
;TPA$TARGET
U.943: .WORD <<U.75-U.943>-2> ; 0000* 0053A
;SR_PDC_STATE
U.906: .BLKB 0 ; 0053C
;TPA$TYPE
U.944: .WORD -10764 ; D5F4 0053C
;TPA$ACTION
U.945: .LONG <<U.32-U.945>-4> ; 00000000V 0053E
;TPA$ADDR
U.946: .LONG <<RCV_PADCHAR-U.946>-4> ; 00000000* 00542
;TPA$TARGET
U.947: .WORD <<U.75-U.947>-2> ; 0000* 00546
;SR_SOH_STATE
U.924: .BLKB 0 ; 00548
;TPA$TYPE
U.948: .WORD -10764 ; D5F4 00548
;TPA$ACTION
U.949: .LONG <<U.35-U.949>-4> ; 00000000V 0054A
;TPA$ADDR
U.950: .LONG <<RCV_SOH-U.950>-4> ; 00000000* 0054E
;TPA$TARGET
U.951: .WORD <<U.75-U.951>-2> ; 0000* 00552
;SR_TIM_STATE
U.930: .BLKB 0 ; 00554
;TPA$TYPE
U.952: .WORD 22003 ; 55F3 00554
;TPA$ADDR
U.953: .LONG <<RCV_TIMEOUT-U.953>-4> ; 00000000* 00556
;TPA$TARGET
U.954: .WORD <<U.75-U.954>-2> ; 0000* 0055A
;SR_EOL_STATE
U.894: .BLKB 0 ; 0055C
;TPA$TYPE
U.955: .WORD -10764 ; D5F4 0055C
;TPA$ACTION
U.956: .LONG <<U.33-U.956>-4> ; 00000000V 0055E
;TPA$ADDR
U.957: .LONG <<RCV_EOL-U.957>-4> ; 00000000* 00562
;TPA$TARGET
U.958: .WORD <<U.75-U.958>-2> ; 0000* 00566
;SR_QUO_STATE
U.918: .BLKB 0 ; 00568
;TPA$TYPE
U.959: .WORD -10764 ; D5F4 00568
;TPA$ACTION
U.960: .LONG <<U.34-U.960>-4> ; 00000000V 0056A
;TPA$ADDR
U.961: .LONG <<RCV_QUOTE_CHR-U.961>-4> ; 00000000* 0056E
;TPA$TARGET
U.962: .WORD <<U.75-U.962>-2> ; 0000* 00572
;SR_8QU_STATE
U.888: .BLKB 0 ; 00574
;TPA$TYPE
U.963: .WORD -10764 ; D5F4 00574
;TPA$ACTION
U.964: .LONG <<U.34-U.964>-4> ; 00000000V 00576
;TPA$ADDR
U.965: .LONG <<RCV_8QUOTE_CHR-U.965>-4> ; 00000000* 0057A
;TPA$TARGET
U.966: .WORD <<U.75-U.966>-2> ; 0000* 0057E
;SET_SND_STATE
U.487: .BLKB 0 ; 00580
;TPA$TYPE
U.970: .WORD 4453 ; 1165 00580
;TPA$TARGET
U.972: .WORD <<U.971-U.972>-2> ; 0000* 00582
;TPA$TYPE
U.976: .WORD 4454 ; 1166 00584
;TPA$TARGET
U.978: .WORD <<U.977-U.978>-2> ; 0000* 00586
;TPA$TYPE
U.982: .WORD 4455 ; 1167 00588
;TPA$TARGET
U.984: .WORD <<U.983-U.984>-2> ; 0000* 0058A
;TPA$TYPE
U.988: .WORD 4456 ; 1168 0058C
;TPA$TARGET
U.990: .WORD <<U.989-U.990>-2> ; 0000* 0058E
;TPA$TYPE
U.994: .WORD 4457 ; 1169 00590
;TPA$TARGET
U.996: .WORD <<U.995-U.996>-2> ; 0000* 00592
;TPA$TYPE
U.1000: .WORD 4458 ; 116A 00594
;TPA$TARGET
U.1002: .WORD <<U.1001-U.1002>-2> ; 0000* 00596
;TPA$TYPE
U.1006: .WORD 4459 ; 116B 00598
;TPA$TARGET
U.1008: .WORD <<U.1007-U.1008>-2> ; 0000* 0059A
;TPA$TYPE
U.1009: .WORD -27151 ; 95F1 0059C
;TPA$ACTION
U.1010: .LONG <<U.36-U.1010>-4> ; 00000000V 0059E
;TPA$TARGET
U.1011: .WORD -2 ; FFFE 005A2
;SS_PKT_STATE
U.977: .BLKB 0 ; 005A4
;TPA$TYPE
U.1013: .WORD -10765 ; D5F3 005A4
;TPA$ACTION
U.1014: .LONG <<U.30-U.1014>-4> ; 00000000V 005A6
;TPA$ADDR
U.1015: .LONG <<SND_PKT_SIZE-U.1015>-4> ; 00000000* 005AA
;TPA$TARGET
U.1016: .WORD <<U.75-U.1016>-2> ; 0000* 005AE
;SS_PAD_STATE
U.989: .BLKB 0 ; 005B0
;TPA$TYPE
U.1017: .WORD -10765 ; D5F3 005B0
;TPA$ACTION
U.1018: .LONG <<U.31-U.1018>-4> ; 00000000V 005B2
;TPA$ADDR
U.1019: .LONG <<SND_NPAD-U.1019>-4> ; 00000000* 005B6
;TPA$TARGET
U.1020: .WORD <<U.75-U.1020>-2> ; 0000* 005BA
;SS_PDC_STATE
U.983: .BLKB 0 ; 005BC
;TPA$TYPE
U.1021: .WORD -10764 ; D5F4 005BC
;TPA$ACTION
U.1022: .LONG <<U.32-U.1022>-4> ; 00000000V 005BE
;TPA$ADDR
U.1023: .LONG <<SND_PADCHAR-U.1023>-4> ; 00000000* 005C2
;TPA$TARGET
U.1024: .WORD <<U.75-U.1024>-2> ; 0000* 005C6
;SS_SOH_STATE
U.1001: .BLKB 0 ; 005C8
;TPA$TYPE
U.1025: .WORD -10764 ; D5F4 005C8
;TPA$ACTION
U.1026: .LONG <<U.35-U.1026>-4> ; 00000000V 005CA
;TPA$ADDR
U.1027: .LONG <<SND_SOH-U.1027>-4> ; 00000000* 005CE
;TPA$TARGET
U.1028: .WORD <<U.75-U.1028>-2> ; 0000* 005D2
;SS_TIM_STATE
U.1007: .BLKB 0 ; 005D4
;TPA$TYPE
U.1029: .WORD 22003 ; 55F3 005D4
;TPA$ADDR
U.1030: .LONG <<SND_TIMEOUT-U.1030>-4> ; 00000000* 005D6
;TPA$TARGET
U.1031: .WORD <<U.75-U.1031>-2> ; 0000* 005DA
;SS_EOL_STATE
U.971: .BLKB 0 ; 005DC
;TPA$TYPE
U.1032: .WORD -10764 ; D5F4 005DC
;TPA$ACTION
U.1033: .LONG <<U.33-U.1033>-4> ; 00000000V 005DE
;TPA$ADDR
U.1034: .LONG <<SND_EOL-U.1034>-4> ; 00000000* 005E2
;TPA$TARGET
U.1035: .WORD <<U.75-U.1035>-2> ; 0000* 005E6
;SS_QUO_STATE
U.995: .BLKB 0 ; 005E8
;TPA$TYPE
U.1036: .WORD -10764 ; D5F4 005E8
;TPA$ACTION
U.1037: .LONG <<U.34-U.1037>-4> ; 00000000V 005EA
;TPA$ADDR
U.1038: .LONG <<SND_QUOTE_CHR-U.1038>-4> ; 00000000* 005EE
;TPA$TARGET
U.1039: .WORD <<U.75-U.1039>-2> ; 0000* 005F2
;SET_SRV_STATE
U.493: .BLKB 0 ; 005F4
;TPA$TYPE
U.1040: .WORD 22003 ; 55F3 005F4
;TPA$ADDR
U.1041: .LONG <<SRV_TIMEOUT-U.1041>-4> ; 00000000* 005F6
;TPA$TARGET
U.1042: .WORD <<U.75-U.1042>-2> ; 0000* 005FA
;SET_TRN_STATE
U.499: .BLKB 0 ; 005FC
;TPA$TYPE
U.1046: .WORD 4460 ; 116C 005FC
;TPA$TARGET
U.1048: .WORD <<U.1047-U.1048>-2> ; 0000* 005FE
;TPA$TYPE
U.1052: .WORD 4461 ; 116D 00600
;TPA$TARGET
U.1054: .WORD <<U.1053-U.1054>-2> ; 0000* 00602
;TPA$TYPE
U.1055: .WORD -27151 ; 95F1 00604
;TPA$ACTION
U.1056: .LONG <<U.36-U.1056>-4> ; 00000000V 00606
;TPA$TARGET
U.1057: .WORD -2 ; FFFE 0060A
;SET_TRD_STATE
U.1047: .BLKB 0 ; 0060C
;TPA$TYPE
U.1059: .WORD -10769 ; D5EF 0060C
;TPA$ACTION
U.1060: .LONG <<U.20-U.1060>-4> ; 00000000V 0060E
;TPA$ADDR
U.1061: .LONG <<TRANS_DELAY-U.1061>-4> ; 00000000* 00612
;TPA$TARGET
U.1062: .WORD <<U.75-U.1062>-2> ; 0000* 00616
;SET_TRE_STATE
U.1053: .BLKB 0 ; 00618
;TPA$TYPE
U.1066: .WORD -27794 ; 936E 00618
;TPA$FLAGS2
U.1067: .BYTE 1 ; 01 0061A
;TPA$PARAM
U.1068: .LONG 1 ; 00000001 0061B
;TPA$ACTION
U.1069: .LONG <<U.19-U.1069>-4> ; 00000000V 0061F
;TPA$TARGET
U.1070: .WORD <<U.75-U.1070>-2> ; 0000* 00623
;TPA$TYPE
U.1074: .WORD -27793 ; 936F 00625
;TPA$FLAGS2
U.1075: .BYTE 1 ; 01 00627
;TPA$PARAM
U.1076: .LONG 0 ; 00000000 00628
;TPA$ACTION
U.1077: .LONG <<U.19-U.1077>-4> ; 00000000V 0062C
;TPA$TARGET
U.1078: .WORD <<U.75-U.1078>-2> ; 0000* 00630
;TPA$TYPE
U.1079: .WORD -27151 ; 95F1 00632
;TPA$ACTION
U.1080: .LONG <<U.36-U.1080>-4> ; 00000000V 00634
;TPA$TARGET
U.1081: .WORD -2 ; FFFE 00638
;SEND_STATE
U.181: .BLKB 0 ; 0063A
;TPA$TYPE
U.1083: .WORD -28179 ; 91ED 0063A
;TPA$ACTION
U.1084: .LONG <<U.12-U.1084>-4> ; 00000000V 0063C
;TPA$TARGET
U.1085: .WORD <<U.181-U.1085>-2> ; 0000* 00640
;TPA$TYPE
U.1086: .WORD -26634 ; 97F6 00642
;TPA$FLAGS2
U.1087: .BYTE 1 ; 01 00644
;TPA$PARAM
U.1088: .ADDRESS FILE_DESC ; 00000000G 00645
;TPA$ACTION
U.1089: .LONG <<U.14-U.1089>-4> ; 00000000V 00649
;TPA$TARGET
U.1090: .WORD <<U.75-U.1090>-2> ; 0000* 0064D
;SHOW_STATE
U.196: .BLKB 0 ; 0064F
;TPA$TYPE
U.1094: .WORD 29040 ; 7170 0064F
;TPA$ADDR
U.1095: .LONG <<U.50-U.1095>-4> ; 00000000* 00651
;TPA$MASK
U.1096: .LONG 1 ; 00000001 00655
;TPA$TARGET
U.1097: .WORD <<U.75-U.1097>-2> ; 0000* 00659
;TPA$TYPE
U.1101: .WORD 29041 ; 7171 0065B
;TPA$ADDR
U.1102: .LONG <<U.50-U.1102>-4> ; 00000000* 0065D
;TPA$MASK
U.1103: .LONG 12 ; 0000000C 00661
;TPA$TARGET
U.1104: .WORD <<U.75-U.1104>-2> ; 0000* 00665
;TPA$TYPE
U.1108: .WORD 29042 ; 7172 00667
;TPA$ADDR
U.1109: .LONG <<U.50-U.1109>-4> ; 00000000* 00669
;TPA$MASK
U.1110: .LONG 16 ; 00000010 0066D
;TPA$TARGET
U.1111: .WORD <<U.75-U.1111>-2> ; 0000* 00671
;TPA$TYPE
U.1115: .WORD 29043 ; 7173 00673
;TPA$ADDR
U.1116: .LONG <<U.50-U.1116>-4> ; 00000000* 00675
;TPA$MASK
U.1117: .LONG 2 ; 00000002 00679
;TPA$TARGET
U.1118: .WORD <<U.75-U.1118>-2> ; 0000* 0067D
;TPA$TYPE
U.1122: .WORD 29044 ; 7174 0067F
;TPA$ADDR
U.1123: .LONG <<U.50-U.1123>-4> ; 00000000* 00681
;TPA$MASK
U.1124: .LONG 3 ; 00000003 00685
;TPA$TARGET
U.1125: .WORD <<U.75-U.1125>-2> ; 0000* 00689
;TPA$TYPE
U.1129: .WORD 29045 ; 7175 0068B
;TPA$ADDR
U.1130: .LONG <<U.50-U.1130>-4> ; 00000000* 0068D
;TPA$MASK
U.1131: .LONG 4 ; 00000004 00691
;TPA$TARGET
U.1132: .WORD <<U.75-U.1132>-2> ; 0000* 00695
;TPA$TYPE
U.1136: .WORD 29046 ; 7176 00697
;TPA$ADDR
U.1137: .LONG <<U.50-U.1137>-4> ; 00000000* 00699
;TPA$MASK
U.1138: .LONG 14 ; 0000000E 0069D
;TPA$TARGET
U.1139: .WORD <<U.75-U.1139>-2> ; 0000* 006A1
;TPA$TYPE
U.1143: .WORD 29047 ; 7177 006A3
;TPA$ADDR
U.1144: .LONG <<U.50-U.1144>-4> ; 00000000* 006A5
;TPA$MASK
U.1145: .LONG 13 ; 0000000D 006A9
;TPA$TARGET
U.1146: .WORD <<U.75-U.1146>-2> ; 0000* 006AD
;TPA$TYPE
U.1150: .WORD 29048 ; 7178 006AF
;TPA$ADDR
U.1151: .LONG <<U.50-U.1151>-4> ; 00000000* 006B1
;TPA$MASK
U.1152: .LONG 6 ; 00000006 006B5
;TPA$TARGET
U.1153: .WORD <<U.75-U.1153>-2> ; 0000* 006B9
;TPA$TYPE
U.1157: .WORD 29049 ; 7179 006BB
;TPA$ADDR
U.1158: .LONG <<U.50-U.1158>-4> ; 00000000* 006BD
;TPA$MASK
U.1159: .LONG 7 ; 00000007 006C1
;TPA$TARGET
U.1160: .WORD <<U.75-U.1160>-2> ; 0000* 006C5
;TPA$TYPE
U.1164: .WORD 29050 ; 717A 006C7
;TPA$ADDR
U.1165: .LONG <<U.50-U.1165>-4> ; 00000000* 006C9
;TPA$MASK
U.1166: .LONG 15 ; 0000000F 006CD
;TPA$TARGET
U.1167: .WORD <<U.75-U.1167>-2> ; 0000* 006D1
;TPA$TYPE
U.1171: .WORD 29051 ; 717B 006D3
;TPA$ADDR
U.1172: .LONG <<U.50-U.1172>-4> ; 00000000* 006D5
;TPA$MASK
U.1173: .LONG 10 ; 0000000A 006D9
;TPA$TARGET
U.1174: .WORD <<U.75-U.1174>-2> ; 0000* 006DD
;TPA$TYPE
U.1178: .WORD 29052 ; 717C 006DF
;TPA$ADDR
U.1179: .LONG <<U.50-U.1179>-4> ; 00000000* 006E1
;TPA$MASK
U.1180: .LONG 8 ; 00000008 006E5
;TPA$TARGET
U.1181: .WORD <<U.75-U.1181>-2> ; 0000* 006E9
;TPA$TYPE
U.1185: .WORD 29053 ; 717D 006EB
;TPA$ADDR
U.1186: .LONG <<U.50-U.1186>-4> ; 00000000* 006ED
;TPA$MASK
U.1187: .LONG 5 ; 00000005 006F1
;TPA$TARGET
U.1188: .WORD <<U.75-U.1188>-2> ; 0000* 006F5
;TPA$TYPE
U.1192: .WORD 29054 ; 717E 006F7
;TPA$ADDR
U.1193: .LONG <<U.50-U.1193>-4> ; 00000000* 006F9
;TPA$MASK
U.1194: .LONG 9 ; 00000009 006FD
;TPA$TARGET
U.1195: .WORD <<U.75-U.1195>-2> ; 0000* 00701
;TPA$TYPE
U.1199: .WORD 29055 ; 717F 00703
;TPA$ADDR
U.1200: .LONG <<U.50-U.1200>-4> ; 00000000* 00705
;TPA$MASK
U.1201: .LONG 11 ; 0000000B 00709
;TPA$TARGET
U.1202: .WORD <<U.75-U.1202>-2> ; 0000* 0070D
;TPA$TYPE
U.1206: .WORD 29056 ; 7180 0070F
;TPA$ADDR
U.1207: .LONG <<U.50-U.1207>-4> ; 00000000* 00711
;TPA$MASK
U.1208: .LONG 17 ; 00000011 00715
;TPA$TARGET
U.1209: .WORD <<U.75-U.1209>-2> ; 0000* 00719
;TPA$TYPE
U.1213: .WORD 29057 ; 7181 0071B
;TPA$ADDR
U.1214: .LONG <<U.50-U.1214>-4> ; 00000000* 0071D
;TPA$MASK
U.1215: .LONG 18 ; 00000012 00721
;TPA$TARGET
U.1216: .WORD <<U.75-U.1216>-2> ; 0000* 00725
;TPA$TYPE
U.1217: .WORD -27151 ; 95F1 00727
;TPA$ACTION
U.1218: .LONG <<U.36-U.1218>-4> ; 00000000V 00729
;TPA$TARGET
U.1219: .WORD -2 ; FFFE 0072D
;LOG_STATE
U.129: .BLKB 0 ; 0072F
;TPA$TYPE
U.1224: .WORD 4482 ; 1182 0072F
;TPA$TARGET
U.1226: .WORD <<U.1225-U.1226>-2> ; 0000* 00731
;TPA$TYPE
U.1230: .WORD 4483 ; 1183 00733
;TPA$TARGET
U.1232: .WORD <<U.1231-U.1232>-2> ; 0000* 00735
;TPA$TYPE
U.1236: .WORD 4484 ; 1184 00737
;TPA$TARGET
U.1238: .WORD <<U.1237-U.1238>-2> ; 0000* 00739
;TPA$TYPE
U.1239: .WORD -27151 ; 95F1 0073B
;TPA$ACTION
U.1240: .LONG <<U.36-U.1240>-4> ; 00000000V 0073D
;TPA$TARGET
U.1241: .WORD -2 ; FFFE 00741
;DBG_STATE
U.1225: .BLKB 0 ; 00743
;TPA$TYPE
U.1243: .WORD -28179 ; 91ED 00743
;TPA$ACTION
U.1244: .LONG <<U.12-U.1244>-4> ; 00000000V 00745
;TPA$TARGET
U.1245: .WORD <<U.1225-U.1245>-2> ; 0000* 00749
;TPA$TYPE
U.1246: .WORD -26634 ; 97F6 0074B
;TPA$FLAGS2
U.1247: .BYTE 1 ; 01 0074D
;TPA$PARAM
U.1248: .ADDRESS DEBUG_DESC ; 00000000G 0074E
;TPA$ACTION
U.1249: .LONG <<U.14-U.1249>-4> ; 00000000V 00752
;TPA$TARGET
U.1250: .WORD <<U.75-U.1250>-2> ; 0000* 00756
;SES_STATE
U.1231: .BLKB 0 ; 00758
;TPA$TYPE
U.1251: .WORD -28179 ; 91ED 00758
;TPA$ACTION
U.1252: .LONG <<U.12-U.1252>-4> ; 00000000V 0075A
;TPA$TARGET
U.1253: .WORD <<U.1231-U.1253>-2> ; 0000* 0075E
;TPA$TYPE
U.1254: .WORD -26634 ; 97F6 00760
;TPA$FLAGS2
U.1255: .BYTE 1 ; 01 00762
;TPA$PARAM
U.1256: .ADDRESS SESSION_DESC ; 00000000G 00763
;TPA$ACTION
U.1257: .LONG <<U.14-U.1257>-4> ; 00000000V 00767
;TPA$TARGET
U.1258: .WORD <<U.75-U.1258>-2> ; 0000* 0076B
;TRN_STATE
U.1237: .BLKB 0 ; 0076D
;TPA$TYPE
U.1259: .WORD -28179 ; 91ED 0076D
;TPA$ACTION
U.1260: .LONG <<U.12-U.1260>-4> ; 00000000V 0076F
;TPA$TARGET
U.1261: .WORD <<U.1237-U.1261>-2> ; 0000* 00773
;TPA$TYPE
U.1262: .WORD -26634 ; 97F6 00775
;TPA$FLAGS2
U.1263: .BYTE 1 ; 01 00777
;TPA$PARAM
U.1264: .ADDRESS TRANSACTION_DESC ; 00000000' 00778
;TPA$ACTION
U.1265: .LONG <<U.14-U.1265>-4> ; 00000000V 0077C
;TPA$TARGET
U.1266: .WORD <<U.75-U.1266>-2> ; 0000* 00780
;TAKE_STATE
U.211: .BLKB 0 ; 00782
;TPA$TYPE
U.1267: .WORD -28113 ; 922F 00782
;TPA$FLAGS2
U.1268: .BYTE 1 ; 01 00784
;TPA$PARAM
U.1269: .ADDRESS U.61 ; 00000000' 00785
;TPA$ACTION
U.1270: .LONG <<U.14-U.1270>-4> ; 00000000V 00789
;TPA$TARGET
U.1272: .WORD <<U.1271-U.1272>-2> ; 0000* 0078D
;TPA$TYPE
U.1273: .WORD -28179 ; 91ED 0078F
;TPA$ACTION
U.1274: .LONG <<U.12-U.1274>-4> ; 00000000V 00791
;TPA$TARGET
U.1275: .WORD <<U.211-U.1275>-2> ; 0000* 00795
;TPA$TYPE
U.1276: .WORD -26634 ; 97F6 00797
;TPA$FLAGS2
U.1277: .BYTE 1 ; 01 00799
;TPA$PARAM
U.1278: .ADDRESS U.61 ; 00000000' 0079A
;TPA$ACTION
U.1279: .LONG <<U.14-U.1279>-4> ; 00000000V 0079E
;TPA$TARGET
U.1280: .WORD <<U.75-U.1280>-2> ; 0000* 007A2
;TAK_SWT_STATE
U.1271: .BLKB 0 ; 007A4
;TPA$TYPE
U.1284: .WORD 29061 ; 7185 007A4
;TPA$ADDR
U.1285: .LONG <<U.52-U.1285>-4> ; 00000000* 007A6
;TPA$MASK
U.1286: .LONG 1 ; 00000001 007AA
;TPA$TARGET
U.1287: .WORD <<U.75-U.1287>-2> ; 0000* 007AE
;TPA$TYPE
U.1288: .WORD -27151 ; 95F1 007B0
;TPA$ACTION
U.1289: .LONG <<U.36-U.1289>-4> ; 00000000V 007B2
;TPA$TARGET
U.1290: .WORD -2 ; FFFE 007B6
;TRANSMIT_STATE
U.223: .BLKB 0 ; 007B8
;TPA$TYPE
U.1292: .WORD -28179 ; 91ED 007B8
;TPA$ACTION
U.1293: .LONG <<U.12-U.1293>-4> ; 00000000V 007BA
;TPA$TARGET
U.1294: .WORD <<U.223-U.1294>-2> ; 0000* 007BE
;TPA$TYPE
U.1295: .WORD -26634 ; 97F6 007C0
;TPA$FLAGS2
U.1296: .BYTE 1 ; 01 007C2
;TPA$PARAM
U.1297: .ADDRESS FILE_DESC ; 00000000G 007C3
;TPA$ACTION
U.1298: .LONG <<U.14-U.1298>-4> ; 00000000V 007C7
;TPA$TARGET
U.1299: .WORD <<U.75-U.1299>-2> ; 0000* 007CB
;DONE_STATE
U.75: .BLKB 0 ; 007CD
;TPA$TYPE
U.1300: .WORD 5623 ; 15F7 007CD
;TPA$TARGET
U.1301: .WORD -1 ; FFFF 007CF
.PSECT _LIB$KEY1$,NOWRT, SHR, PIC,1
;TPA$KEYST0
U.69: .BLKB 0 ; 00000
;TPA$KEYST
U.71: .ASCII \BYE\ ; 45 59 42 00000
.BYTE -1 ; FF 00003
;TPA$KEYST0
U.77: .BLKB 0 ; 00004
;TPA$KEYST
U.79: .ASCII \CONNECT\ ; 54 43 45 4E 4E 4F 43 00004
.BYTE -1 ; FF 0000B
;TPA$KEYST0
U.85: .BLKB 0 ; 0000C
;TPA$KEYST
U.87: .ASCII \EXIT\ ; 54 49 58 45 0000C
.BYTE -1 ; FF 00010
;TPA$KEYST0
U.92: .BLKB 0 ; 00011
;TPA$KEYST
U.94: .ASCII \FINISH\ ; 48 53 49 4E 49 46 00011
.BYTE -1 ; FF 00017
;TPA$KEYST0
U.99: .BLKB 0 ; 00018
;TPA$KEYST
U.101: .ASCII \GET\ ; 54 45 47 00018
.BYTE -1 ; FF 0001B
;TPA$KEYST0
U.107: .BLKB 0 ; 0001C
;TPA$KEYST
U.109: .ASCII \HELP\ ; 50 4C 45 48 0001C
.BYTE -1 ; FF 00020
;TPA$KEYST0
U.115: .BLKB 0 ; 00021
;TPA$KEYST
U.117: .ASCII \LOCAL\ ; 4C 41 43 4F 4C 00021
.BYTE -1 ; FF 00026
;TPA$KEYST0
U.123: .BLKB 0 ; 00027
;TPA$KEYST
U.125: .ASCII \LOG\ ; 47 4F 4C 00027
.BYTE -1 ; FF 0002A
;TPA$KEYST0
U.131: .BLKB 0 ; 0002B
;TPA$KEYST
U.133: .ASCII \LOGOUT\ ; 54 55 4F 47 4F 4C 0002B
.BYTE -1 ; FF 00031
;TPA$KEYST0
U.138: .BLKB 0 ; 00032
;TPA$KEYST
U.140: .ASCII \PUSH\ ; 48 53 55 50 00032
.BYTE -1 ; FF 00036
;TPA$KEYST0
U.145: .BLKB 0 ; 00037
;TPA$KEYST
U.147: .ASCII \QUIT\ ; 54 49 55 51 00037
.BYTE -1 ; FF 0003B
;TPA$KEYST0
U.152: .BLKB 0 ; 0003C
;TPA$KEYST
U.154: .ASCII \RECEIVE\ ; 45 56 49 45 43 45 52 0003C
.BYTE -1 ; FF 00043
;TPA$KEYST0
U.160: .BLKB 0 ; 00044
;TPA$KEYST
U.162: .ASCII \REMOTE\ ; 45 54 4F 4D 45 52 00044
.BYTE -1 ; FF 0004A
;TPA$KEYST0
U.167: .BLKB 0 ; 0004B
;TPA$KEYST
U.169: .ASCII \SET\ ; 54 45 53 0004B
.BYTE -1 ; FF 0004E
;TPA$KEYST0
U.175: .BLKB 0 ; 0004F
;TPA$KEYST
U.177: .ASCII \SEND\ ; 44 4E 45 53 0004F
.BYTE -1 ; FF 00053
;TPA$KEYST0
U.183: .BLKB 0 ; 00054
;TPA$KEYST
U.185: .ASCII \SERVER\ ; 52 45 56 52 45 53 00054
.BYTE -1 ; FF 0005A
;TPA$KEYST0
U.190: .BLKB 0 ; 0005B
;TPA$KEYST
U.192: .ASCII \SHOW\ ; 57 4F 48 53 0005B
.BYTE -1 ; FF 0005F
;TPA$KEYST0
U.198: .BLKB 0 ; 00060
;TPA$KEYST
U.200: .ASCII \STATUS\ ; 53 55 54 41 54 53 00060
.BYTE -1 ; FF 00066
;TPA$KEYST0
U.205: .BLKB 0 ; 00067
;TPA$KEYST
U.207: .ASCII \TAKE\ ; 45 4B 41 54 00067
.BYTE -1 ; FF 0006B
;TPA$KEYST0
U.217: .BLKB 0 ; 0006C
;TPA$KEYST
U.219: .ASCII \TRANSMIT\ ; 54 49 4D 53 4E 41 52 54 0006C
.BYTE -1 ; FF 00074
;TPA$KEYFILL
U.228: .BYTE -1 ; FF 00075
;TPA$KEYST0
U.259: .BLKB 0 ; 00076
;TPA$KEYST
U.261: .ASCII \COPY\ ; 59 50 4F 43 00076
.BYTE -1 ; FF 0007A
;TPA$KEYST0
U.267: .BLKB 0 ; 0007B
;TPA$KEYST
U.269: .ASCII \CWD\ ; 44 57 43 0007B
.BYTE -1 ; FF 0007E
;TPA$KEYST0
U.275: .BLKB 0 ; 0007F
;TPA$KEYST
U.277: .ASCII \DELETE\ ; 45 54 45 4C 45 44 0007F
.BYTE -1 ; FF 00085
;TPA$KEYST0
U.282: .BLKB 0 ; 00086
;TPA$KEYST
U.284: .ASCII \DIRECTORY\ ; 52 4F 54 43 45 52 49 44 00086
; 59 0008E
.BYTE -1 ; FF 0008F
;TPA$KEYST0
U.289: .BLKB 0 ; 00090
;TPA$KEYST
U.291: .ASCII \DISK_USAGE\ ; 41 53 55 5F 4B 53 49 44 00090
; 45 47 00098
.BYTE -1 ; FF 0009A
;TPA$KEYST0
U.296: .BLKB 0 ; 0009B
;TPA$KEYST
U.298: .ASCII \EXIT\ ; 54 49 58 45 0009B
.BYTE -1 ; FF 0009F
;TPA$KEYST0
U.303: .BLKB 0 ; 000A0
;TPA$KEYST
U.305: .ASCII \HELP\ ; 50 4C 45 48 000A0
.BYTE -1 ; FF 000A4
;TPA$KEYST0
U.310: .BLKB 0 ; 000A5
;TPA$KEYST
U.312: .ASCII \HOST\ ; 54 53 4F 48 000A5
.BYTE -1 ; FF 000A9
;TPA$KEYST0
U.317: .BLKB 0 ; 000AA
;TPA$KEYST
U.319: .ASCII \LOGIN\ ; 4E 49 47 4F 4C 000AA
.BYTE -1 ; FF 000AF
;TPA$KEYST0
U.324: .BLKB 0 ; 000B0
;TPA$KEYST
U.326: .ASCII \LOGOUT\ ; 54 55 4F 47 4F 4C 000B0
.BYTE -1 ; FF 000B6
;TPA$KEYST0
U.331: .BLKB 0 ; 000B7
;TPA$KEYST
U.333: .ASCII \RENAME\ ; 45 4D 41 4E 45 52 000B7
.BYTE -1 ; FF 000BD
;TPA$KEYST0
U.338: .BLKB 0 ; 000BE
;TPA$KEYST
U.340: .ASCII \SEND_MESSAGE\ ; 53 45 4D 5F 44 4E 45 53 000BE
; 45 47 41 53 000C6
.BYTE -1 ; FF 000CA
;TPA$KEYST0
U.345: .BLKB 0 ; 000CB
;TPA$KEYST
U.347: .ASCII \SPACE\ ; 45 43 41 50 53 000CB
.BYTE -1 ; FF 000D0
;TPA$KEYST0
U.352: .BLKB 0 ; 000D1
;TPA$KEYST
U.354: .ASCII \STATUS\ ; 53 55 54 41 54 53 000D1
.BYTE -1 ; FF 000D7
;TPA$KEYST0
U.359: .BLKB 0 ; 000D8
;TPA$KEYST
U.361: .ASCII \TYPE\ ; 45 50 59 54 000D8
.BYTE -1 ; FF 000DC
;TPA$KEYST0
U.366: .BLKB 0 ; 000DD
;TPA$KEYST
U.368: .ASCII \WHO\ ; 4F 48 57 000DD
.BYTE -1 ; FF 000E0
;TPA$KEYFILL
U.376: .BYTE -1 ; FF 000E1
;TPA$KEYST0
U.388: .BLKB 0 ; 000E2
;TPA$KEYST
U.390: .ASCII \BLOCK_CHECK_TYPE\ ; 48 43 5F 4B 43 4F 4C 42 000E2
; 45 50 59 54 5F 4B 43 45 000EA
.BYTE -1 ; FF 000F2
;TPA$KEYST0
U.394: .BLKB 0 ; 000F3
;TPA$KEYST
U.396: .ASCII \DEBUGGING\ ; 4E 49 47 47 55 42 45 44 000F3
; 47 000FB
.BYTE -1 ; FF 000FC
;TPA$KEYST0
U.400: .BLKB 0 ; 000FD
;TPA$KEYST
U.402: .ASCII \DELAY\ ; 59 41 4C 45 44 000FD
.BYTE -1 ; FF 00102
;TPA$KEYST0
U.406: .BLKB 0 ; 00103
;TPA$KEYST
U.408: .ASCII \ESCAPE\ ; 45 50 41 43 53 45 00103
.BYTE -1 ; FF 00109
;TPA$KEYST0
U.412: .BLKB 0 ; 0010A
;TPA$KEYST
U.414: .ASCII \FILE\ ; 45 4C 49 46 0010A
.BYTE -1 ; FF 0010E
;TPA$KEYST0
U.418: .BLKB 0 ; 0010F
;TPA$KEYST
U.420: .ASCII \HANDSHAKE\ ; 4B 41 48 53 44 4E 41 48 0010F
; 45 00117
.BYTE -1 ; FF 00118
;TPA$KEYST0
U.424: .BLKB 0 ; 00119
;TPA$KEYST
U.426: .ASCII \IBM_MODE\ ; 45 44 4F 4D 5F 4D 42 49 00119
.BYTE -1 ; FF 00121
;TPA$KEYST0
U.430: .BLKB 0 ; 00122
;TPA$KEYST
U.432: .ASCII \INCOMPLETE_FILE_DISPOSITION\ ; 45 4C 50 4D 4F 43 4E 49 00122
; 5F 45 4C 49 46 5F 45 54 0012A
; 54 49 53 4F 50 53 49 44 00132
; 4E 4F 49 0013A
.BYTE -1 ; FF 0013D
;TPA$KEYST0
U.436: .BLKB 0 ; 0013E
;TPA$KEYST
U.438: .ASCII \LINE\ ; 45 4E 49 4C 0013E
.BYTE -1 ; FF 00142
;TPA$KEYST0
U.441: .BLKB 0 ; 00143
;TPA$KEYST
U.443: .ASCII \LOCAL_ECHO\ ; 43 45 5F 4C 41 43 4F 4C 00143
; 4F 48 0014B
.BYTE -1 ; FF 0014D
;TPA$KEYST0
U.447: .BLKB 0 ; 0014E
;TPA$KEYST
U.449: .ASCII \MESSAGE\ ; 45 47 41 53 53 45 4D 0014E
.BYTE -1 ; FF 00155
;TPA$KEYST0
U.453: .BLKB 0 ; 00156
;TPA$KEYST
U.455: .ASCII \PARITY\ ; 59 54 49 52 41 50 00156
.BYTE -1 ; FF 0015C
;TPA$KEYST0
U.459: .BLKB 0 ; 0015D
;TPA$KEYST
U.461: .ASCII \PROMPT\ ; 54 50 4D 4F 52 50 0015D
.BYTE -1 ; FF 00163
;TPA$KEYST0
U.465: .BLKB 0 ; 00164
;TPA$KEYST
U.467: .ASCII \RECEIVE\ ; 45 56 49 45 43 45 52 00164
.BYTE -1 ; FF 0016B
;TPA$KEYST0
U.471: .BLKB 0 ; 0016C
;TPA$KEYST
U.473: .ASCII \REPEAT_QUOTE\ ; 51 5F 54 41 45 50 45 52 0016C
; 45 54 4F 55 00174
.BYTE -1 ; FF 00178
;TPA$KEYST0
U.477: .BLKB 0 ; 00179
;TPA$KEYST
U.479: .ASCII \RETRY\ ; 59 52 54 45 52 00179
.BYTE -1 ; FF 0017E
;TPA$KEYST0
U.483: .BLKB 0 ; 0017F
;TPA$KEYST
U.485: .ASCII \SEND\ ; 44 4E 45 53 0017F
.BYTE -1 ; FF 00183
;TPA$KEYST0
U.489: .BLKB 0 ; 00184
;TPA$KEYST
U.491: .ASCII \SERVER_TIMER\ ; 54 5F 52 45 56 52 45 53 00184
; 52 45 4D 49 0018C
.BYTE -1 ; FF 00190
;TPA$KEYST0
U.495: .BLKB 0 ; 00191
;TPA$KEYST
U.497: .ASCII \TRANSMIT\ ; 54 49 4D 53 4E 41 52 54 00191
.BYTE -1 ; FF 00199
;TPA$KEYFILL
U.504: .BYTE -1 ; FF 0019A
;TPA$KEYST0
U.505: .BLKB 0 ; 0019B
;TPA$KEYST
U.507: .ASCII \DISCARD\ ; 44 52 41 43 53 49 44 0019B
.BYTE -1 ; FF 001A2
;TPA$KEYST0
U.513: .BLKB 0 ; 001A3
;TPA$KEYST
U.515: .ASCII \KEEP\ ; 50 45 45 4B 001A3
.BYTE -1 ; FF 001A7
;TPA$KEYFILL
U.524: .BYTE -1 ; FF 001A8
;TPA$KEYST0
U.525: .BLKB 0 ; 001A9
;TPA$KEYST
U.527: .ASCII \1_CHARACTER_CHECKSUM\ ; 43 41 52 41 48 43 5F 31 001A9
; 43 45 48 43 5F 52 45 54 001B1
; 4D 55 53 4B 001B9
.BYTE -1 ; FF 001BD
;TPA$KEYST0
U.533: .BLKB 0 ; 001BE
;TPA$KEYST
U.535: .ASCII \2_CHARACTER_CHECKSUM\ ; 43 41 52 41 48 43 5F 32 001BE
; 43 45 48 43 5F 52 45 54 001C6
; 4D 55 53 4B 001CE
.BYTE -1 ; FF 001D2
;TPA$KEYST0
U.541: .BLKB 0 ; 001D3
;TPA$KEYST
U.543: .ASCII \3_CHARACTER_CRC_CCITT\ ; 43 41 52 41 48 43 5F 33 001D3
; 5F 43 52 43 5F 52 45 54 001DB
; 54 54 49 43 43 001E3
.BYTE -1 ; FF 001E8
;TPA$KEYST0
U.549: .BLKB 0 ; 001E9
;TPA$KEYST
U.551: .ASCII \ONE_CHARACTER_CHECKSUM\ ; 52 41 48 43 5F 45 4E 4F 001E9
; 48 43 5F 52 45 54 43 41 001F1
; 4D 55 53 4B 43 45 001F9
.BYTE -1 ; FF 001FF
;TPA$KEYST0
U.557: .BLKB 0 ; 00200
;TPA$KEYST
U.559: .ASCII \THREE_CHARACTER_CRC_CCITT\ ; 48 43 5F 45 45 52 48 54 00200
; 5F 52 45 54 43 41 52 41 00208
; 54 49 43 43 5F 43 52 43 00210
; 54 00218
.BYTE -1 ; FF 00219
;TPA$KEYST0
U.565: .BLKB 0 ; 0021A
;TPA$KEYST
U.567: .ASCII \TWO_CHARACTER_CHECKSUM\ ; 52 41 48 43 5F 4F 57 54 0021A
; 48 43 5F 52 45 54 43 41 00222
; 4D 55 53 4B 43 45 0022A
.BYTE -1 ; FF 00230
;TPA$KEYFILL
U.576: .BYTE -1 ; FF 00231
;TPA$KEYST0
U.577: .BLKB 0 ; 00232
;TPA$KEYST
U.579: .ASCII \OFF\ ; 46 46 4F 00232
.BYTE -1 ; FF 00235
;TPA$KEYST0
U.585: .BLKB 0 ; 00236
;TPA$KEYST
U.587: .ASCII \ON\ ; 4E 4F 00236
.BYTE -1 ; FF 00238
;TPA$KEYFILL
U.596: .BYTE -1 ; FF 00239
;TPA$KEYST0
U.597: .BLKB 0 ; 0023A
;TPA$KEYST
U.599: .ASCII \OFF\ ; 46 46 4F 0023A
.BYTE -1 ; FF 0023D
;TPA$KEYST0
U.605: .BLKB 0 ; 0023E
;TPA$KEYST
U.607: .ASCII \ON\ ; 4E 4F 0023E
.BYTE -1 ; FF 00240
;TPA$KEYFILL
U.616: .BYTE -1 ; FF 00241
;TPA$KEYST0
U.617: .BLKB 0 ; 00242
;TPA$KEYST
U.619: .ASCII \NONE\ ; 45 4E 4F 4E 00242
.BYTE -1 ; FF 00246
;TPA$KEYFILL
U.627: .BYTE -1 ; FF 00247
;TPA$KEYST0
U.639: .BLKB 0 ; 00248
;TPA$KEYST
U.641: .ASCII \NAMING\ ; 47 4E 49 4D 41 4E 00248
.BYTE -1 ; FF 0024E
;TPA$KEYST0
U.645: .BLKB 0 ; 0024F
;TPA$KEYST
U.647: .ASCII \TYPE\ ; 45 50 59 54 0024F
.BYTE -1 ; FF 00253
;TPA$KEYST0
U.651: .BLKB 0 ; 00254
;TPA$KEYST
U.653: .ASCII \BLOCKSIZE\ ; 5A 49 53 4B 43 4F 4C 42 00254
; 45 0025C
.BYTE -1 ; FF 0025D
;TPA$KEYFILL
U.659: .BYTE -1 ; FF 0025E
;TPA$KEYST0
U.660: .BLKB 0 ; 0025F
;TPA$KEYST
U.662: .ASCII \FULL\ ; 4C 4C 55 46 0025F
.BYTE -1 ; FF 00263
;TPA$KEYST0
U.668: .BLKB 0 ; 00264
;TPA$KEYST
U.670: .ASCII \NORMAL_FORM\ ; 46 5F 4C 41 4D 52 4F 4E 00264
; 4D 52 4F 0026C
.BYTE -1 ; FF 0026F
;TPA$KEYST0
U.676: .BLKB 0 ; 00270
;TPA$KEYST
U.678: .ASCII \UNTRANSLATED\ ; 4C 53 4E 41 52 54 4E 55 00270
; 44 45 54 41 00278
.BYTE -1 ; FF 0027C
;TPA$KEYFILL
U.687: .BYTE -1 ; FF 0027D
;TPA$KEYST0
U.688: .BLKB 0 ; 0027E
;TPA$KEYST
U.690: .ASCII \ASCII\ ; 49 49 43 53 41 0027E
.BYTE -1 ; FF 00283
;TPA$KEYST0
U.696: .BLKB 0 ; 00284
;TPA$KEYST
U.698: .ASCII \BINARY\ ; 59 52 41 4E 49 42 00284
.BYTE -1 ; FF 0028A
;TPA$KEYST0
U.704: .BLKB 0 ; 0028B
;TPA$KEYST
U.706: .ASCII \BLOCK\ ; 4B 43 4F 4C 42 0028B
.BYTE -1 ; FF 00290
;TPA$KEYST0
U.712: .BLKB 0 ; 00291
;TPA$KEYST
U.714: .ASCII \FIXED\ ; 44 45 58 49 46 00291
.BYTE -1 ; FF 00296
;TPA$KEYFILL
U.723: .BYTE -1 ; FF 00297
;TPA$KEYST0
U.730: .BLKB 0 ; 00298
;TPA$KEYST
U.732: .ASCII \OFF\ ; 46 46 4F 00298
.BYTE -1 ; FF 0029B
;TPA$KEYST0
U.738: .BLKB 0 ; 0029C
;TPA$KEYST
U.740: .ASCII \ON\ ; 4E 4F 0029C
.BYTE -1 ; FF 0029E
;TPA$KEYFILL
U.749: .BYTE -1 ; FF 0029F
;TPA$KEYST0
U.750: .BLKB 0 ; 002A0
;TPA$KEYST
U.752: .ASCII \FILE_NAMES\ ; 4D 41 4E 5F 45 4C 49 46 002A0
; 53 45 002A8
.BYTE -1 ; FF 002AA
;TPA$KEYST0
U.756: .BLKB 0 ; 002AB
;TPA$KEYST
U.758: .ASCII \PACKET_NUMBERS\ ; 4E 5F 54 45 4B 43 41 50 002AB
; 53 52 45 42 4D 55 002B3
.BYTE -1 ; FF 002B9
;TPA$KEYFILL
U.765: .BYTE -1 ; FF 002BA
;TPA$KEYST0
U.766: .BLKB 0 ; 002BB
;TPA$KEYST
U.768: .ASCII \OFF\ ; 46 46 4F 002BB
.BYTE -1 ; FF 002BE
;TPA$KEYST0
U.774: .BLKB 0 ; 002BF
;TPA$KEYST
U.776: .ASCII \ON\ ; 4E 4F 002BF
.BYTE -1 ; FF 002C1
;TPA$KEYFILL
U.785: .BYTE -1 ; FF 002C2
;TPA$KEYST0
U.786: .BLKB 0 ; 002C3
;TPA$KEYST
U.788: .ASCII \OFF\ ; 46 46 4F 002C3
.BYTE -1 ; FF 002C6
;TPA$KEYST0
U.794: .BLKB 0 ; 002C7
;TPA$KEYST
U.796: .ASCII \ON\ ; 4E 4F 002C7
.BYTE -1 ; FF 002C9
;TPA$KEYFILL
U.805: .BYTE -1 ; FF 002CA
;TPA$KEYST0
U.818: .BLKB 0 ; 002CB
;TPA$KEYST
U.820: .ASCII \INITIAL_CONNECTION\ ; 5F 4C 41 49 54 49 4E 49 002CB
; 49 54 43 45 4E 4E 4F 43 002D3
; 4E 4F 002DB
.BYTE -1 ; FF 002DD
;TPA$KEYST0
U.824: .BLKB 0 ; 002DE
;TPA$KEYST
U.826: .ASCII \PACKET\ ; 54 45 4B 43 41 50 002DE
.BYTE -1 ; FF 002E4
;TPA$KEYFILL
U.833: .BYTE -1 ; FF 002E5
;TPA$KEYST0
U.840: .BLKB 0 ; 002E6
;TPA$KEYST
U.842: .ASCII \EVEN\ ; 4E 45 56 45 002E6
.BYTE -1 ; FF 002EA
;TPA$KEYST0
U.848: .BLKB 0 ; 002EB
;TPA$KEYST
U.850: .ASCII \MARK\ ; 4B 52 41 4D 002EB
.BYTE -1 ; FF 002EF
;TPA$KEYST0
U.856: .BLKB 0 ; 002F0
;TPA$KEYST
U.858: .ASCII \NONE\ ; 45 4E 4F 4E 002F0
.BYTE -1 ; FF 002F4
;TPA$KEYST0
U.864: .BLKB 0 ; 002F5
;TPA$KEYST
U.866: .ASCII \ODD\ ; 44 44 4F 002F5
.BYTE -1 ; FF 002F8
;TPA$KEYST0
U.872: .BLKB 0 ; 002F9
;TPA$KEYST
U.874: .ASCII \SPACE\ ; 45 43 41 50 53 002F9
.BYTE -1 ; FF 002FE
;TPA$KEYFILL
U.883: .BYTE -1 ; FF 002FF
;TPA$KEYST0
U.884: .BLKB 0 ; 00300
;TPA$KEYST
U.886: .ASCII \EIGHT-BIT-QUOTE\ ; 49 42 2D 54 48 47 49 45 00300
; 45 54 4F 55 51 2D 54 00308
.BYTE -1 ; FF 0030F
;TPA$KEYST0
U.890: .BLKB 0 ; 00310
;TPA$KEYST
U.892: .ASCII \END_OF_LINE\ ; 4C 5F 46 4F 5F 44 4E 45 00310
; 45 4E 49 00318
.BYTE -1 ; FF 0031B
;TPA$KEYST0
U.896: .BLKB 0 ; 0031C
;TPA$KEYST
U.898: .ASCII \PACKET_LENGTH\ ; 4C 5F 54 45 4B 43 41 50 0031C
; 48 54 47 4E 45 00324
.BYTE -1 ; FF 00329
;TPA$KEYST0
U.902: .BLKB 0 ; 0032A
;TPA$KEYST
U.904: .ASCII \PADCHAR\ ; 52 41 48 43 44 41 50 0032A
.BYTE -1 ; FF 00331
;TPA$KEYST0
U.908: .BLKB 0 ; 00332
;TPA$KEYST
U.910: .ASCII \PADDING\ ; 47 4E 49 44 44 41 50 00332
.BYTE -1 ; FF 00339
;TPA$KEYST0
U.914: .BLKB 0 ; 0033A
;TPA$KEYST
U.916: .ASCII \QUOTE\ ; 45 54 4F 55 51 0033A
.BYTE -1 ; FF 0033F
;TPA$KEYST0
U.920: .BLKB 0 ; 00340
;TPA$KEYST
U.922: .ASCII \START_OF_PACKET\ ; 46 4F 5F 54 52 41 54 53 00340
; 54 45 4B 43 41 50 5F 00348
.BYTE -1 ; FF 0034F
;TPA$KEYST0
U.926: .BLKB 0 ; 00350
;TPA$KEYST
U.928: .ASCII \TIMEOUT\ ; 54 55 4F 45 4D 49 54 00350
.BYTE -1 ; FF 00357
;TPA$KEYFILL
U.935: .BYTE -1 ; FF 00358
;TPA$KEYST0
U.967: .BLKB 0 ; 00359
;TPA$KEYST
U.969: .ASCII \END_OF_LINE\ ; 4C 5F 46 4F 5F 44 4E 45 00359
; 45 4E 49 00361
.BYTE -1 ; FF 00364
;TPA$KEYST0
U.973: .BLKB 0 ; 00365
;TPA$KEYST
U.975: .ASCII \PACKET_LENGTH\ ; 4C 5F 54 45 4B 43 41 50 00365
; 48 54 47 4E 45 0036D
.BYTE -1 ; FF 00372
;TPA$KEYST0
U.979: .BLKB 0 ; 00373
;TPA$KEYST
U.981: .ASCII \PADCHAR\ ; 52 41 48 43 44 41 50 00373
.BYTE -1 ; FF 0037A
;TPA$KEYST0
U.985: .BLKB 0 ; 0037B
;TPA$KEYST
U.987: .ASCII \PADDING\ ; 47 4E 49 44 44 41 50 0037B
.BYTE -1 ; FF 00382
;TPA$KEYST0
U.991: .BLKB 0 ; 00383
;TPA$KEYST
U.993: .ASCII \QUOTE\ ; 45 54 4F 55 51 00383
.BYTE -1 ; FF 00388
;TPA$KEYST0
U.997: .BLKB 0 ; 00389
;TPA$KEYST
U.999: .ASCII \START_OF_PACKET\ ; 46 4F 5F 54 52 41 54 53 00389
; 54 45 4B 43 41 50 5F 00391
.BYTE -1 ; FF 00398
;TPA$KEYST0
U.1003: .BLKB 0 ; 00399
;TPA$KEYST
U.1005: .ASCII \TIMEOUT\ ; 54 55 4F 45 4D 49 54 00399
.BYTE -1 ; FF 003A0
;TPA$KEYFILL
U.1012: .BYTE -1 ; FF 003A1
;TPA$KEYST0
U.1043: .BLKB 0 ; 003A2
;TPA$KEYST
U.1045: .ASCII \DELAY\ ; 59 41 4C 45 44 003A2
.BYTE -1 ; FF 003A7
;TPA$KEYST0
U.1049: .BLKB 0 ; 003A8
;TPA$KEYST
U.1051: .ASCII \ECHO\ ; 4F 48 43 45 003A8
.BYTE -1 ; FF 003AC
;TPA$KEYFILL
U.1058: .BYTE -1 ; FF 003AD
;TPA$KEYST0
U.1063: .BLKB 0 ; 003AE
;TPA$KEYST
U.1065: .ASCII \ON\ ; 4E 4F 003AE
.BYTE -1 ; FF 003B0
;TPA$KEYST0
U.1071: .BLKB 0 ; 003B1
;TPA$KEYST
U.1073: .ASCII \OFF\ ; 46 46 4F 003B1
.BYTE -1 ; FF 003B4
;TPA$KEYFILL
U.1082: .BYTE -1 ; FF 003B5
;TPA$KEYST0
U.1091: .BLKB 0 ; 003B6
;TPA$KEYST
U.1093: .ASCII \ALL\ ; 4C 4C 41 003B6
.BYTE -1 ; FF 003B9
;TPA$KEYST0
U.1098: .BLKB 0 ; 003BA
;TPA$KEYST
U.1100: .ASCII \BLOCK_CHECK_TYPE\ ; 48 43 5F 4B 43 4F 4C 42 003BA
; 45 50 59 54 5F 4B 43 45 003C2
.BYTE -1 ; FF 003CA
;TPA$KEYST0
U.1105: .BLKB 0 ; 003CB
;TPA$KEYST
U.1107: .ASCII \COMMUNICATIONS\ ; 43 49 4E 55 4D 4D 4F 43 003CB
; 53 4E 4F 49 54 41 003D3
.BYTE -1 ; FF 003D9
;TPA$KEYST0
U.1112: .BLKB 0 ; 003DA
;TPA$KEYST
U.1114: .ASCII \DEBUGGING\ ; 4E 49 47 47 55 42 45 44 003DA
; 47 003E2
.BYTE -1 ; FF 003E3
;TPA$KEYST0
U.1119: .BLKB 0 ; 003E4
;TPA$KEYST
U.1121: .ASCII \DELAY\ ; 59 41 4C 45 44 003E4
.BYTE -1 ; FF 003E9
;TPA$KEYST0
U.1126: .BLKB 0 ; 003EA
;TPA$KEYST
U.1128: .ASCII \ESCAPE\ ; 45 50 41 43 53 45 003EA
.BYTE -1 ; FF 003F0
;TPA$KEYST0
U.1133: .BLKB 0 ; 003F1
;TPA$KEYST
U.1135: .ASCII \FILE_PARAMETERS\ ; 52 41 50 5F 45 4C 49 46 003F1
; 53 52 45 54 45 4D 41 003F9
.BYTE -1 ; FF 00400
;TPA$KEYST0
U.1140: .BLKB 0 ; 00401
;TPA$KEYST
U.1142: .ASCII \INCOMPLETE_FILE_DISPOSITION\ ; 45 4C 50 4D 4F 43 4E 49 00401
; 5F 45 4C 49 46 5F 45 54 00409
; 54 49 53 4F 50 53 49 44 00411
; 4E 4F 49 00419
.BYTE -1 ; FF 0041C
;TPA$KEYST0
U.1147: .BLKB 0 ; 0041D
;TPA$KEYST
U.1149: .ASCII \LINE\ ; 45 4E 49 4C 0041D
.BYTE -1 ; FF 00421
;TPA$KEYST0
U.1154: .BLKB 0 ; 00422
;TPA$KEYST
U.1156: .ASCII \LOCAL_ECHO\ ; 43 45 5F 4C 41 43 4F 4C 00422
; 4F 48 0042A
.BYTE -1 ; FF 0042C
;TPA$KEYST0
U.1161: .BLKB 0 ; 0042D
;TPA$KEYST
U.1163: .ASCII \PACKET\ ; 54 45 4B 43 41 50 0042D
.BYTE -1 ; FF 00433
;TPA$KEYST0
U.1168: .BLKB 0 ; 00434
;TPA$KEYST
U.1170: .ASCII \PARITY\ ; 59 54 49 52 41 50 00434
.BYTE -1 ; FF 0043A
;TPA$KEYST0
U.1175: .BLKB 0 ; 0043B
;TPA$KEYST
U.1177: .ASCII \SEND\ ; 44 4E 45 53 0043B
.BYTE -1 ; FF 0043F
;TPA$KEYST0
U.1182: .BLKB 0 ; 00440
;TPA$KEYST
U.1184: .ASCII \TIMING\ ; 47 4E 49 4D 49 54 00440
.BYTE -1 ; FF 00446
;TPA$KEYST0
U.1189: .BLKB 0 ; 00447
;TPA$KEYST
U.1191: .ASCII \RECEIVE\ ; 45 56 49 45 43 45 52 00447
.BYTE -1 ; FF 0044E
;TPA$KEYST0
U.1196: .BLKB 0 ; 0044F
;TPA$KEYST
U.1198: .ASCII \RETRY\ ; 59 52 54 45 52 0044F
.BYTE -1 ; FF 00454
;TPA$KEYST0
U.1203: .BLKB 0 ; 00455
;TPA$KEYST
U.1205: .ASCII \VERSION\ ; 4E 4F 49 53 52 45 56 00455
.BYTE -1 ; FF 0045C
;TPA$KEYST0
U.1210: .BLKB 0 ; 0045D
;TPA$KEYST
U.1212: .ASCII \TRANSMIT\ ; 54 49 4D 53 4E 41 52 54 0045D
.BYTE -1 ; FF 00465
;TPA$KEYFILL
U.1220: .BYTE -1 ; FF 00466
;TPA$KEYST0
U.1221: .BLKB 0 ; 00467
;TPA$KEYST
U.1223: .ASCII \DEBUGGING\ ; 4E 49 47 47 55 42 45 44 00467
; 47 0046F
.BYTE -1 ; FF 00470
;TPA$KEYST0
U.1227: .BLKB 0 ; 00471
;TPA$KEYST
U.1229: .ASCII \SESSION\ ; 4E 4F 49 53 53 45 53 00471
.BYTE -1 ; FF 00478
;TPA$KEYST0
U.1233: .BLKB 0 ; 00479
;TPA$KEYST
U.1235: .ASCII \TRANSACTIONS\ ; 54 43 41 53 4E 41 52 54 00479
; 53 4E 4F 49 00481
.BYTE -1 ; FF 00485
;TPA$KEYFILL
U.1242: .BYTE -1 ; FF 00486
;TPA$KEYST0
U.1281: .BLKB 0 ; 00487
;TPA$KEYST
U.1283: .ASCII \DISPLAY\ ; 59 41 4C 50 53 49 44 00487
.BYTE -1 ; FF 0048E
;TPA$KEYFILL
U.1291: .BYTE -1 ; FF 0048F
U.1= P.AAA
FNM_NORMAL== 1
FNM_FULL== 2
FNM_UNTRAN== 4
PR_MIN== 0
PR_NONE== 0
PR_MARK== 1
PR_EVEN== 2
PR_ODD== 3
PR_SPACE== 4
PR_MAX== 4
GC_MIN== 1
GC_EXIT== 1
GC_DIRECTORY== 2
GC_DISK_USAGE== 3
GC_DELETE== 4
GC_TYPE== 5
GC_HELP== 6
GC_LOGOUT== 7
GC_LGN== 8
GC_CONNECT== 9
GC_RENAME== 10
GC_COPY== 11
GC_WHO== 12
GC_SEND_MSG== 13
GC_STATUS== 14
GC_COMMAND== 15
GC_KERMIT== 16
GC_JOURNAL== 17
GC_VARIABLE== 18
GC_PROGRAM== 19
GC_MAX== 19
DP_FULL== 0
DP_HALF== 1
CHK_1CHAR== 49
CHK_2CHAR== 50
CHK_CRC== 51
MAX_MSG== 1002
U.38= P.AAC
.EXTRN LIB$GET_INPUT, LIB$PUT_OUTPUT, LIB$TPARSE, LIB$CRC_TABLE, LIB$CRC, LIB$SIGNAL, LIB$ESTABLISH
.EXTRN LIB$ATTACH, LIB$SPAWN, SEND_SWITCH, REC_SWITCH, DO_GENERIC, SERVER, SND_ERROR, MSG_INIT
.EXTRN FILE_INIT, SY_INIT, TERM_INIT, TERM_OPEN, TERM_CLOSE, TERM_CONNECT, SET_TRANS_TERM
.EXTRN COMND_TRANSMIT, TT_INIT, TT_TEXT, TT_NUMBER, TT_CHAR, TT_OUTPUT, TT_CRLF, RCV_PKT_SIZE
.EXTRN RCV_NPAD, RCV_PADCHAR, RCV_TIMEOUT, RCV_EOL, RCV_QUOTE_CHR, RCV_8QUOTE_CHR, RCV_SOH
.EXTRN SND_PKT_SIZE, SND_NPAD, SND_PADCHAR, SND_TIMEOUT, SND_EOL, SND_QUOTE_CHR, SND_SOH
.EXTRN SRV_TIMEOUT, SET_REPT_CHR, SND_TOTAL_CHARS, RCV_TOTAL_CHARS, SND_DATA_CHARS, RCV_DATA_CHARS
.EXTRN SMSG_TOTAL_CHARS, RMSG_TOTAL_CHARS, SMSG_DATA_CHARS, RMSG_DATA_CHARS, RCV_NAKS, SND_NAKS
.EXTRN RMSG_NAKS, SMSG_NAKS, RCV_COUNT, SND_COUNT, RMSG_COUNT, SMSG_COUNT, XFR_TIME, TOTAL_TIME
.EXTRN LAST_ERROR, TY_PKT, TY_FIL, GEN_1DATA, GEN_1SIZE, GEN_2DATA, GEN_2SIZE, GEN_3DATA
.EXTRN GEN_3SIZE, FILE_SIZE, FILE_NAME, SI_RETRIES, PKT_RETRIES, DELAY, DEBUG_FLAG, CHKTYPE
.EXTRN ABT_FLAG, IBM_CHAR, WARN_FLAG, FIL_NORMAL_FORM, PARITY_TYPE, ECHO_FLAG, CONNECT_FLAG
.EXTRN FILE_BLOCKSIZE, FILE_BLOCKSIZE_SET, FILE_TYPE, FILE_DESC, SESSION_DESC, DEBUG_DESC
.EXTRN TERM_DESC, TRANS_ECHO_FLAG, TRANS_DELAY, TERM_FLAG
.PSECT $CODE$,NOWRT,2
;MAIN_ROUTINE
U.1302: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 2184 003C 00000
MOVAB G^U.1, R5 ;U.1, R5 55 00000000' 00 9E 00002
MOVAB G^ESCAPE_CHR, R4 ;ESCAPE_CHR, R4 54 00000000' 00 9E 00009
MOVAB G^U.60, R3 ;U.60, R3 53 00000000' 00 9E 00010
SUBL2 #4, SP ;#4, SP 5E 04 C2 00017
PUSHL R5 ;R5 2226 55 DD 0001A
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 0001C
MOVL R0, R2 ;R0, STATUS 52 50 D0 00023
CALLS #0, G^MSG_INIT ;#0, MSG_INIT 2227 00000000G 00 00 FB 00026
CALLS #0, G^TERM_INIT ;#0, TERM_INIT 2228 00000000G 00 00 FB 0002D
CALLS #0, G^TT_INIT ;#0, TT_INIT 2229 00000000G 00 00 FB 00034
CALLS #0, G^FILE_INIT ;#0, FILE_INIT 2230 00000000G 00 00 FB 0003B
CALLS #0, G^SY_INIT ;#0, SY_INIT 2231 00000000G 00 00 FB 00042
MOVL #29, (R4) ;#29, ESCAPE_CHR 2232 64 1D D0 00049
MOVZWL #33800, (SP) ;#33800, CRC_BIT_MASK 2236 6E 8408 8F 3C 0004C
PUSHL R3 ;R3 2237 53 DD 00051
PUSHAB 4(SP) ;CRC_BIT_MASK 04 AE 9F 00053
CALLS #2, G^LIB$CRC_TABLE ;#2, LIB$CRC_TABLE 00000000G 00 02 FB 00056
PUSHAB G^U.37 ;U.37 2238 00000000V 00 9F 0005D
CALLS #1, G^LIB$ESTABLISH ;#1, LIB$ESTABLISH 00000000G 00 01 FB 00063
MOVL #17694720, -160(R4) ;#17694720, TRANSACTION_DESC 2242 FF60 C4 010E0000 8F D0 0006A
MOVAB -272(R3), -156(R4) ;TRANSACTION_NAME, - FF64 C4 FEF0 C3 9E 00073
;TRANSACTION_DESC+4
MOVL #17694720, 64(R3) ;#17694720, TAK_FIL_DESC 2246 40 A3 010E0000 8F D0 0007A
MOVAB 72(R3), 68(R3) ;TAK_FIL_NAME, TAK_FIL_DESC+4 44 A3 48 A3 9E 00082
MOVL #17694720, -140(R3) ;#17694720, PROMPT_DESC 2250 FF74 C3 010E0000 8F D0 00087
MOVAB -132(R3), -136(R3) ;PROMPT_TEXT, PROMPT_DESC+4 FF78 C3 FF7C C3 9E 00090
MOVQ #1, -(SP) ;#1, -(SP) 2254 7E 01 7D 00097
PUSHAB 56(R5) ;P.AAG 38 A5 9F 0009A
PUSHAB 40(R5) ;P.AAE 28 A5 9F 0009D
CALLS #4, G^U.4 ;#4, U.4 00000000V 00 04 FB 000A0
CALLS #0, G^U.2 ;#0, U.2 2258 00000000V 00 00 FB 000A7
MOVL R0, R2 ;R0, STATUS 52 50 D0 000AE
BISL3 #268435456, -276(R3), R0 ;#268435456, FINAL_STATUS, R0 2259 FEEC C3 10000000 8F C9 000B1
; 50 000BA
RET ; 04 000BB
; Routine Size: 188 bytes, Routine Base: $CODE$ + 0000
; 2261 1 %SBTTL 'COMND'
; 2262 1 ROUTINE COMND =
; 2263 1
; 2264 1 !++
; 2265 1 ! FUNCTIONAL DESCRIPTION:
; 2266 1 ! This routine will do the command scanning for KERMIT-32. It
; 2267 1 ! will call the correct routines to process the commands.
; 2268 1 !
; 2269 1 ! CALLING SEQUENCE:
; 2270 1 !
; 2271 1 ! COMND();
; 2272 1 !
; 2273 1 ! INPUT PARAMETERS:
; 2274 1 !
; 2275 1 ! None.
; 2276 1 !
; 2277 1 ! IMPLICIT INPUTS:
; 2278 1 !
; 2279 1 ! None.
; 2280 1 !
; 2281 1 ! OUTPUT PARAMETERS:
; 2282 1 !
; 2283 1 ! None.
; 2284 1 !
; 2285 1 ! IMPLICIT OUTPUTS:
; 2286 1 !
; 2287 1 ! None.
; 2288 1 !
; 2289 1 ! COMPLETION CODES:
; 2290 1 !
; 2291 1 ! Return status from last command.
; 2292 1 !
; 2293 1 ! SIDE EFFECTS:
; 2294 1 !
; 2295 1 ! None.
; 2296 1 !
; 2297 1 !--
; 2298 1
; 2299 2 BEGIN
; 2300 2
; 2301 2 EXTERNAL ROUTINE
; 2302 2 GET_COMMAND, ! Get line from SYS$COMMAND
; 2303 2 LIB$GET_FOREIGN : ADDRESSING_MODE (GENERAL); ! Get command which started program
; 2304 2
; 2305 2 LOCAL
; 2306 2 DESC : BLOCK [8, BYTE],
; 2307 2 CMD_BUF : VECTOR [80, BYTE, UNSIGNED],
; 2308 2 CMD_SIZE : UNSIGNED WORD,
; 2309 2 ONE_COMMAND, ! Only do one command
; 2310 2 STATUS : UNSIGNED LONG;
; 2311 2
; 2312 2 ONE_COMMAND = FALSE; ! And many commands
; 2313 2 !
; 2314 2 ! Initialize the command string descriptor
; 2315 2 !
; 2316 2 INIT_STR_DESC (DESC, CMD_BUF, 80);
; 2317 2 !
; 2318 2 ! Get the first command string. If we get something, then we will only
; 2319 2 ! want to perform one command, then exit. Otherwise, we will do commands
; 2320 2 ! until something one tells us to exit.
; 2321 2 !
; 2322 2 STATUS = LIB$GET_FOREIGN (DESC, 0, CMD_SIZE, 0);
; 2323 2
; 2324 2 IF .STATUS EQL RMS$_EOF THEN RETURN SS$_NORMAL;
; 2325 2
; 2326 2 IF NOT .STATUS
; 2327 2 THEN
; 2328 3 BEGIN
; 2329 3 LIB$SIGNAL (.STATUS);
; 2330 3 RETURN .STATUS;
; 2331 2 END;
; 2332 2
; 2333 2 IF .CMD_SIZE GTR 0 THEN ONE_COMMAND = TRUE;
; 2334 2
; 2335 2 WHILE TRUE DO
; 2336 3 BEGIN
; 2337 3
; 2338 3 IF .CMD_SIZE GTR 0
; 2339 3 THEN
; 2340 4 BEGIN
; 2341 4 DESC [DSC$W_LENGTH] = .CMD_SIZE;
; 2342 4
; 2343 4 IF .STATUS THEN STATUS = DO_COMND (DESC);
; 2344 4
; 2345 4 IF .STATUS EQL KER_EXIT THEN RETURN SS$_NORMAL;
; 2346 4
; 2347 4 IF NOT .STATUS AND .STATUS NEQ KER_TAKE_ERROR THEN COMND_ERROR (.STATUS);
; 2348 4
; 2349 3 END;
; 2350 3
; 2351 3 !
; 2352 3 ! If we were given command when run, just exit after doing it
; 2353 3 !
; 2354 3
; 2355 3 IF .ONE_COMMAND THEN RETURN SS$_NORMAL;
; 2356 3
; 2357 3 !
; 2358 3 ! Initialize prompt if null
; 2359 3 !
; 2360 3
; 2361 3 IF .PROMPT_DESC [DSC$W_LENGTH] LEQ 0
; 2362 3 THEN
; 2363 4 BEGIN
; 2364 4 CH$COPY (.DEFAULT_PROMPT [DSC$W_LENGTH], CH$PTR (.DEFAULT_PROMPT [DSC$A_POINTER]), 0,
; 2365 4 TEMP_LENGTH, CH$PTR (PROMPT_TEXT));
; 2366 4 PROMPT_DESC = .DEFAULT_PROMPT [DSC$W_LENGTH];
; 2367 3 END;
; 2368 3
; 2369 3 DESC [DSC$W_LENGTH] = 80; ! Reset length
; 2370 3 STATUS = GET_COMMAND (DESC, PROMPT_DESC, CMD_SIZE, TRUE);
; 2371 3
; 2372 3 IF .STATUS EQL RMS$_EOF THEN RETURN SS$_NORMAL;
; 2373 3 !
; 2374 3 ! If there was an error then return the error code to the upper level
; 2375 3 !
; 2376 3 IF NOT .STATUS ! Failing status?
; 2377 3 THEN
; 2378 3 RETURN .STATUS; ! Yes, return it
; 2379 3
; 2380 2 END; ! End of WHILE TRUE DO BEGIN
; 2381 2
; 2382 2 RETURN SS$_NORMAL;
; 2383 1 END; ! End of COMND
.EXTRN GET_COMMAND, LIB$GET_FOREIGN
;COMND
U.2: .WORD ^M<R2,R3,R4,R5,R6,R7,R8,R9> ;Save R2,R3,R4,R5,R6,R7,R8,R9 2262 03FC 00000
MOVAB G^U.58, R9 ;U.58, R9 59 00000000' 00 9E 00002
MOVAB -92(SP), SP ;-92(SP), SP 5E A4 AE 9E 00009
CLRL R8 ;ONE_COMMAND 2312 58 D4 0000D
MOVL #17694800, 84(SP) ;#17694800, DESC 2316 54 AE 010E0050 8F D0 0000F
MOVAB 4(SP), 88(SP) ;CMD_BUF, DESC+4 58 AE 04 AE 9E 00017
CLRL -(SP) ;-(SP) 2322 7E D4 0001C
PUSHAB 4(SP) ;CMD_SIZE 04 AE 9F 0001E
CLRL -(SP) ;-(SP) 7E D4 00021
PUSHAB 96(SP) ;DESC 60 AE 9F 00023
CALLS #4, G^LIB$GET_FOREIGN ;#4, LIB$GET_FOREIGN 00000000G 00 04 FB 00026
MOVL R0, R7 ;R0, STATUS 57 50 D0 0002D
CMPL R7, #98938 ;STATUS, #98938 2324 0001827A 8F 57 D1 00030
BEQL 4$ ;4$ 35 13 00037
BLBS R7, 1$ ;STATUS, 1$ 2326 0C 57 E8 00039
PUSHL R7 ;STATUS 2329 57 DD 0003C
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 0003E
BRW 7$ ;7$ 2330 0083 31 00045
1$: TSTW (SP) ;CMD_SIZE 2333 6E B5 00048
BEQL 2$ ;2$ 03 13 0004A
MOVL #1, R8 ;#1, ONE_COMMAND 58 01 D0 0004C
2$: TSTW (SP) ;CMD_SIZE 2338 6E B5 0004F
BEQL 5$ ;5$ 32 13 00051
MOVW (SP), 84(SP) ;CMD_SIZE, DESC 2341 54 AE 6E B0 00053
BLBC R7, 3$ ;STATUS, 3$ 2343 0D 57 E9 00057
PUSHAB 84(SP) ;DESC 54 AE 9F 0005A
CALLS #1, G^U.5 ;#1, U.5 00000000V 00 01 FB 0005D
MOVL R0, R7 ;R0, STATUS 57 50 D0 00064
3$: CMPL R7, #134316203 ;STATUS, #134316203 2345 080180AB 8F 57 D1 00067
4$: BEQL 8$ ;8$ 5F 13 0006E
BLBS R7, 5$ ;STATUS, 5$ 2347 12 57 E8 00070
CMPL R7, #134316306 ;STATUS, #134316306 08018112 8F 57 D1 00073
BEQL 5$ ;5$ 09 13 0007A
PUSHL R7 ;STATUS 57 DD 0007C
CALLS #1, G^U.3 ;#1, U.3 00000000V 00 01 FB 0007E
5$: BLBS R8, 8$ ;ONE_COMMAND, 8$ 2355 47 58 E8 00085
TSTW (R9) ;PROMPT_DESC 2361 69 B5 00088
BNEQ 6$ ;6$ 1A 12 0008A
MOVZWL G^U.38, R6 ;U.38, R6 2364 56 00000000' 00 3C 0008C
MOVL G^U.38+4, R0 ;U.38+4, R0 50 00000000' 00 D0 00093
MOVC5 R6, (R0), #0, #132, 8(R9) ;R6, (R0), #0, #132, PROMPT_TEXT 2365 60 56 2C 0009A
; 0084 8F 00 0009D
; 08 A9 000A1
MOVL R6, (R9) ;R6, PROMPT_DESC 2366 69 56 D0 000A3
6$: MOVZBW #80, 84(SP) ;#80, DESC 2369 54 AE 50 8F 9B 000A6
PUSHL #1 ;#1 2370 01 DD 000AB
PUSHAB 4(SP) ;CMD_SIZE 04 AE 9F 000AD
PUSHL R9 ;R9 59 DD 000B0
PUSHAB 96(SP) ;DESC 60 AE 9F 000B2
CALLS #4, G^GET_COMMAND ;#4, GET_COMMAND 00000000G 00 04 FB 000B5
MOVL R0, R7 ;R0, STATUS 57 50 D0 000BC
CMPL R7, #98938 ;STATUS, #98938 2372 0001827A 8F 57 D1 000BF
BEQL 8$ ;8$ 07 13 000C6
BLBS R7, 2$ ;STATUS, 2$ 2376 84 57 E8 000C8
7$: MOVL R7, R0 ;STATUS, R0 2378 50 57 D0 000CB
RET ; 04 000CE
8$: MOVL #1, R0 ;#1, R0 2382 50 01 D0 000CF
RET ; 04 000D2
; Routine Size: 211 bytes, Routine Base: $CODE$ + 00BC
; 2384 1 %SBTTL 'COMND_FILE - Perform take (indirect) file'
; 2385 1 ROUTINE COMND_FILE (TAKE_DESC, DEFAULT_DESC, OK_NONE, DISPLAY_FLAG) =
; 2386 1
; 2387 1 !++
; 2388 1 ! FUNCTIONAL DESCRIPTION:
; 2389 1 !
; 2390 1 ! This routine will read a file of commands and perform them. If any
; 2391 1 ! error occurs, it will abort the command processing.
; 2392 1 !
; 2393 1 ! CALLING SEQUENCE:
; 2394 1 !
; 2395 1 ! STATUS = COMND_FILE (TAKE_DESC, DEFAULT_DESC, OK_NONE, DISPLAY_FLAG)
; 2396 1 !
; 2397 1 ! INPUT PARAMETERS:
; 2398 1 !
; 2399 1 ! TAKE_DESC - String descriptor of file specification
; 2400 1 ! DEFAULT_DESC - Default file specification
; 2401 1 ! OK_NONE - If true, return EOF if file does not exist, otherwise
; 2402 1 ! return error if file does not exist.
; 2403 1 ! DISPLAY_FLAG - If true display commands being executed
; 2404 1 !
; 2405 1 ! IMPLICIT INPUTS:
; 2406 1 !
; 2407 1 ! None.
; 2408 1 !
; 2409 1 ! OUPTUT PARAMETERS:
; 2410 1 !
; 2411 1 ! None.
; 2412 1 !
; 2413 1 ! IMPLICIT OUTPUTS:
; 2414 1 !
; 2415 1 ! None.
; 2416 1 !
; 2417 1 ! COMPLETION CODES:
; 2418 1 !
; 2419 1 ! Standard status values
; 2420 1 !
; 2421 1 ! SIDE EFFECTS:
; 2422 1 !
; 2423 1 ! None.
; 2424 1 !
; 2425 1 !--
; 2426 1
; 2427 2 BEGIN
; 2428 2
; 2429 2 EXTERNAL ROUTINE
; 2430 2 STR$UPCASE : ADDRESSING_MODE (GENERAL), ! Upcase a string
; 2431 2 LIB$GET_VM : ADDRESSING_MODE (GENERAL) NOVALUE,
; 2432 2 LIB$FREE_VM : ADDRESSING_MODE (GENERAL) NOVALUE;
; 2433 2
; 2434 2 MAP
; 2435 2 TAKE_DESC : REF BLOCK [8, BYTE],
; 2436 2 DEFAULT_DESC : REF BLOCK [8, BYTE]; ! The args are descriptors
; 2437 2
; 2438 2 LOCAL
; 2439 2 TAKE_FILE_DESC : BLOCK [8, BYTE], ! Descriptor for take file
; 2440 2 TAKE_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)], ! Name of take file
; 2441 2 TAKE_FILE_FAB : $FAB_DECL, ! FAB for take file
; 2442 2 TAKE_FILE_RAB : $RAB_DECL, ! RAB for take file
; 2443 2 TAKE_FILE_XABFHC : $XABFHC_DECL, ! XAB for file header items
; 2444 2 TAKE_FILE_BADR, ! Address of take file buffer
; 2445 2 TAKE_FILE_BSIZ, ! Size of take file buffer
; 2446 2 TAKE_FILE_FADR, ! Address of fixed header buffer
; 2447 2 TAKE_FILE_FSIZ, ! size of fixed header buffer
; 2448 2 STATUS, ! Random status values
; 2449 2 CMD_DESC : BLOCK [8, BYTE]; ! Descriptor for command
; 2450 2
; 2451 2 CH$COPY (.TAKE_DESC [DSC$W_LENGTH], CH$PTR (.TAKE_DESC [DSC$A_POINTER]), 0, MAX_FILE_NAME,
; 2452 2 CH$PTR (TAKE_FILE_NAME));
; 2453 2 INIT_STR_DESC (TAKE_FILE_DESC, TAKE_FILE_NAME, .TAKE_DESC [DSC$W_LENGTH]);
; P 2454 2 $FAB_INIT (FAB = TAKE_FILE_FAB, FNA = TAKE_FILE_NAME, FNS = .TAKE_FILE_DESC [DSC$W_LENGTH], FAC = GET,
; 2455 2 XAB = TAKE_FILE_XABFHC, DNA = .DEFAULT_DESC [DSC$A_POINTER], DNS = .DEFAULT_DESC [DSC$W_LENGTH]);
; 2456 2 $XABFHC_INIT (XAB = TAKE_FILE_XABFHC);
; 2457 2 STATUS = $OPEN (FAB = TAKE_FILE_FAB);
; 2458 2
; 2459 2 IF NOT .STATUS
; 2460 2 THEN
; 2461 3 BEGIN
; 2462 3
; 2463 3 IF .STATUS EQL RMS$_FNF AND .OK_NONE THEN RETURN KER_TAKE_EOF;
; 2464 3
; 2465 3 LIB$SIGNAL (.STATUS);
; 2466 3 RETURN KER_TAKE_ERROR;
; 2467 2 END;
; 2468 2
; 2469 2 !
; 2470 2 ! Allocate a buffer
; 2471 2 !
; 2472 2 TAKE_FILE_BSIZ = .TAKE_FILE_XABFHC [XAB$W_LRL];
; 2473 2
; 2474 2 IF .TAKE_FILE_BSIZ EQL 0 THEN TAKE_FILE_BSIZ = MAX_REC_LENGTH;
; 2475 2
; 2476 2 LIB$GET_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
; 2477 2 INIT_STR_DESC (CMD_DESC, .TAKE_FILE_BADR, .TAKE_FILE_BSIZ);
; 2478 2 !
; 2479 2 ! Determine if we need a buffer for the fixed control area
; 2480 2 !
; 2481 2 TAKE_FILE_FSIZ = .TAKE_FILE_FAB [FAB$B_FSZ];
; 2482 2
; 2483 2 IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$GET_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
; 2484 2
; 2485 2 !
; 2486 2 ! Initialize the RAB for the $CONNECT RMS call
; 2487 2 !
; P 2488 2 $RAB_INIT (RAB = TAKE_FILE_RAB, FAB = TAKE_FILE_FAB, RAC = SEQ, ROP = NLK, UBF = .TAKE_FILE_BADR,
; 2489 2 USZ = .TAKE_FILE_BSIZ);
; 2490 2
; 2491 2 IF .TAKE_FILE_FSIZ NEQ 0 THEN TAKE_FILE_RAB [RAB$L_RHB] = .TAKE_FILE_FADR;
; 2492 2
; 2493 2 STATUS = $CONNECT (RAB = TAKE_FILE_RAB);
; 2494 2
; 2495 2 IF NOT .STATUS
; 2496 2 THEN
; 2497 3 BEGIN
; 2498 3 LIB$SIGNAL (.STATUS);
; 2499 3 LIB$FREE_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
; 2500 3
; 2501 3 IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$FREE_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
; 2502 3
; 2503 3 RETURN KER_TAKE_ERROR;
; 2504 2 END;
; 2505 2
; 2506 2 WHILE (STATUS = $GET (RAB = TAKE_FILE_RAB)) DO
; 2507 3 BEGIN
; 2508 3
; 2509 3 IF .TAKE_FILE_RAB [RAB$W_RSZ] GTR 0
; 2510 3 THEN
; 2511 4 BEGIN
; 2512 4 CMD_DESC [DSC$W_LENGTH] = .TAKE_FILE_RAB [RAB$W_RSZ];
; 2513 4 STATUS = STR$UPCASE (CMD_DESC, CMD_DESC);
; 2514 4
; 2515 4 IF .DISPLAY_FLAG THEN LIB$PUT_OUTPUT (CMD_DESC);
; 2516 4
; 2517 4 STATUS = DO_COMND (CMD_DESC);
; 2518 4
; 2519 4 IF NOT .STATUS
; 2520 4 THEN
; 2521 5 BEGIN
; 2522 5
; 2523 5 IF .STATUS NEQ KER_TAKE_ERROR
; 2524 5 THEN
; 2525 6 BEGIN
; 2526 6 COMND_ERROR (.STATUS);
; 2527 6 LIB$PUT_OUTPUT (CMD_DESC);
; 2528 6 STATUS = KER_TAKE_ERROR; ! Indicate we should abort back
; 2529 5 END;
; 2530 5
; 2531 5 EXITLOOP;
; 2532 4 END;
; 2533 4
; 2534 3 END;
; 2535 3
; 2536 2 END; ! End of WHILE TRUE DO BEGIN
; 2537 2
; 2538 2 !
; 2539 2 ! When the loop exits, we got some kind of error. Complain unless end of file.
; 2540 2 !
; 2541 2
; 2542 2 IF .STATUS EQL RMS$_EOF THEN STATUS = KER_TAKE_EOF;
; 2543 2
; 2544 2 IF .STATUS NEQ KER_EXIT AND .STATUS NEQ KER_TAKE_EOF AND .STATUS NEQ KER_TAKE_ERROR
; 2545 2 THEN
; 2546 2 LIB$SIGNAL (.STATUS);
; 2547 2
; 2548 2 !
; 2549 2 ! Close the file
; 2550 2 !
; 2551 2 $DISCONNECT (RAB = TAKE_FILE_RAB);
; 2552 2 $CLOSE (FAB = TAKE_FILE_FAB);
; 2553 2 !
; 2554 2 ! Return any buffers
; 2555 2 !
; 2556 2 LIB$FREE_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
; 2557 2
; 2558 2 IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$FREE_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
; 2559 2
; 2560 2 RETURN .STATUS;
; 2561 1 END; ! End of COMND_FILE
.EXTRN STR$UPCASE, LIB$GET_VM, LIB$FREE_VM, SYS$OPEN, SYS$CONNECT, SYS$GET, SYS$DISCONNECT
.EXTRN SYS$CLOSE
;COMND_FILE
U.4: .WORD ^M<R2,R3,R4,R5,R6,R7,R8,R9,R10> ;Save R2,R3,R4,R5,R6,R7,R8,R9,R10 2385 07FC 00000
MOVAB G^LIB$PUT_OUTPUT, R10 ;LIB$PUT_OUTPUT, R10 5A 00000000G 00 9E 00002
MOVAB G^LIB$GET_VM, R9 ;LIB$GET_VM, R9 59 00000000G 00 9E 00009
MOVAB G^LIB$SIGNAL, R8 ;LIB$SIGNAL, R8 58 00000000G 00 9E 00010
MOVAB G^LIB$FREE_VM, R7 ;LIB$FREE_VM, R7 57 00000000G 00 9E 00017
MOVAB -356(SP), SP ;-356(SP), SP 5E FE9C CE 9E 0001E
MOVL 4(AP), R6 ;TAKE_DESC, R6 2451 56 04 AC D0 00023
MOVC5 (R6), @4(R6), #0, #132, -140(FP) ;(R6), @4(R6), #0, #132, - 2452 04 B6 66 2C 00027
;TAKE_FILE_NAME 0084 8F 00 0002B
; FF74 CD 0002F
MOVW #270, -6(FP) ;#270, TAKE_FILE_DESC+2 2453 FA AD 010E 8F B0 00032
MOVW (R6), -8(FP) ;(R6), TAKE_FILE_DESC F8 AD 66 B0 00038
MOVAB -140(FP), -4(FP) ;TAKE_FILE_NAME, TAKE_FILE_DESC+4 FC AD FF74 CD 9E 0003C
MOVC5 #0, (SP), #0, #80, 136(SP) ;#0, (SP), #0, #80, $RMS_PTR 2455 6E 00 2C 00042
; 0050 8F 00 00045
; 0088 CE 00049
MOVW #20483, 136(SP) ;#20483, $RMS_PTR 0088 CE 5003 8F B0 0004C
MOVB #2, 158(SP) ;#2, $RMS_PTR+22 009E CE 02 90 00053
MOVB #2, 167(SP) ;#2, $RMS_PTR+31 00A7 CE 02 90 00058
MOVAB 24(SP), 172(SP) ;TAKE_FILE_XABFHC, $RMS_PTR+36 00AC CE 18 AE 9E 0005D
MOVAB -140(FP), -176(FP) ;TAKE_FILE_NAME, $RMS_PTR+44 FF50 CD FF74 CD 9E 00063
MOVL 8(AP), R0 ;DEFAULT_DESC, R0 50 08 AC D0 0006A
MOVL 4(R0), -172(FP) ;4(R0), $RMS_PTR+48 FF54 CD 04 A0 D0 0006E
MOVB -8(FP), -168(FP) ;TAKE_FILE_DESC, $RMS_PTR+52 FF58 CD F8 AD 90 00074
MOVB (R0), -167(FP) ;(R0), $RMS_PTR+53 FF59 CD 60 90 0007A
MOVC5 #0, (SP), #0, #44, 24(SP) ;#0, (SP), #0, #44, $RMS_PTR 2456 6E 00 2C 0007F
; 2C 00 00082
; 18 AE 00084
MOVW #11293, 24(SP) ;#11293, $RMS_PTR 18 AE 2C1D 8F B0 00086
PUSHAB 136(SP) ;TAKE_FILE_FAB 2457 0088 CE 9F 0008C
CALLS #1, G^SYS$OPEN ;#1, SYS$OPEN 00000000G 00 01 FB 00090
MOVL R0, R6 ;R0, STATUS 56 50 D0 00097
BLBS R6, 2$ ;STATUS, 2$ 2459 1D 56 E8 0009A
CMPL R6, #98962 ;STATUS, #98962 2463 00018292 8F 56 D1 0009D
BNEQ 1$ ;1$ 0C 12 000A4
BLBC 12(AP), 1$ ;OK_NONE, 1$ 08 0C AC E9 000A6
MOVL #134316299, R0 ;#134316299, R0 50 0801810B 8F D0 000AA
RET ; 04 000B1
1$: PUSHL R6 ;STATUS 2465 56 DD 000B2
CALLS #1, (R8) ;#1, LIB$SIGNAL 68 01 FB 000B4
BRW 6$ ;6$ 2466 0096 31 000B7
2$: MOVZWL 34(SP), 4(SP) ;TAKE_FILE_XABFHC+10, TAKE_FILE_BSIZ 2472 04 AE 22 AE 3C 000BA
BNEQ 3$ ;3$ 2474 06 12 000BF
MOVZWL #4096, 4(SP) ;#4096, TAKE_FILE_BSIZ 04 AE 1000 8F 3C 000C1
3$: PUSHL SP ;SP 2476 5E DD 000C7
PUSHAB 8(SP) ;TAKE_FILE_BSIZ 08 AE 9F 000C9
CALLS #2, (R9) ;#2, LIB$GET_VM 69 02 FB 000CC
MOVW #270, 18(SP) ;#270, CMD_DESC+2 2477 12 AE 010E 8F B0 000CF
MOVW 4(SP), 16(SP) ;TAKE_FILE_BSIZ, CMD_DESC 10 AE 04 AE B0 000D5
MOVL (SP), 20(SP) ;TAKE_FILE_BADR, CMD_DESC+4 14 AE 6E D0 000DA
MOVZBL -157(FP), 12(SP) ;TAKE_FILE_FAB+63, TAKE_FILE_FSIZ 2481 0C AE FF63 CD 9A 000DE
BEQL 4$ ;4$ 2483 09 13 000E4
PUSHAB 8(SP) ;TAKE_FILE_FADR 08 AE 9F 000E6
PUSHAB 16(SP) ;TAKE_FILE_FSIZ 10 AE 9F 000E9
CALLS #2, (R9) ;#2, LIB$GET_VM 69 02 FB 000EC
4$: MOVC5 #0, (SP), #0, #68, 68(SP) ;#0, (SP), #0, #68, $RMS_PTR 2489 6E 00 2C 000EF
; 0044 8F 00 000F2
; 44 AE 000F6
MOVW #17409, 68(SP) ;#17409, $RMS_PTR 44 AE 4401 8F B0 000F8
MOVL #1048576, 72(SP) ;#1048576, $RMS_PTR+4 48 AE 00100000 8F D0 000FE
CLRB 98(SP) ;$RMS_PTR+30 62 AE 94 00106
MOVW 4(SP), 100(SP) ;TAKE_FILE_BSIZ, $RMS_PTR+32 64 AE 04 AE B0 00109
MOVL (SP), 104(SP) ;TAKE_FILE_BADR, $RMS_PTR+36 68 AE 6E D0 0010E
MOVAB 136(SP), 128(SP) ;TAKE_FILE_FAB, $RMS_PTR+60 0080 CE 0088 CE 9E 00112
CLRL R2 ;R2 2491 52 D4 00119
TSTL 12(SP) ;TAKE_FILE_FSIZ 0C AE D5 0011B
BEQL 5$ ;5$ 07 13 0011E
INCL R2 ;R2 52 D6 00120
MOVL 8(SP), 112(SP) ;TAKE_FILE_FADR, TAKE_FILE_RAB+44 70 AE 08 AE D0 00122
5$: PUSHAB 68(SP) ;TAKE_FILE_RAB 2493 44 AE 9F 00127
CALLS #1, G^SYS$CONNECT ;#1, SYS$CONNECT 00000000G 00 01 FB 0012A
MOVL R0, R6 ;R0, STATUS 56 50 D0 00131
BLBS R6, 7$ ;STATUS, 7$ 2495 21 56 E8 00134
PUSHL R6 ;STATUS 2498 56 DD 00137
CALLS #1, (R8) ;#1, LIB$SIGNAL 68 01 FB 00139
PUSHL SP ;SP 2499 5E DD 0013C
PUSHAB 8(SP) ;TAKE_FILE_BSIZ 08 AE 9F 0013E
CALLS #2, (R7) ;#2, LIB$FREE_VM 67 02 FB 00141
BLBC R2, 6$ ;R2, 6$ 2501 09 52 E9 00144
PUSHAB 8(SP) ;TAKE_FILE_FADR 08 AE 9F 00147
PUSHAB 16(SP) ;TAKE_FILE_FSIZ 10 AE 9F 0014A
CALLS #2, (R7) ;#2, LIB$FREE_VM 67 02 FB 0014D
6$: MOVL #134316306, R0 ;#134316306, R0 2503 50 08018112 8F D0 00150
RET ; 04 00157
7$: PUSHAB 68(SP) ;TAKE_FILE_RAB 2506 44 AE 9F 00158
CALLS #1, G^SYS$GET ;#1, SYS$GET 00000000G 00 01 FB 0015B
MOVL R0, R6 ;R0, STATUS 56 50 D0 00162
BLBC R6, 9$ ;STATUS, 9$ 53 56 E9 00165
TSTW 102(SP) ;TAKE_FILE_RAB+34 2509 66 AE B5 00168
BEQL 7$ ;7$ EB 13 0016B
MOVW 102(SP), 16(SP) ;TAKE_FILE_RAB+34, CMD_DESC 2512 10 AE 66 AE B0 0016D
PUSHAB 16(SP) ;CMD_DESC 2513 10 AE 9F 00172
PUSHAB 20(SP) ;CMD_DESC 14 AE 9F 00175
CALLS #2, G^STR$UPCASE ;#2, STR$UPCASE 00000000G 00 02 FB 00178
MOVL R0, R6 ;R0, STATUS 56 50 D0 0017F
BLBC 16(AP), 8$ ;DISPLAY_FLAG, 8$ 2515 06 10 AC E9 00182
PUSHAB 16(SP) ;CMD_DESC 10 AE 9F 00186
CALLS #1, (R10) ;#1, LIB$PUT_OUTPUT 6A 01 FB 00189
8$: PUSHAB 16(SP) ;CMD_DESC 2517 10 AE 9F 0018C
CALLS #1, G^U.5 ;#1, U.5 00000000V 00 01 FB 0018F
MOVL R0, R6 ;R0, STATUS 56 50 D0 00196
BLBS R6, 7$ ;STATUS, 7$ 2519 BC 56 E8 00199
CMPL R6, #134316306 ;STATUS, #134316306 2523 08018112 8F 56 D1 0019C
BEQL 9$ ;9$ 16 13 001A3
PUSHL R6 ;STATUS 2526 56 DD 001A5
CALLS #1, G^U.3 ;#1, U.3 00000000V 00 01 FB 001A7
PUSHAB 16(SP) ;CMD_DESC 2527 10 AE 9F 001AE
CALLS #1, (R10) ;#1, LIB$PUT_OUTPUT 6A 01 FB 001B1
MOVL #134316306, R6 ;#134316306, STATUS 2528 56 08018112 8F D0 001B4
9$: CMPL R6, #98938 ;STATUS, #98938 2542 0001827A 8F 56 D1 001BB
BNEQ 10$ ;10$ 07 12 001C2
MOVL #134316299, R6 ;#134316299, STATUS 56 0801810B 8F D0 001C4
10$: CMPL R6, #134316203 ;STATUS, #134316203 2544 080180AB 8F 56 D1 001CB
BEQL 11$ ;11$ 17 13 001D2
CMPL R6, #134316299 ;STATUS, #134316299 0801810B 8F 56 D1 001D4
BEQL 11$ ;11$ 0E 13 001DB
CMPL R6, #134316306 ;STATUS, #134316306 08018112 8F 56 D1 001DD
BEQL 11$ ;11$ 05 13 001E4
PUSHL R6 ;STATUS 2546 56 DD 001E6
CALLS #1, (R8) ;#1, LIB$SIGNAL 68 01 FB 001E8
11$: PUSHAB 68(SP) ;TAKE_FILE_RAB 2551 44 AE 9F 001EB
CALLS #1, G^SYS$DISCONNECT ;#1, SYS$DISCONNECT 00000000G 00 01 FB 001EE
PUSHAB 136(SP) ;TAKE_FILE_FAB 2552 0088 CE 9F 001F5
CALLS #1, G^SYS$CLOSE ;#1, SYS$CLOSE 00000000G 00 01 FB 001F9
PUSHL SP ;SP 2556 5E DD 00200
PUSHAB 8(SP) ;TAKE_FILE_BSIZ 08 AE 9F 00202
CALLS #2, (R7) ;#2, LIB$FREE_VM 67 02 FB 00205
TSTL 12(SP) ;TAKE_FILE_FSIZ 2558 0C AE D5 00208
BEQL 12$ ;12$ 09 13 0020B
PUSHAB 8(SP) ;TAKE_FILE_FADR 08 AE 9F 0020D
PUSHAB 16(SP) ;TAKE_FILE_FSIZ 10 AE 9F 00210
CALLS #2, (R7) ;#2, LIB$FREE_VM 67 02 FB 00213
12$: MOVL R6, R0 ;STATUS, R0 2560 50 56 D0 00216
RET ; 04 00219
; Routine Size: 538 bytes, Routine Base: $CODE$ + 018F
; 2562 1 %SBTTL 'COMND_ERROR - Give error message for command'
; 2563 1 ROUTINE COMND_ERROR (STATUS) : NOVALUE =
; 2564 1
; 2565 1 !++
; 2566 1 ! FUNCTIONAL DESCRIPTION:
; 2567 1 !
; 2568 1 ! This routine will issue an error message for a command parsing error.
; 2569 1 !
; 2570 1 ! CALLING SEQUENCE:
; 2571 1 !
; 2572 1 ! COMND_ERROR (.STATUS);
; 2573 1 !
; 2574 1 ! INPUT PARAMETERS:
; 2575 1 !
; 2576 1 ! STATUS - The status value returned from DO_COMND
; 2577 1 !
; 2578 1 ! IMPLICIT INPUTS:
; 2579 1 !
; 2580 1 ! None.
; 2581 1 !
; 2582 1 ! OUPTUT PARAMETERS:
; 2583 1 !
; 2584 1 ! None.
; 2585 1 !
; 2586 1 ! IMPLICIT OUTPUTS:
; 2587 1 !
; 2588 1 ! None.
; 2589 1 !
; 2590 1 ! COMPLETION CODES:
; 2591 1 !
; 2592 1 ! None.
; 2593 1 !
; 2594 1 ! SIDE EFFECTS:
; 2595 1 !
; 2596 1 ! None.
; 2597 1 !
; 2598 1 !--
; 2599 1
; 2600 2 BEGIN
; 2601 2
; 2602 2 IF .STATUS EQL KER_AMBIGKEY OR .STATUS EQL KER_UNKNOWKEY
; 2603 2 THEN
; 2604 2 LIB$SIGNAL (.STATUS, 1,
; 2605 2 TPARSE_BLOCK [TPA$L_TOKENCNT])
; 2606 2 ELSE
; 2607 3 BEGIN
; 2608 3
; 2609 3 EXTERNAL LITERAL
; 2610 3 LIB$_SYNTAXERR;
; 2611 3
; 2612 3 IF .STATUS EQL LIB$_SYNTAXERR
; 2613 3 THEN
; 2614 3 LIB$SIGNAL (KER_CMDERR, 1, TPARSE_BLOCK [TPA$L_STRINGCNT])
; 2615 3 ELSE
; 2616 3 LIB$SIGNAL (.STATUS);
; 2617 3
; 2618 2 END;
; 2619 2
; 2620 1 END; ! End of COMND_ERROR
.EXTRN LIB$_SYNTAXERR
;COMND_ERROR
U.3: .WORD ^M<R2> ;Save R2 2563 0004 00000
MOVAB G^LIB$SIGNAL, R2 ;LIB$SIGNAL, R2 52 00000000G 00 9E 00002
MOVL 4(AP), R0 ;STATUS, R0 2602 50 04 AC D0 00009
CMPL R0, #134316282 ;R0, #134316282 080180FA 8F 50 D1 0000D
BEQL 1$ ;1$ 09 13 00014
CMPL R0, #134316290 ;R0, #134316290 08018102 8F 50 D1 00016
BNEQ 2$ ;2$ 0C 12 0001D
1$: PUSHAB G^U.47+16 ;U.47+16 2605 00000000' 00 9F 0001F
PUSHL #1 ;#1 2604 01 DD 00025
PUSHL R0 ;R0 50 DD 00027
BRB 3$ ;3$ 17 11 00029
2$: CMPL R0, #LIB$_SYNTAXERR ;R0, #LIB$_SYNTAXERR 2612 00000000G 8F 50 D1 0002B
BNEQ 4$ ;4$ 12 12 00032
PUSHAB G^U.47+8 ;U.47+8 2614 00000000' 00 9F 00034
PUSHL #1 ;#1 01 DD 0003A
PUSHL #134316058 ;#134316058 0801801A 8F DD 0003C
3$: CALLS #3, (R2) ;#3, LIB$SIGNAL 62 03 FB 00042
RET ; 04 00045
4$: PUSHL R0 ;R0 2616 50 DD 00046
CALLS #1, (R2) ;#1, LIB$SIGNAL 62 01 FB 00048
RET ; 2620 04 0004B
; Routine Size: 76 bytes, Routine Base: $CODE$ + 03A9
; 2621 1 %SBTTL 'DO_COMND'
; 2622 1 ROUTINE DO_COMND (CMD_DESC) =
; 2623 1
; 2624 1 !++
; 2625 1 ! FUNCTIONAL DESCRIPTION:
; 2626 1 ! This routine will parse and process one Kermit command.
; 2627 1 !
; 2628 1 ! CALLING SEQUENCE:
; 2629 1 !
; 2630 1 ! STATUS = DO_COMND(CMD_DESC);
; 2631 1 !
; 2632 1 ! INPUT PARAMETERS:
; 2633 1 !
; 2634 1 ! CMD_DESC - Descriptor of command string
; 2635 1 !
; 2636 1 ! IMPLICIT INPUTS:
; 2637 1 !
; 2638 1 ! None.
; 2639 1 !
; 2640 1 ! OUTPUT PARAMETERS:
; 2641 1 !
; 2642 1 ! None.
; 2643 1 !
; 2644 1 ! IMPLICIT OUTPUTS:
; 2645 1 !
; 2646 1 ! None.
; 2647 1 !
; 2648 1 ! COMPLETION CODES:
; 2649 1 !
; 2650 1 ! None.
; 2651 1 !
; 2652 1 ! SIDE EFFECTS:
; 2653 1 !
; 2654 1 ! None.
; 2655 1 !
; 2656 1 !--
; 2657 1
; 2658 2 BEGIN
; 2659 2
; 2660 2 BIND
; 2661 2 SERVER_TEXT = %ASCID'Kermit Server running on VAX/VMS host. Please type your escape sequence to',
; 2662 2 SERVER_TEXT_1 = %ASCID' return to your local machine. Shut down the server by typing the Kermit BYE',
; 2663 2 SERVER_TEXT_2 = %ASCID' command on your local machine.',
; 2664 2 PUSH_TEXT = %ASCID' Type LOGOUT to return to VMS Kermit';
; 2665 2
; 2666 2 MAP
; 2667 2 CMD_DESC : REF BLOCK [8, BYTE]; ! Descriptor for command
; 2668 2
; 2669 2 LOCAL
; 2670 2 STATUS : UNSIGNED LONG;
; 2671 2
; 2672 2 ! Initialize some per-command data areas.
; 2673 2 INIT_STR_DESC (TEMP_DESC, TEMP_NAME, 0);
; 2674 2 COMMAND = 0;
; 2675 2 SHOW_TYPE = 0;
; 2676 2 REM_TYPE = 0;
; 2677 2 FILE_SIZE = 0;
; 2678 2 ALT_FILE_SIZE = 0;
; 2679 2 GEN_1SIZE = 0;
; 2680 2 GEN_2SIZE = 0;
; 2681 2 GEN_3SIZE = 0;
; 2682 2 CONNECT_FLAG = FALSE; ! Assume not connected
; 2683 2 TAKE_DISPLAY = 0;
; 2684 2 TPARSE_BLOCK [TPA$L_STRINGCNT] = .CMD_DESC [DSC$W_LENGTH];
; 2685 2 TPARSE_BLOCK [TPA$L_STRINGPTR] = .CMD_DESC [DSC$A_POINTER];
; 2686 2 TPARSE_BLOCK [TPA$V_BLANKS] = 0; ! Ignore blanks
; 2687 2 STATUS = LIB$TPARSE (TPARSE_BLOCK, KERMIT_STATE, KERMIT_KEY);
; 2688 2
; 2689 2 IF .STATUS
; 2690 2 THEN
; 2691 3 BEGIN
; 2692 3 FILE_SIZE = .FILE_DESC [DSC$W_LENGTH]; ! Copy length in case needed
; 2693 3
; 2694 3 CASE .COMMAND FROM CMD_MIN TO CMD_MAX OF
; 2695 3 SET
; 2696 3
; 2697 3 [CMD_BYE] :
; 2698 4 BEGIN
; 2699 4
; 2700 5 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2701 4 THEN
; 2702 5 BEGIN
; 2703 5
; 2704 5 IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_LOGOUT) ELSE STATUS = KER_LOCONLY;
; 2705 5
; 2706 5 TERM_CLOSE ()
; 2707 4 END;
; 2708 4
; 2709 4 IF NOT .STATUS THEN RETURN .STATUS ELSE RETURN KER_EXIT;
; 2710 4
; 2711 3 END;
; 2712 3
; 2713 3 [CMD_CONN] :
; 2714 3 TERM_CONNECT ();
; 2715 3
; 2716 3 [CMD_EXIT] :
; 2717 3 RETURN KER_EXIT;
; 2718 3
; 2719 3 [CMD_FINISH] :
; 2720 3
; 2721 4 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2722 3 THEN
; 2723 4 BEGIN
; 2724 4
; 2725 4 IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_EXIT) ELSE STATUS = KER_LOCONLY;
; 2726 4
; 2727 4 TERM_CLOSE ()
; 2728 3 END;
; 2729 3
; 2730 3 [CMD_GET] :
; 2731 3
; 2732 4 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2733 3 THEN
; 2734 4 BEGIN
; 2735 4
; 2736 4 IF NOT .CONNECT_FLAG THEN REC_SWITCH () ELSE STATUS = KER_LOCONLY;
; 2737 4
; 2738 4 TERM_CLOSE ();
; 2739 3 END;
; 2740 3
; 2741 3 [CMD_HELP] :
; 2742 3 COMND_HELP ();
; 2743 3
; 2744 3 [CMD_LOGOUT] :
; 2745 3
; 2746 4 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2747 3 THEN
; 2748 4 BEGIN
; 2749 4
; 2750 4 IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_LOGOUT) ELSE STATUS = KER_LOCONLY;
; 2751 4
; 2752 4 TERM_CLOSE ()
; 2753 3 END;
; 2754 3
; 2755 3 [CMD_RECEIVE] :
; 2756 3
; 2757 4 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2758 3 THEN
; 2759 4 BEGIN
; 2760 4 FILE_SIZE = 0; ! No file to request
; 2761 4 REC_SWITCH ();
; 2762 4 TERM_CLOSE ();
; 2763 3 END;
; 2764 3
; 2765 3 [CMD_REMOTE] :
; 2766 3 COMND_REMOTE ();
; 2767 3
; 2768 3 [CMD_LOCAL] :
; 2769 3 COMND_LOCAL ();
; 2770 3
; 2771 3 [CMD_PUSH] :
; 2772 4 BEGIN
; 2773 4
; 2774 4 OWN
; 2775 4 PID : INITIAL (0);
; 2776 4
; 2777 4 LIB$PUT_OUTPUT (PUSH_TEXT);
; 2778 4
; 2779 4 IF .PID NEQ 0
; 2780 4 THEN
; 2781 5 BEGIN
; 2782 5 STATUS = LIB$ATTACH (PID);
; 2783 5
; 2784 5 IF NOT .STATUS THEN PID = 0;
; 2785 5
; 2786 4 END;
; 2787 4
; 2788 4 IF .PID EQL 0
; 2789 4 THEN STATUS = LIB$SPAWN (0, 0, 0, 0, 0, PID); ! Just spawn a DCL
; 2790 4
; 2791 3 END;
; 2792 3
; 2793 3 [CMD_SEND] :
; 2794 4 BEGIN
; 2795 4
; 2796 4 EXTERNAL ROUTINE
; 2797 4 FILE_OPEN, ! Open file routine
; 2798 4 FILE_CLOSE; ! Close file routine
; 2799 4
; 2800 4 LOCAL
; 2801 4 SAVE_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)],
; 2802 4 SAVE_FILE_SIZE,
; 2803 4 SAVE_TY_FIL;
; 2804 4
; 2805 4 SAVE_TY_FIL = .TY_FIL; ! Save current type out flag
; 2806 4 TY_FIL = FALSE; ! Suppress type out of names
; 2807 4 SAVE_FILE_SIZE = .FILE_SIZE; ! Save the file name size
; 2808 4
; 2809 4 CH$MOVE((.FILE_SIZE),CH$PTR(FILE_NAME),
; 2810 4 CH$PTR(SAVE_FILE_NAME));
; 2811 4
; 2812 4 IF FILE_OPEN (FNC_READ)
; 2813 4 THEN
; 2814 5 BEGIN
; 2815 5 FILE_SIZE = .SAVE_FILE_SIZE; ! Reset the file name size
; 2816 5 CH$MOVE(.FILE_SIZE,CH$PTR(SAVE_FILE_NAME),
; 2817 5 CH$PTR(FILE_NAME));
; 2818 5
; 2819 5 FILE_CLOSE (FALSE);
; 2820 5 TY_FIL = .SAVE_TY_FIL; ! Reset type out flag
; 2821 5
; 2822 6 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2823 5 THEN
; 2824 6 BEGIN
; 2825 6 SEND_SWITCH ();
; 2826 6 TERM_CLOSE ();
; 2827 5 END;
; 2828 5
; 2829 5 END
; 2830 4 ELSE
; 2831 4 TY_FIL = .SAVE_TY_FIL; ! Reset type out flag
; 2832 4
; 2833 3 END;
; 2834 3
; 2835 3 [CMD_SERVER] :
; 2836 4 BEGIN
; 2837 4 LIB$PUT_OUTPUT (SERVER_TEXT);
; 2838 4 LIB$PUT_OUTPUT (SERVER_TEXT_1);
; 2839 4 LIB$PUT_OUTPUT (SERVER_TEXT_2);
; 2840 4
; 2841 5 IF (STATUS = TERM_OPEN (TRUE)) ! Open the terminal
; 2842 4 THEN
; 2843 5 BEGIN
; 2844 5 STATUS = SERVER ();
; 2845 5 TERM_CLOSE ();
; 2846 5 RETURN KER_NORMAL;
; 2847 5
; 2848 4 END;
; 2849 4
; 2850 3 END;
; 2851 3
; 2852 3 [CMD_SHOW] :
; 2853 3 COMND_SHOW ();
; 2854 3
; 2855 3 [CMD_STATUS] :
; 2856 3 COMND_STATUS ();
; 2857 3
; 2858 3 [CMD_TAKE] :
; 2859 3 STATUS = COMND_FILE (TAK_FIL_DESC, %ASCID'.COM;0', FALSE, .TAKE_DISPLAY);
; 2860 3
; 2861 3 [CMD_TRANSMIT]: !
; 2862 3 COMND_TRANSMIT (); !
; 2863 3
; 2864 3 [INRANGE] :
; 2865 3 TES;
; 2866 3
; 2867 2 END;
; 2868 2
; 2869 2 RETURN .STATUS;
; 2870 1 END; ! End of DO_COMND
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AAJ: .ASCII \Kermit Server running on VAX/VMS host. Please type your escape s\-
; 53 20 74 69 6D 72 65 4B 00060
; 75 72 20 72 65 76 72 65 00068
; 6E 6F 20 67 6E 69 6E 6E 00070
; 53 4D 56 2F 58 41 56 20 00078
; 20 20 2E 74 73 6F 68 20 00080
; 74 20 65 73 61 65 6C 50 00088
; 72 75 6F 79 20 65 70 79 00090
; 20 65 70 61 63 73 65 20 00098
; 73 000A0
.ASCII \equence to\<0> ; 20 65 63 6E 65 75 71 65 000A1
; 00 6F 74 000A9
P.AAI: .LONG 17694795 ; 010E004B 000AC
.ADDRESS P.AAJ ; 00000000' 000B0
P.AAL: .ASCII \ return to your local machine. Shut down the server by typing th\-
; 20 6E 72 75 74 65 72 20 000B4
; 20 72 75 6F 79 20 6F 74 000BC
; 61 6D 20 6C 61 63 6F 6C 000C4
; 20 20 2E 65 6E 69 68 63 000CC
; 77 6F 64 20 74 75 68 53 000D4
; 65 73 20 65 68 74 20 6E 000DC
; 20 79 62 20 72 65 76 72 000E4
; 74 20 67 6E 69 70 79 74 000EC
; 68 000F4
.ASCII \e Kermit BYE\<0><0><0> ; 74 69 6D 72 65 4B 20 65 000F5
; 00 00 00 45 59 42 20 000FD
P.AAK: .LONG 17694797 ; 010E004D 00104
.ADDRESS P.AAL ; 00000000' 00108
P.AAN: .ASCII \ command on your local machine.\<0>
; 64 6E 61 6D 6D 6F 63 20 0010C
; 72 75 6F 79 20 6E 6F 20 00114
; 6D 20 6C 61 63 6F 6C 20 0011C
; 00 2E 65 6E 69 68 63 61 00124
P.AAM: .LONG 17694751 ; 010E001F 0012C
.ADDRESS P.AAN ; 00000000' 00130
P.AAP: .ASCII \ Type LOGOUT to return to VMS Kermit\
; 4F 4C 20 65 70 79 54 20 00134
; 20 6F 74 20 54 55 4F 47 0013C
; 74 20 6E 72 75 74 65 72 00144
; 65 4B 20 53 4D 56 20 6F 0014C
; 74 69 6D 72 00154
P.AAO: .LONG 17694756 ; 010E0024 00158
.ADDRESS P.AAP ; 00000000' 0015C
P.AAR: .ASCII \.COM;0\<0><0> ; 00 00 30 3B 4D 4F 43 2E 00160
P.AAQ: .LONG 17694726 ; 010E0006 00168
.ADDRESS P.AAR ; 00000000' 0016C
.PSECT $OWN$,NOEXE,2
;PID
U.1313: .LONG 0 ; 00000000 00304
U.1308= P.AAI
U.1309= P.AAK
U.1310= P.AAM
U.1311= P.AAO
.EXTRN FILE_OPEN, FILE_CLOSE
.PSECT $CODE$,NOWRT,2
;DO_COMND
U.5: .WORD ^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,- ;Save R2,R3,R4,R5,R6,R7,R8,R9,R10,- 2622 0FFC 00000
R11> ;R11
MOVAB G^FILE_SIZE, R11 ;FILE_SIZE, R11 5B 00000000G 00 9E 00002
MOVAB G^TERM_OPEN, R10 ;TERM_OPEN, R10 5A 00000000G 00 9E 00009
MOVAB G^U.1313, R9 ;U.1313, R9 59 00000000' 00 9E 00010
MOVAB -132(SP), SP ;-132(SP), SP 5E FF7C CE 9E 00017
MOVL #17694720, -140(R9) ;#17694720, TEMP_DESC 2673 FF74 C9 010E0000 8F D0 0001C
MOVAB -132(R9), -136(R9) ;TEMP_NAME, TEMP_DESC+4 FF78 C9 FF7C C9 9E 00025
CLRQ -728(R9) ;COMMAND 2674 FD28 C9 7C 0002C
CLRL (R11) ;FILE_SIZE 2677 6B D4 00030
CLRL G^ALT_FILE_SIZE ;ALT_FILE_SIZE 2678 00000000' 00 D4 00032
CLRL G^GEN_1SIZE ;GEN_1SIZE 2679 00000000G 00 D4 00038
CLRL G^GEN_2SIZE ;GEN_2SIZE 2680 00000000G 00 D4 0003E
CLRL G^GEN_3SIZE ;GEN_3SIZE 2681 00000000G 00 D4 00044
CLRL G^CONNECT_FLAG ;CONNECT_FLAG 2682 00000000G 00 D4 0004A
CLRQ -720(R9) ;REM_TYPE 2676 FD30 C9 7C 00050
MOVL 4(AP), R0 ;CMD_DESC, R0 2684 50 04 AC D0 00054
MOVZWL (R0), -764(R9) ;(R0), TPARSE_BLOCK+8 FD04 C9 60 3C 00058
MOVL 4(R0), -760(R9) ;4(R0), TPARSE_BLOCK+12 2685 FD08 C9 04 A0 D0 0005D
BICB2 #1, -768(R9) ;#1, TPARSE_BLOCK+4 2686 FD00 C9 01 8A 00063
PUSHAB G^KERMIT_KEY ;KERMIT_KEY 2687 00000000' 00 9F 00068
PUSHAB G^KERMIT_STATE ;KERMIT_STATE 00000000' 00 9F 0006E
PUSHAB -772(R9) ;TPARSE_BLOCK FCFC C9 9F 00074
CALLS #3, G^LIB$TPARSE ;#3, LIB$TPARSE 00000000G 00 03 FB 00078
MOVL R0, R6 ;R0, STATUS 56 50 D0 0007F
BLBC R6, 8$ ;STATUS, 8$ 2689 7C 56 E9 00082
MOVZWL G^FILE_DESC, (R11) ;FILE_DESC, FILE_SIZE 2692 6B 00000000G 00 3C 00085
CASEL -728(R9), #1, #18 ;COMMAND, #1, #18 2694 01 FD28 C9 CF 0008C
; 12 00091
1$: .WORD 5$-1$,- ;5$-1$,- 005F 0056 00092
6$-1$,- ;6$-1$,- 00C8 0098 00096
11$-1$,- ;11$-1$,- 0122 0207 0009A
18$-1$,- ;18$-1$,- 0189 01D4 0009E
36$-1$,- ;36$-1$,- 00A1 01DD 000A2
25$-1$,- ;25$-1$,- 0067 0026 000A6
29$-1$,- ;29$-1$,- 00D7 007D 000AA
28$-1$,- ;28$-1$,- 00EA 00E0 000AE
30$-1$,- ;30$-1$,- 01E6 0207 000B2
13$-1$,- ;13$-1$,- 0200 000B6
2$-1$,- ;2$-1$,-
7$-1$,- ;7$-1$,-
9$-1$,- ;9$-1$,-
19$-1$,- ;19$-1$,-
21$-1$,- ;21$-1$,-
23$-1$,- ;23$-1$,-
36$-1$,- ;36$-1$,-
32$-1$,- ;32$-1$,-
35$-1$ ;35$-1$
2$: PUSHL #1 ;#1 2700 01 DD 000B8
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 000BA
MOVL R0, R6 ;R0, STATUS 56 50 D0 000BD
BLBC R6, 14$ ;STATUS, 14$ 78 56 E9 000C0
BLBS G^CONNECT_FLAG, 3$ ;CONNECT_FLAG, 3$ 2704 0B 00000000G 00 E8 000C3
PUSHL #7 ;#7 07 DD 000CA
CALLS #1, G^DO_GENERIC ;#1, DO_GENERIC 00000000G 00 01 FB 000CC
BRB 4$ ;4$ 07 11 000D3
3$: MOVL #134316122, R6 ;#134316122, STATUS 56 0801805A 8F D0 000D5
4$: CALLS #0, G^TERM_CLOSE ;#0, TERM_CLOSE 2706 00000000G 00 00 FB 000DC
BLBS R6, 6$ ;STATUS, 6$ 2709 0B 56 E8 000E3
BRB 12$ ;12$ 49 11 000E6
5$: CALLS #0, G^TERM_CONNECT ;#0, TERM_CONNECT 2714 00000000G 00 00 FB 000E8
BRB 20$ ;20$ 7F 11 000EF
6$: MOVL #134316203, R0 ;#134316203, R0 2717 50 080180AB 8F D0 000F1
RET ; 04 000F8
7$: PUSHL #1 ;#1 2721 01 DD 000F9
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 000FB
MOVL R0, R6 ;R0, STATUS 56 50 D0 000FE
8$: BLBC R6, 22$ ;STATUS, 22$ 75 56 E9 00101
BLBS G^CONNECT_FLAG, 16$ ;CONNECT_FLAG, 16$ 2725 45 00000000G 00 E8 00104
PUSHL #1 ;#1 01 DD 0010B
BRB 15$ ;15$ 38 11 0010D
9$: PUSHL #1 ;#1 2732 01 DD 0010F
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 00111
MOVL R0, R6 ;R0, STATUS 56 50 D0 00114
BLBC R6, 22$ ;STATUS, 22$ 5F 56 E9 00117
BLBS G^CONNECT_FLAG, 16$ ;CONNECT_FLAG, 16$ 2736 2F 00000000G 00 E8 0011A
10$: CALLS #0, G^REC_SWITCH ;#0, REC_SWITCH 00000000G 00 00 FB 00121
BRB 17$ ;17$ 2D 11 00128
11$: CALLS #0, G^U.6 ;#0, U.6 2742 00000000V 00 00 FB 0012A
12$: BRB 22$ ;22$ 46 11 00131
13$: PUSHL #1 ;#1 2746 01 DD 00133
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 00135
MOVL R0, R6 ;R0, STATUS 56 50 D0 00138
14$: BLBC R6, 22$ ;STATUS, 22$ 3B 56 E9 0013B
BLBS G^CONNECT_FLAG, 16$ ;CONNECT_FLAG, 16$ 2750 0B 00000000G 00 E8 0013E
PUSHL #7 ;#7 07 DD 00145
15$: CALLS #1, G^DO_GENERIC ;#1, DO_GENERIC 00000000G 00 01 FB 00147
BRB 17$ ;17$ 07 11 0014E
16$: MOVL #134316122, R6 ;#134316122, STATUS 56 0801805A 8F D0 00150
17$: BRW 26$ ;26$ 2752 00AE 31 00157
18$: PUSHL #1 ;#1 2757 01 DD 0015A
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 0015C
MOVL R0, R6 ;R0, STATUS 56 50 D0 0015F
BLBC R6, 22$ ;STATUS, 22$ 14 56 E9 00162
CLRL (R11) ;FILE_SIZE 2760 6B D4 00165
BRB 10$ ;10$ 2761 B8 11 00167
19$: CALLS #0, G^U.9 ;#0, U.9 2766 00000000V 00 00 FB 00169
20$: BRB 22$ ;22$ 07 11 00170
21$: CALLS #0, G^U.10 ;#0, U.10 2769 00000000V 00 00 FB 00172
22$: BRW 36$ ;36$ 011D 31 00179
23$: PUSHAB G^U.1311 ;U.1311 2777 00000000' 00 9F 0017C
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 00182
TSTL (R9) ;PID 2779 69 D5 00189
BEQL 24$ ;24$ 11 13 0018B
PUSHL R9 ;R9 2782 59 DD 0018D
CALLS #1, G^LIB$ATTACH ;#1, LIB$ATTACH 00000000G 00 01 FB 0018F
MOVL R0, R6 ;R0, STATUS 56 50 D0 00196
BLBS R6, 24$ ;STATUS, 24$ 2784 02 56 E8 00199
CLRL (R9) ;PID 69 D4 0019C
24$: TSTL (R9) ;PID 2788 69 D5 0019E
BNEQ 22$ ;22$ D7 12 001A0
PUSHL R9 ;R9 2789 59 DD 001A2
CLRQ -(SP) ;-(SP) 7E 7C 001A4
CLRQ -(SP) ;-(SP) 7E 7C 001A6
CLRL -(SP) ;-(SP) 7E D4 001A8
CALLS #6, G^LIB$SPAWN ;#6, LIB$SPAWN 00000000G 00 06 FB 001AA
BRW 33$ ;33$ 00D9 31 001B1
25$: MOVL G^TY_FIL, R7 ;TY_FIL, SAVE_TY_FIL 2805 57 00000000G 00 D0 001B4
CLRL G^TY_FIL ;TY_FIL 2806 00000000G 00 D4 001BB
MOVL (R11), R0 ;FILE_SIZE, R0 2807 50 6B D0 001C1
MOVL R0, R8 ;R0, SAVE_FILE_SIZE 58 50 D0 001C4
MOVC3 R0, G^FILE_NAME, (SP) ;R0, FILE_NAME, SAVE_FILE_NAME 2810 00000000G 00 50 28 001C7
; 6E 001CE
CLRL -(SP) ;-(SP) 2812 7E D4 001CF
CALLS #1, G^FILE_OPEN ;#1, FILE_OPEN 00000000G 00 01 FB 001D1
BLBC R0, 27$ ;R0, 27$ 37 50 E9 001D8
MOVL R8, (R11) ;SAVE_FILE_SIZE, FILE_SIZE 2815 6B 58 D0 001DB
MOVC3 (R11), (SP), G^FILE_NAME ;FILE_SIZE, SAVE_FILE_NAME, - 2817 6E 6B 28 001DE
;FILE_NAME 00000000G 00 001E1
CLRL -(SP) ;-(SP) 2819 7E D4 001E6
CALLS #1, G^FILE_CLOSE ;#1, FILE_CLOSE 00000000G 00 01 FB 001E8
MOVL R7, G^TY_FIL ;SAVE_TY_FIL, TY_FIL 2820 00000000G 00 57 D0 001EF
PUSHL #1 ;#1 2822 01 DD 001F6
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 001F8
MOVL R0, R6 ;R0, STATUS 56 50 D0 001FB
BLBC R6, 31$ ;STATUS, 31$ 75 56 E9 001FE
CALLS #0, G^SEND_SWITCH ;#0, SEND_SWITCH 2825 00000000G 00 00 FB 00201
26$: CALLS #0, G^TERM_CLOSE ;#0, TERM_CLOSE 2826 00000000G 00 00 FB 00208
BRW 34$ ;34$ 007E 31 0020F
27$: MOVL R7, G^TY_FIL ;SAVE_TY_FIL, TY_FIL 2831 00000000G 00 57 D0 00212
BRB 34$ ;34$ 2694 75 11 00219
28$: PUSHAB G^U.1308 ;U.1308 2837 00000000' 00 9F 0021B
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 00221
PUSHAB G^U.1309 ;U.1309 2838 00000000' 00 9F 00228
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 0022E
PUSHAB G^U.1310 ;U.1310 2839 00000000' 00 9F 00235
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 0023B
PUSHL #1 ;#1 2841 01 DD 00242
CALLS #1, (R10) ;#1, TERM_OPEN 6A 01 FB 00244
MOVL R0, R6 ;R0, STATUS 56 50 D0 00247
BLBC R6, 36$ ;STATUS, 36$ 4C 56 E9 0024A
CALLS #0, G^SERVER ;#0, SERVER 2844 00000000G 00 00 FB 0024D
MOVL R0, R6 ;R0, STATUS 56 50 D0 00254
CALLS #0, G^TERM_CLOSE ;#0, TERM_CLOSE 2845 00000000G 00 00 FB 00257
MOVL #134316043, R0 ;#134316043, R0 2846 50 0801800B 8F D0 0025E
RET ; 04 00265
29$: CALLS #0, G^U.7 ;#0, U.7 2853 00000000V 00 00 FB 00266
BRB 36$ ;36$ 2A 11 0026D
30$: CALLS #0, G^U.8 ;#0, U.8 2856 00000000V 00 00 FB 0026F
31$: BRB 36$ ;36$ 21 11 00276
32$: PUSHL -716(R9) ;TAKE_DISPLAY 2859 FD34 C9 DD 00278
CLRL -(SP) ;-(SP) 7E D4 0027C
PUSHAB G^P.AAQ ;P.AAQ 00000000' 00 9F 0027E
PUSHAB -280(R9) ;TAK_FIL_DESC FEE8 C9 9F 00284
CALLS #4, W^U.4 ;#4, U.4 FB0D CF 04 FB 00288
33$: MOVL R0, R6 ;R0, STATUS 56 50 D0 0028D
34$: BRB 36$ ;36$ 07 11 00290
35$: CALLS #0, G^COMND_TRANSMIT ;#0, COMND_TRANSMIT 2862 00000000G 00 00 FB 00292
36$: MOVL R6, R0 ;STATUS, R0 2869 50 56 D0 00299
RET ; 04 0029C
; Routine Size: 669 bytes, Routine Base: $CODE$ + 03F5
; 2871 1 %SBTTL 'Command execution -- COMND_HELP'
; 2872 1 ROUTINE COMND_HELP : NOVALUE =
; 2873 1
; 2874 1 !++
; 2875 1 ! FUNCTIONAL DESCRIPTION:
; 2876 1 !
; 2877 1 ! This routine will do the HELP command processing for KERMIT. It
; 2878 1 ! will call the library routines.
; 2879 1 !
; 2880 1 ! CALLING SEQUENCE:
; 2881 1 !
; 2882 1 ! COMND_HELP();
; 2883 1 !
; 2884 1 ! INPUT PARAMETERS:
; 2885 1 !
; 2886 1 ! None.
; 2887 1 !
; 2888 1 ! IMPLICIT INPUTS:
; 2889 1 !
; 2890 1 ! None.
; 2891 1 !
; 2892 1 ! OUTPUT PARAMETERS:
; 2893 1 !
; 2894 1 ! None.
; 2895 1 !
; 2896 1 ! IMPLICIT OUTPUTS:
; 2897 1 !
; 2898 1 ! None.
; 2899 1 !
; 2900 1 ! COMPLETION CODES:
; 2901 1 !
; 2902 1 ! None.
; 2903 1 !
; 2904 1 ! SIDE EFFECTS:
; 2905 1 !
; 2906 1 ! None.
; 2907 1 !
; 2908 1 !--
; 2909 1
; 2910 2 BEGIN
; 2911 2
; 2912 2 LOCAL
; 2913 2 Help_File : VECTOR [2],
; 2914 2 STATUS : UNSIGNED LONG;
; 2915 2
; 2916 2 EXTERNAL ROUTINE
; 2917 2 LBR$OUTPUT_HELP : ADDRESSING_MODE (GENERAL);
; 2918 2
; 2919 2 !
; 2920 2 ! Do the help processing.
; 2921 2 !
; P 2922 2 Status = $TRNLNM(TABNAM = %ASCID 'LNM$FILE_DEV',
; 2923 2 LOGNAM = %ASCID 'KERMIT_HELP');
; 2924 2 IF .Status
; 2925 2 THEN
; 2926 3 BEGIN
; 2927 3 Help_File [0] = %CHARCOUNT(%ASCII 'KERMIT_HELP');
; 2928 3 Help_File [1] = UPLIT BYTE(%ASCII 'KERMIT_HELP');
; 2929 3 STATUS = LBR$OUTPUT_HELP (LIB$PUT_OUTPUT,
; 2930 3 0,
; 2931 3 TEMP_DESC,
; 2932 3 %ASCID'KERMIT_HELP',
; 2933 3 UPLIT (HLP$M_PROMPT +
; 2934 3 HLP$M_PROCESS +
; 2935 3 HLP$M_GROUP +
; 2936 3 HLP$M_SYSTEM),
; 2937 3 LIB$GET_INPUT);
; 2938 3 END
; 2939 2 ELSE
; 2940 3 BEGIN
; 2941 3 Help_File [0] = %CHARCOUNT(%ASCII 'KERMIT_HELP');
; 2942 3 Help_File [1] = UPLIT BYTE(%ASCII 'KERMIT_HELP');
; 2943 3 STATUS = LBR$OUTPUT_HELP (LIB$PUT_OUTPUT,
; 2944 3 0,
; 2945 3 TEMP_DESC,
; 2946 3 %ASCID'KERMIT',
; 2947 3 UPLIT (HLP$M_PROMPT +
; 2948 3 HLP$M_PROCESS +
; 2949 3 HLP$M_GROUP +
; 2950 3 HLP$M_SYSTEM),
; 2951 3 LIB$GET_INPUT);
; 2952 2 END;
; 2953 2
; 2954 2 IF NOT .STATUS THEN LIB$SIGNAL (.STATUS);
; 2955 2
; 2956 1 END;
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AAT: .ASCII \LNM$FILE_DEV\ ; 45 4C 49 46 24 4D 4E 4C 00170
; 56 45 44 5F 00178
P.AAS: .LONG 17694732 ; 010E000C 0017C
.ADDRESS P.AAT ; 00000000' 00180
P.AAV: .ASCII \KERMIT_HELP\<0> ; 48 5F 54 49 4D 52 45 4B 00184
; 00 50 4C 45 0018C
P.AAU: .LONG 17694731 ; 010E000B 00190
.ADDRESS P.AAV ; 00000000' 00194
P.AAW: .ASCII \KERMIT_HELP\ ; 48 5F 54 49 4D 52 45 4B 00198
; 50 4C 45 001A0
.BLKB 1 ; 001A3
P.AAY: .ASCII \KERMIT_HELP\<0> ; 48 5F 54 49 4D 52 45 4B 001A4
; 00 50 4C 45 001AC
P.AAX: .LONG 17694731 ; 010E000B 001B0
.ADDRESS P.AAY ; 00000000' 001B4
P.AAZ: .LONG 15 ; 0000000F 001B8
P.ABA: .ASCII \KERMIT_HELP\ ; 48 5F 54 49 4D 52 45 4B 001BC
; 50 4C 45 001C4
.BLKB 1 ; 001C7
P.ABC: .ASCII \KERMIT\<0><0> ; 00 00 54 49 4D 52 45 4B 001C8
P.ABB: .LONG 17694726 ; 010E0006 001D0
.ADDRESS P.ABC ; 00000000' 001D4
P.ABD: .LONG 15 ; 0000000F 001D8
.EXTRN LBR$OUTPUT_HELP, SYS$TRNLNM
.PSECT $CODE$,NOWRT,2
;COMND_HELP
U.6: .WORD ^M<R2,R3> ;Save R2,R3 2872 000C 00000
MOVAB G^LIB$GET_INPUT, R3 ;LIB$GET_INPUT, R3 53 00000000G 00 9E 00002
MOVAB G^P.AAU, R2 ;P.AAU, R2 52 00000000' 00 9E 00009
SUBL2 #8, SP ;#8, SP 5E 08 C2 00010
CLRQ -(SP) ;-(SP) 2923 7E 7C 00013
PUSHL R2 ;R2 52 DD 00015
PUSHAB -20(R2) ;P.AAS EC A2 9F 00017
CLRL -(SP) ;-(SP) 7E D4 0001A
CALLS #5, G^SYS$TRNLNM ;#5, SYS$TRNLNM 00000000G 00 05 FB 0001C
MOVL #11, (SP) ;#11, HELP_FILE 2927 6E 0B D0 00023
BLBC R0, 1$ ;STATUS, 1$ 2924 0F 50 E9 00026
MOVAB 8(R2), 4(SP) ;P.AAW, HELP_FILE+4 2928 04 AE 08 A2 9E 00029
PUSHL R3 ;R3 2937 53 DD 0002E
PUSHAB 40(R2) ;P.AAZ 2933 28 A2 9F 00030
PUSHAB 32(R2) ;P.AAX 2931 20 A2 9F 00033
BRB 2$ ;2$ 0D 11 00036
1$: MOVAB 44(R2), 4(SP) ;P.ABA, HELP_FILE+4 2942 04 AE 2C A2 9E 00038
PUSHL R3 ;R3 2951 53 DD 0003D
PUSHAB 72(R2) ;P.ABD 2947 48 A2 9F 0003F
PUSHAB 64(R2) ;P.ABB 2945 40 A2 9F 00042
2$: PUSHAB G^U.63 ;U.63 00000000' 00 9F 00045
CLRL -(SP) ;-(SP) 2944 7E D4 0004B
PUSHAB G^LIB$PUT_OUTPUT ;LIB$PUT_OUTPUT 2943 00000000G 00 9F 0004D
CALLS #6, G^LBR$OUTPUT_HELP ;#6, LBR$OUTPUT_HELP 00000000G 00 06 FB 00053
BLBS R0, 3$ ;STATUS, 3$ 2954 09 50 E8 0005A
PUSHL R0 ;STATUS 50 DD 0005D
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 0005F
3$: RET ; 2956 04 00066
; Routine Size: 103 bytes, Routine Base: $CODE$ + 0692
; 2957 1 %SBTTL 'Command execution -- Support routines -- OUTPUT_LONG_WORD'
; 2958 1 ROUTINE OUTPUT_LONG_WORD (MSG_ADDR, LONG_VALUE) : NOVALUE =
; 2959 1
; 2960 1 !++
; 2961 1 ! FUNCTIONAL DESCRIPTION:
; 2962 1 ! This routine is used to output the various long word parameters
; 2963 1 ! that are shown by the SHOW command. All text is defined in the level
; 2964 1 ! 0 of this program.
; 2965 1 !
; 2966 1 ! CALLING SEQUENCE:
; 2967 1 !
; 2968 1 ! OUTPUT_LONG_WORD( MSG_ASCID, LONG_WORD_VALUE_TO_OUTPUT);
; 2969 1 !
; 2970 1 ! INPUT PARAMETERS:
; 2971 1 !
; 2972 1 ! MSG_ASCID - %ASCID of the text to use for the $FAO call.
; 2973 1 !
; 2974 1 ! LONG_WORD_VALUE_TO_OUTPUT - Value of the long word to pass to the $FAO.
; 2975 1 !
; 2976 1 ! IMPLICIT INPUTS:
; 2977 1 !
; 2978 1 ! None.
; 2979 1 !
; 2980 1 ! OUTPUT PARAMETERS:
; 2981 1 !
; 2982 1 ! None.
; 2983 1 !
; 2984 1 ! IMPLICIT OUTPUTS:
; 2985 1 !
; 2986 1 ! None.
; 2987 1 !
; 2988 1 ! COMPLETION CODES:
; 2989 1 !
; 2990 1 ! None.
; 2991 1 !
; 2992 1 ! SIDE EFFECTS:
; 2993 1 !
; 2994 1 ! None.
; 2995 1 !
; 2996 1 !--
; 2997 1
; 2998 2 BEGIN
; 2999 2
; 3000 2 MAP
; 3001 2 LONG_VALUE : LONG UNSIGNED,
; 3002 2 MSG_ADDR : LONG UNSIGNED;
; 3003 2
; 3004 2 LOCAL
; 3005 2 STATUS : UNSIGNED; ! Status return by LIB$xxx
; 3006 2
; 3007 2 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; 3008 2 $FAO (.MSG_ADDR, OUTPUT_SIZE, OUTPUT_DESC, .LONG_VALUE);
; 3009 2 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3010 2 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3011 1 END;
.EXTRN SYS$FAO
;OUTPUT_LONG_WORD
U.1314: .WORD ^M<R2> ;Save R2 2958 0004 00000
MOVAB G^U.54, R2 ;U.54, R2 52 00000000' 00 9E 00002
MOVL #17694800, (R2) ;#17694800, OUTPUT_DESC 3007 62 010E0050 8F D0 00009
MOVAB -80(R2), 4(R2) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A2 B0 A2 9E 00010
PUSHL 8(AP) ;LONG_VALUE 3008 08 AC DD 00015
PUSHL R2 ;R2 52 DD 00018
PUSHAB 8(R2) ;OUTPUT_SIZE 08 A2 9F 0001A
PUSHL 4(AP) ;MSG_ADDR 04 AC DD 0001D
CALLS #4, G^SYS$FAO ;#4, SYS$FAO 00000000G 00 04 FB 00020
MOVW 8(R2), (R2) ;OUTPUT_SIZE, OUTPUT_DESC 3009 62 08 A2 B0 00027
PUSHL R2 ;R2 3010 52 DD 0002B
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 0002D
RET ; 3011 04 00034
; Routine Size: 53 bytes, Routine Base: $CODE$ + 06F9
; 3012 1 %SBTTL 'Command Execution -- COMND_REMOTE'
; 3013 1 ROUTINE COMND_REMOTE : NOVALUE =
; 3014 1
; 3015 1 !++
; 3016 1 ! FUNCTIONAL DESCRIPTION:
; 3017 1 !
; 3018 1 ! This routine will handle the REMOTE commands. It will call KERMSG
; 3019 1 !to perform the command.
; 3020 1 !
; 3021 1 ! CALLING SEQUENCE:
; 3022 1 !
; 3023 1 ! COMND_REMOTE ();
; 3024 1 !
; 3025 1 ! INPUT PARAMETERS:
; 3026 1 !
; 3027 1 ! None.
; 3028 1 !
; 3029 1 ! IMPLICIT INPUTS:
; 3030 1 !
; 3031 1 ! REM_TYPE - type of command to be executed
; 3032 1 ! GEN_xDATA/GEN_xSIZE - arguments for the commands
; 3033 1 !
; 3034 1 ! OUPTUT PARAMETERS:
; 3035 1 !
; 3036 1 ! None.
; 3037 1 !
; 3038 1 ! IMPLICIT OUTPUTS:
; 3039 1 !
; 3040 1 ! None.
; 3041 1 !
; 3042 1 ! COMPLETION CODES:
; 3043 1 !
; 3044 1 ! None.
; 3045 1 !
; 3046 1 ! SIDE EFFECTS:
; 3047 1 !
; 3048 1 ! None.
; 3049 1 !
; 3050 1 !--
; 3051 1
; 3052 2 BEGIN
; 3053 2
; 3054 2 IF GET_REM_ARGS (FALSE)
; 3055 2 THEN
; 3056 2
; 3057 2 IF TERM_OPEN (TRUE) ! Open the terminal to determine if local
; 3058 2 THEN
; 3059 3 BEGIN
; 3060 3
; 3061 3 IF NOT .CONNECT_FLAG
; 3062 3 THEN DO_GENERIC (.REM_TYPE)
; 3063 3 ELSE LIB$SIGNAL (KER_LOCONLY);
; 3064 3
; 3065 3 TERM_CLOSE ();
; 3066 2 END;
; 3067 2
; 3068 1 END; ! End of COMND_REMOTE
;COMND_REMOTE
U.9: .WORD ^M<> ;Save nothing 3013 0000 00000
CLRL -(SP) ;-(SP) 3054 7E D4 00002
CALLS #1, G^U.11 ;#1, U.11 00000000V 00 01 FB 00004
BLBC R0, 3$ ;R0, 3$ 36 50 E9 0000B
PUSHL #1 ;#1 3057 01 DD 0000E
CALLS #1, G^TERM_OPEN ;#1, TERM_OPEN 00000000G 00 01 FB 00010
BLBC R0, 3$ ;R0, 3$ 2A 50 E9 00017
BLBS G^CONNECT_FLAG, 1$ ;CONNECT_FLAG, 1$ 3061 0F 00000000G 00 E8 0001A
PUSHL G^U.51 ;U.51 3062 00000000' 00 DD 00021
CALLS #1, G^DO_GENERIC ;#1, DO_GENERIC 00000000G 00 01 FB 00027
BRB 2$ ;2$ 0D 11 0002E
1$: PUSHL #134316122 ;#134316122 3063 0801805A 8F DD 00030
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 00036
2$: CALLS #0, G^TERM_CLOSE ;#0, TERM_CLOSE 3065 00000000G 00 00 FB 0003D
3$: RET ; 3068 04 00044
; Routine Size: 69 bytes, Routine Base: $CODE$ + 072E
; 3069 1 %SBTTL 'Command Execution -- COMND_LOCAL'
; 3070 1 ROUTINE COMND_LOCAL : NOVALUE =
; 3071 1
; 3072 1 !++
; 3073 1 ! FUNCTIONAL DESCRIPTION:
; 3074 1 !
; 3075 1 ! This routine will handle the LOCAL commands. It will call the generic
; 3076 1 !command processor to perform the command, and type the result.
; 3077 1 !
; 3078 1 ! CALLING SEQUENCE:
; 3079 1 !
; 3080 1 ! COMND_LOCAL ();
; 3081 1 !
; 3082 1 ! INPUT PARAMETERS:
; 3083 1 !
; 3084 1 ! None.
; 3085 1 !
; 3086 1 ! IMPLICIT INPUTS:
; 3087 1 !
; 3088 1 ! REM_TYPE - type of command to be executed
; 3089 1 ! GEN_xDATA/GEN_xSIZE - arguments for the commands
; 3090 1 !
; 3091 1 ! OUPTUT PARAMETERS:
; 3092 1 !
; 3093 1 ! None.
; 3094 1 !
; 3095 1 ! IMPLICIT OUTPUTS:
; 3096 1 !
; 3097 1 ! None.
; 3098 1 !
; 3099 1 ! COMPLETION CODES:
; 3100 1 !
; 3101 1 ! None.
; 3102 1 !
; 3103 1 ! SIDE EFFECTS:
; 3104 1 !
; 3105 1 ! None.
; 3106 1 !
; 3107 1 !--
; 3108 1
; 3109 2 BEGIN
; 3110 2
; 3111 2 LOCAL
; 3112 2 SAVED_TY_FIL, ! Saved value from TY_FIL
; 3113 2 STATUS, ! Status values
; 3114 2 FILE_FLAG, ! Flag whether file is open
; 3115 2 CHARACTER, ! Character from get-a-char routine
; 3116 2 STR_LENGTH, ! Length of string
; 3117 2 STR_ADDRESS, ! Address of string
; 3118 2 GET_CHR_RTN; ! Address of routine to get a character
; 3119 2
; 3120 2 EXTERNAL ROUTINE
; 3121 2 SY_GENERIC, ! Do a generic command
; 3122 2 GET_FILE, ! Get a character from a file
; 3123 2 FILE_OPEN, ! Open a file
; 3124 2 FILE_CLOSE; ! Close a file
; 3125 2
; 3126 2 !
; 3127 2 ! First get any extra arguments needed
; 3128 2 !
; 3129 2 STATUS = GET_REM_ARGS (TRUE);
; 3130 2
; 3131 2 IF NOT .STATUS THEN RETURN;
; 3132 2
; 3133 2 !
; 3134 2 ! Initialize arguments for SY_GENERIC
; 3135 2 !
; 3136 2 GET_CHR_RTN = 0; ! No routine
; 3137 2 STR_LENGTH = 0; ! No length
; 3138 2 STR_ADDRESS = 0; ! No address
; 3139 2 !
; 3140 2 ! Have generic routine do the command
; 3141 2 !
; 3142 2 STATUS = SY_GENERIC (.REM_TYPE, STR_ADDRESS, STR_LENGTH, GET_CHR_RTN);
; 3143 2
; 3144 2 IF NOT .STATUS
; 3145 2 THEN
; 3146 2 LIB$SIGNAL (.STATUS)
; 3147 2 ELSE
; 3148 3 BEGIN
; 3149 3 !
; 3150 3 ! If we got a string, type it out
; 3151 3 !
; 3152 3
; 3153 3 IF .STR_LENGTH NEQ 0
; 3154 3 THEN
; 3155 4 BEGIN
; 3156 4
; 3157 4 LOCAL
; 3158 4 POINTER;
; 3159 4
; 3160 4 POINTER = CH$PTR (.STR_ADDRESS);
; 3161 4
; 3162 4 DECR I FROM .STR_LENGTH TO 1 DO
; 3163 4 TT_CHAR (CH$RCHAR_A (POINTER));
; 3164 4
; 3165 4 TT_CRLF (); ! Make sure it gets dumped
; 3166 4 END
; 3167 3 ELSE
; 3168 3 !
; 3169 3 ! Here if we didn't get a string. Either we need to call the supplied routine
; 3170 3 ! or open a file and call GET_FILE for each character.
; 3171 3 !
; 3172 4 BEGIN
; 3173 4
; 3174 4 IF .GET_CHR_RTN NEQ 0
; 3175 4 THEN
; 3176 4 FILE_FLAG = FALSE ! No file open
; 3177 4 ELSE
; 3178 5 BEGIN
; 3179 5 FILE_FLAG = TRUE; ! Have a file
; 3180 5 GET_CHR_RTN = GET_FILE; ! This is our get-a-char routine
; 3181 5 SAVED_TY_FIL = .TY_FIL; ! Save current type out flag
; 3182 5 TY_FIL = FALSE; ! Make sure we don't have name typed
; 3183 5 STATUS = FILE_OPEN (FNC_READ); ! Open the file
; 3184 5 TY_FIL = .SAVED_TY_FIL; ! Restore type out value
; 3185 5
; 3186 5 IF NOT .STATUS ! If we couldn't open the file
; 3187 5 THEN
; 3188 5 RETURN; ! Just return, (FILE_OPEN reported it)
; 3189 5
; 3190 4 END;
; 3191 4
; 3192 4 DO
; 3193 5 BEGIN
; 3194 5 STATUS = (.GET_CHR_RTN) (CHARACTER); ! Get a character
; 3195 5
; 3196 5 IF .STATUS AND NOT .STATUS EQL KER_EOF ! Did we get one?
; 3197 5 THEN
; 3198 5 TT_CHAR (.CHARACTER) ! Yes, type it
; 3199 5 ELSE
; 3200 5 !
; 3201 5 ! If no character returned, check for EOF and close file if we opened it
; 3202 5 !
; 3203 5
; 3204 5 IF .STATUS EQL KER_EOF AND .FILE_FLAG THEN FILE_CLOSE ();
; 3205 5
; 3206 5 END
; 3207 4 UNTIL NOT .STATUS OR .STATUS EQL KER_EOF; ! Loop until we are done
; 3208 4
; 3209 4 TT_OUTPUT (); ! Force out last buffer
; 3210 3 END;
; 3211 3
; 3212 2 END;
; 3213 2
; 3214 1 END; ! End of COMND_LOCAL
.EXTRN SY_GENERIC, GET_FILE
;COMND_LOCAL
U.10: .WORD ^M<R2,R3,R4,R5,R6> ;Save R2,R3,R4,R5,R6 3070 007C 00000
MOVAB G^TT_CHAR, R6 ;TT_CHAR, R6 56 00000000G 00 9E 00002
MOVAB G^TY_FIL, R5 ;TY_FIL, R5 55 00000000G 00 9E 00009
SUBL2 #16, SP ;#16, SP 5E 10 C2 00010
PUSHL #1 ;#1 3129 01 DD 00013
CALLS #1, G^U.11 ;#1, U.11 00000000V 00 01 FB 00015
MOVL R0, R4 ;R0, STATUS 54 50 D0 0001C
BLBC R4, 6$ ;STATUS, 6$ 3131 71 54 E9 0001F
CLRQ (SP) ;GET_CHR_RTN 3136 6E 7C 00022
CLRL 8(SP) ;STR_ADDRESS 3138 08 AE D4 00024
PUSHL SP ;SP 3142 5E DD 00027
PUSHAB 8(SP) ;STR_LENGTH 08 AE 9F 00029
PUSHAB 16(SP) ;STR_ADDRESS 10 AE 9F 0002C
PUSHL G^U.51 ;U.51 00000000' 00 DD 0002F
CALLS #4, G^SY_GENERIC ;#4, SY_GENERIC 00000000G 00 04 FB 00035
MOVL R0, R4 ;R0, STATUS 54 50 D0 0003C
BLBS R4, 1$ ;STATUS, 1$ 3144 0A 54 E8 0003F
PUSHL R4 ;STATUS 3146 54 DD 00042
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 00044
RET ; 04 0004B
1$: TSTL 4(SP) ;STR_LENGTH 3153 04 AE D5 0004C
BEQL 4$ ;4$ 1C 13 0004F
MOVL 8(SP), R3 ;STR_ADDRESS, POINTER 3160 53 08 AE D0 00051
ADDL3 #1, 4(SP), R2 ;#1, STR_LENGTH, I 3162 04 AE 01 C1 00055
; 52 00059
BRB 3$ ;3$ 06 11 0005A
2$: MOVZBL (R3)+, -(SP) ;(POINTER)+, -(SP) 3163 7E 83 9A 0005C
CALLS #1, (R6) ;#1, TT_CHAR 66 01 FB 0005F
3$: SOBGTR R2, 2$ ;I, 2$ F7 52 F5 00062
CALLS #0, G^TT_CRLF ;#0, TT_CRLF 3165 00000000G 00 00 FB 00065
RET ; 04 0006C
4$: TSTL (SP) ;GET_CHR_RTN 3174 6E D5 0006D
BEQL 5$ ;5$ 04 13 0006F
CLRL R3 ;FILE_FLAG 3176 53 D4 00071
BRB 7$ ;7$ 21 11 00073
5$: MOVL #1, R3 ;#1, FILE_FLAG 3179 53 01 D0 00075
MOVAB G^GET_FILE, (SP) ;GET_FILE, GET_CHR_RTN 3180 6E 00000000G 00 9E 00078
MOVL (R5), R2 ;TY_FIL, SAVED_TY_FIL 3181 52 65 D0 0007F
CLRL (R5) ;TY_FIL 3182 65 D4 00082
CLRL -(SP) ;-(SP) 3183 7E D4 00084
CALLS #1, G^FILE_OPEN ;#1, FILE_OPEN 00000000G 00 01 FB 00086
MOVL R0, R4 ;R0, STATUS 54 50 D0 0008D
MOVL R2, (R5) ;SAVED_TY_FIL, TY_FIL 3184 65 52 D0 00090
6$: BLBC R4, 11$ ;STATUS, 11$ 3186 44 54 E9 00093
7$: PUSHAB 12(SP) ;CHARACTER 3194 0C AE 9F 00096
CALLS #1, @4(SP) ;#1, @GET_CHR_RTN 04 BE 01 FB 00099
MOVL R0, R4 ;R0, STATUS 54 50 D0 0009D
BLBC R4, 8$ ;STATUS, 8$ 3196 11 54 E9 000A0
CMPL R4, #134316131 ;STATUS, #134316131 08018063 8F 54 D1 000A3
BEQL 8$ ;8$ 08 13 000AA
PUSHL 12(SP) ;CHARACTER 3198 0C AE DD 000AC
CALLS #1, (R6) ;#1, TT_CHAR 66 01 FB 000AF
BRB 9$ ;9$ 13 11 000B2
8$: CMPL R4, #134316131 ;STATUS, #134316131 3204 08018063 8F 54 D1 000B4
BNEQ 9$ ;9$ 0A 12 000BB
BLBC R3, 9$ ;FILE_FLAG, 9$ 07 53 E9 000BD
CALLS #0, G^FILE_CLOSE ;#0, FILE_CLOSE 00000000G 00 00 FB 000C0
9$: BLBC R4, 10$ ;STATUS, 10$ 3207 09 54 E9 000C7
CMPL R4, #134316131 ;STATUS, #134316131 08018063 8F 54 D1 000CA
BNEQ 7$ ;7$ C3 12 000D1
10$: CALLS #0, G^TT_OUTPUT ;#0, TT_OUTPUT 3209 00000000G 00 00 FB 000D3
11$: RET ; 3214 04 000DA
; Routine Size: 219 bytes, Routine Base: $CODE$ + 0773
; 3215 1 %SBTTL 'Command execution -- COMND_SHOW'
; 3216 1 ROUTINE COMND_SHOW : NOVALUE =
; 3217 1
; 3218 1 !++
; 3219 1 ! FUNCTIONAL DESCRIPTION:
; 3220 1 !
; 3221 1 ! This routine will process the SHOW command. This routine
; 3222 1 ! expects that the command has already been processed and that
; 3223 1 ! the type of SHOW command is stored in SHOW_TYPE.
; 3224 1 !
; 3225 1 ! CALLING SEQUENCE:
; 3226 1 !
; 3227 1 ! COMND_SHOW();
; 3228 1 !
; 3229 1 ! INPUT PARAMETERS:
; 3230 1 !
; 3231 1 ! None.
; 3232 1 !
; 3233 1 ! IMPLICIT INPUTS:
; 3234 1 !
; 3235 1 ! None.
; 3236 1 !
; 3237 1 ! OUTPUT PARAMETERS:
; 3238 1 !
; 3239 1 ! None.
; 3240 1 !
; 3241 1 ! IMPLICIT OUTPUTS:
; 3242 1 !
; 3243 1 ! None.
; 3244 1 !
; 3245 1 ! COMPLETION CODES:
; 3246 1 !
; 3247 1 ! None.
; 3248 1 !
; 3249 1 ! SIDE EFFECTS:
; 3250 1 !
; 3251 1 ! None.
; 3252 1 !
; 3253 1 !--
; 3254 1
; 3255 2 BEGIN
; 3256 2
; 3257 2 LOCAL
; 3258 2 STATUS : WORD; ! Status returned
; 3259 2
; 3260 2 ! Bind some addresses to text
; 3261 2
; 3262 2 BIND
; 3263 2 OFF_TEXT = %ASCID'OFF', ! Item is off
; 3264 2 ON_TEXT = %ASCID'ON', ! Item is on
; 3265 2 SHOW_ABT_MSG = %ASCID' Incomplete file disposition !AS',
; 3266 2 ABT_DISCARD = %ASCID'Discard',
; 3267 2 ABT_KEEP = %ASCID'Keep',
; 3268 2 SHOW_CHK_MSG = %ASCID' Block check type !AS',
; 3269 2 CHK_1CHAR_MSG = %ASCID'One character checksum',
; 3270 2 CHK_2CHAR_MSG = %ASCID'Two character checksum',
; 3271 2 CHK_CRC_MSG = %ASCID'Three character CRC-CCITT',
; 3272 2 SHOW_DEB_MSG = %ASCID' Debugging !AS',
; 3273 2 SHOW_DEL_MSG = %ASCID' Delay !ZL (sec)',
; 3274 2 SHOW_SRV_MSG = %ASCID' Server sends NAKs every !ZL seconds while waiting for a command',
; 3275 2 SHOW_ESC_MSG = %ASCID' Escape character !3OL (octal)',
; 3276 2 SHOW_FTP_MSG = %ASCID' File type !AS',
; 3277 2 SHOW_BLK_MSG = %ASCID' BINARY and FIXED record size !UL (bytes)',
; 3278 2 FTP_ASCII = %ASCID'ASCII',
; 3279 2 FTP_BINARY = %ASCID'BINARY',
; 3280 2 FTP_BLOCK = %ASCID'BLOCK',
; 3281 2 FTP_FIXED = %ASCID'FIXED',
; 3282 2 SHOW_FNM_MSG = %ASCID' File naming !AS',
; 3283 2 FNM_MSG_FULL = %ASCID'Full file specifcation',
; 3284 2 FNM_MSG_NORMAL = %ASCID'Normal form',
; 3285 2 FNM_MSG_UNTRAN = %ASCID'Untranslated',
; 3286 2 ! SHOW_IBM_MSG = %ASCID' IBM mode !AS',
; 3287 2 SHOW_HAN_MSG = %ASCID' Handshaking character !3OL (octal)',
; 3288 2 SHOW_HAN_MSG_NONE = %ASCID' Handshaking character None',
; 3289 2 SHOW_LIN_MSG = %ASCID' Line used !AS',
; 3290 2 SHOW_ECH_MSG = %ASCID' Local echo !AS',
; 3291 2 SHOW_PAR_MSG = %ASCID' Parity type !AS',
; 3292 2 PAR_EVEN = %ASCID'Even',
; 3293 2 PAR_ODD = %ASCID'Odd',
; 3294 2 PAR_MARK = %ASCID'Mark',
; 3295 2 PAR_SPACE = %ASCID'Space',
; 3296 2 PAR_NONE = %ASCID'None',
; 3297 2 SHOW_RTY_HDR = %ASCID' Retry maximums',
; 3298 2 SHOW_RTY_INI_MSG = %ASCID' Initial connection !ZL (dec)',
; 3299 2 SHOW_RTY_PKT_MSG = %ASCID' Sending a packet !ZL (dec)',
; 3300 2 SHOW_REC_HDR = %ASCID' Receive parameters',
; 3301 2 SHOW_SND_HDR = %ASCID' Send parameters',
; 3302 2 SHOW_PKT_MSG = %ASCID' Packet length !ZL (dec)',
; 3303 2 SHOW_PAD_MSG = %ASCID' Padding length !ZL (dec)',
; 3304 2 SHOW_PDC_MSG = %ASCID' Padding character !3OL (octal)',
; 3305 2 SHOW_TIM_MSG = %ASCID' Time out !ZL (sec)',
; 3306 2 SHOW_EOL_MSG = %ASCID' End of line character !3OL (octal)',
; 3307 2 SHOW_QUO_MSG = %ASCID' Quoting character !3OL (octal)',
; 3308 2 SHOW_SOH_MSG = %ASCID' Start of packet !3OL (octal)',
; 3309 2 SHOW_8QU_MSG = %ASCID' 8-bit quoting character !3OL (octal)',
; 3310 2 SHOW_TRN_HDR = %ASCID' Transmit parameters', !
; 3311 2 SHOW_TRD_MSG = %ASCID' Delay 0.!AD (sec)', !
; 3312 2 SHOW_TRE_MSG = %ASCID' Echo !AS', !
; 3313 2 SHOW_RPT_MSG = %ASCID' Repeat quoting character !3OL (octal)';
; 3314 2
; 3315 2 !++
; 3316 2 ! FUNCTIONAL DESCRIPTION:
; 3317 2 !
; 3318 2 ! This routine is used to output the keywords TRUE or FALSE.
; 3319 2 ! All text that this routine uses is defined in the level 0 BEGIN/END
; 3320 2 ! of the program.
; 3321 2 !
; 3322 2 ! CALLING SEQUENCE:
; 3323 2 !
; 3324 2 ! OUTPUT_TRUE_FALSE( MSG_ASCID, FLAG_WORD);
; 3325 2 !
; 3326 2 ! INPUT PARAMETERS:
; 3327 2 !
; 3328 2 ! MSG_ASCID - %ASCID of the text to use for the $FAO call.
; 3329 2 !
; 3330 2 ! FLAG_WORD - Long word containing the value of either TRUE or FALSE.
; 3331 2 !
; 3332 2 ! IMPLICIT INPUTS:
; 3333 2 !
; 3334 2 ! None.
; 3335 2 !
; 3336 2 ! OUTPUT PARAMETERS:
; 3337 2 !
; 3338 2 ! None.
; 3339 2 !
; 3340 2 ! IMPLICIT OUTPUTS:
; 3341 2 !
; 3342 2 ! None.
; 3343 2 !
; 3344 2 ! COMPLETION CODES:
; 3345 2 !
; 3346 2 ! None.
; 3347 2 !
; 3348 2 ! SIDE EFFECTS:
; 3349 2 !
; 3350 2 ! None.
; 3351 2 !
; 3352 2 !--
; 3353 2
; 3354 2 ROUTINE OUTPUT_TRUE_FALSE (MSG_ADDR, FLAG_ADDR) : NOVALUE =
; 3355 3 BEGIN
; 3356 3
; 3357 3 MAP
; 3358 3 FLAG_ADDR : LONG UNSIGNED,
; 3359 3 MSG_ADDR : LONG UNSIGNED;
; 3360 3
; 3361 3 LOCAL
; 3362 3 STATUS : UNSIGNED; ! Status return by LIB$xxx
; 3363 3
; 3364 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; P 3365 3 $FAO (.MSG_ADDR, OUTPUT_SIZE, OUTPUT_DESC,
; P 3366 3 (SELECTONE ..FLAG_ADDR OF
; P 3367 3 SET
; P 3368 3 [TRUE] : ON_TEXT;
; P 3369 3 [FALSE] : OFF_TEXT;
; 3370 3 TES));
; 3371 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3372 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3373 2 END;
.PSECT $PLIT$,NOWRT,NOEXE,2
P.ABF: .ASCII \OFF\<0> ; 00 46 46 4F 001DC
P.ABE: .LONG 17694723 ; 010E0003 001E0
.ADDRESS P.ABF ; 00000000' 001E4
P.ABH: .ASCII \ON\<0><0> ; 00 00 4E 4F 001E8
P.ABG: .LONG 17694722 ; 010E0002 001EC
.ADDRESS P.ABH ; 00000000' 001F0
P.ABJ: .ASCII \ Incomplete file disposition\<9>\!AS\
; 6C 70 6D 6F 63 6E 49 20 001F4
; 65 6C 69 66 20 65 74 65 001FC
; 69 73 6F 70 73 69 64 20 00204
; 53 41 21 09 6E 6F 69 74 0020C
P.ABI: .LONG 17694752 ; 010E0020 00214
.ADDRESS P.ABJ ; 00000000' 00218
P.ABL: .ASCII \Discard\<0> ; 00 64 72 61 63 73 69 44 0021C
P.ABK: .LONG 17694727 ; 010E0007 00224
.ADDRESS P.ABL ; 00000000' 00228
P.ABN: .ASCII \Keep\ ; 70 65 65 4B 0022C
P.ABM: .LONG 17694724 ; 010E0004 00230
.ADDRESS P.ABN ; 00000000' 00234
P.ABP: .ASCII \ Block check type\<9><9>\!AS\<0><0>
; 63 20 6B 63 6F 6C 42 20 00238
; 70 79 74 20 6B 63 65 68 00240
; 00 00 53 41 21 09 09 65 00248
P.ABO: .LONG 17694742 ; 010E0016 00250
.ADDRESS P.ABP ; 00000000' 00254
P.ABR: .ASCII \One character checksum\<0><0> ; 72 61 68 63 20 65 6E 4F 00258
; 68 63 20 72 65 74 63 61 00260
; 00 00 6D 75 73 6B 63 65 00268
P.ABQ: .LONG 17694742 ; 010E0016 00270
.ADDRESS P.ABR ; 00000000' 00274
P.ABT: .ASCII \Two character checksum\<0><0> ; 72 61 68 63 20 6F 77 54 00278
; 68 63 20 72 65 74 63 61 00280
; 00 00 6D 75 73 6B 63 65 00288
P.ABS: .LONG 17694742 ; 010E0016 00290
.ADDRESS P.ABT ; 00000000' 00294
P.ABV: .ASCII \Three character CRC-CCITT\<0><0><0>
; 68 63 20 65 65 72 68 54 00298
; 20 72 65 74 63 61 72 61 002A0
; 54 49 43 43 2D 43 52 43 002A8
; 00 00 00 54 002B0
P.ABU: .LONG 17694745 ; 010E0019 002B4
.ADDRESS P.ABV ; 00000000' 002B8
P.ABX: .ASCII \ Debugging\<9><9><9>\!AS\ ; 69 67 67 75 62 65 44 20 002BC
; 53 41 21 09 09 09 67 6E 002C4
P.ABW: .LONG 17694736 ; 010E0010 002CC
.ADDRESS P.ABX ; 00000000' 002D0
P.ABZ: .ASCII \ Delay\<9><9><9><9>\!ZL (sec)\<0>
; 09 09 79 61 6C 65 44 20 002D4
; 73 28 20 4C 5A 21 09 09 002DC
; 00 29 63 65 002E4
P.ABY: .LONG 17694739 ; 010E0013 002E8
.ADDRESS P.ABZ ; 00000000' 002EC
P.ACB: .ASCII \ Server sends NAKs every !ZL seconds while waiting for a command\
; 20 72 65 76 72 65 53 20 002F0
; 41 4E 20 73 64 6E 65 73 002F8
; 79 72 65 76 65 20 73 4B 00300
; 63 65 73 20 4C 5A 21 20 00308
; 69 68 77 20 73 64 6E 6F 00310
; 69 74 69 61 77 20 65 6C 00318
; 61 20 72 6F 66 20 67 6E 00320
; 64 6E 61 6D 6D 6F 63 20 00328
P.ACA: .LONG 17694784 ; 010E0040 00330
.ADDRESS P.ACB ; 00000000' 00334
P.ACD: .ASCII \ Escape character\<9><9>\!3OL (octal)\<0>
; 20 65 70 61 63 73 45 20 00338
; 65 74 63 61 72 61 68 63 00340
; 20 4C 4F 33 21 09 09 72 00348
; 00 29 6C 61 74 63 6F 28 00350
P.ACC: .LONG 17694751 ; 010E001F 00358
.ADDRESS P.ACD ; 00000000' 0035C
P.ACF: .ASCII \ File type\<9><9><9>\!AS\ ; 79 74 20 65 6C 69 46 20 00360
; 53 41 21 09 09 09 65 70 00368
P.ACE: .LONG 17694736 ; 010E0010 00370
.ADDRESS P.ACF ; 00000000' 00374
P.ACH: .ASCII \ BINARY and FIXED record size !UL (bytes)\<0>
; 20 59 52 41 4E 49 42 20 00378
; 45 58 49 46 20 64 6E 61 00380
; 64 72 6F 63 65 72 20 44 00388
; 20 20 20 65 7A 69 73 20 00390
; 74 79 62 28 20 4C 55 21 00398
; 00 29 73 65 003A0
P.ACG: .LONG 17694763 ; 010E002B 003A4
.ADDRESS P.ACH ; 00000000' 003A8
P.ACJ: .ASCII \ASCII\<0><0><0> ; 00 00 00 49 49 43 53 41 003AC
P.ACI: .LONG 17694725 ; 010E0005 003B4
.ADDRESS P.ACJ ; 00000000' 003B8
P.ACL: .ASCII \BINARY\<0><0> ; 00 00 59 52 41 4E 49 42 003BC
P.ACK: .LONG 17694726 ; 010E0006 003C4
.ADDRESS P.ACL ; 00000000' 003C8
P.ACN: .ASCII \BLOCK\<0><0><0> ; 00 00 00 4B 43 4F 4C 42 003CC
P.ACM: .LONG 17694725 ; 010E0005 003D4
.ADDRESS P.ACN ; 00000000' 003D8
P.ACP: .ASCII \FIXED\<0><0><0> ; 00 00 00 44 45 58 49 46 003DC
P.ACO: .LONG 17694725 ; 010E0005 003E4
.ADDRESS P.ACP ; 00000000' 003E8
P.ACR: .ASCII \ File naming\<9><9><9>\!AS\<0><0>
; 61 6E 20 65 6C 69 46 20 003EC
; 21 09 09 09 67 6E 69 6D 003F4
; 00 00 53 41 003FC
P.ACQ: .LONG 17694738 ; 010E0012 00400
.ADDRESS P.ACR ; 00000000' 00404
P.ACT: .ASCII \Full file specifcation\<0><0> ; 6C 69 66 20 6C 6C 75 46 00408
; 66 69 63 65 70 73 20 65 00410
; 00 00 6E 6F 69 74 61 63 00418
P.ACS: .LONG 17694742 ; 010E0016 00420
.ADDRESS P.ACT ; 00000000' 00424
P.ACV: .ASCII \Normal form\<0> ; 66 20 6C 61 6D 72 6F 4E 00428
; 00 6D 72 6F 00430
P.ACU: .LONG 17694731 ; 010E000B 00434
.ADDRESS P.ACV ; 00000000' 00438
P.ACX: .ASCII \Untranslated\ ; 6C 73 6E 61 72 74 6E 55 0043C
; 64 65 74 61 00444
P.ACW: .LONG 17694732 ; 010E000C 00448
.ADDRESS P.ACX ; 00000000' 0044C
P.ACZ: .ASCII \ Handshaking character\<9><9>\!3OL (octal)\
; 61 68 73 64 6E 61 48 20 00450
; 61 68 63 20 67 6E 69 6B 00458
; 09 09 72 65 74 63 61 72 00460
; 63 6F 28 20 4C 4F 33 21 00468
; 29 6C 61 74 00470
P.ACY: .LONG 17694756 ; 010E0024 00474
.ADDRESS P.ACZ ; 00000000' 00478
P.ADB: .ASCII \ Handshaking character\<9><9>\None\
; 61 68 73 64 6E 61 48 20 0047C
; 61 68 63 20 67 6E 69 6B 00484
; 09 09 72 65 74 63 61 72 0048C
; 65 6E 6F 4E 00494
P.ADA: .LONG 17694748 ; 010E001C 00498
.ADDRESS P.ADB ; 00000000' 0049C
P.ADD: .ASCII \ Line used\<9><9><9>\!AS\ ; 73 75 20 65 6E 69 4C 20 004A0
; 53 41 21 09 09 09 64 65 004A8
P.ADC: .LONG 17694736 ; 010E0010 004B0
.ADDRESS P.ADD ; 00000000' 004B4
P.ADF: .ASCII \ Local echo\<9><9><9>\!AS\<0><0><0>
; 65 20 6C 61 63 6F 4C 20 004B8
; 41 21 09 09 09 6F 68 63 004C0
; 00 00 00 53 004C8
P.ADE: .LONG 17694737 ; 010E0011 004CC
.ADDRESS P.ADF ; 00000000' 004D0
P.ADH: .ASCII \ Parity type\<9><9><9>\!AS\<0><0>
; 20 79 74 69 72 61 50 20 004D4
; 21 09 09 09 65 70 79 74 004DC
; 00 00 53 41 004E4
P.ADG: .LONG 17694738 ; 010E0012 004E8
.ADDRESS P.ADH ; 00000000' 004EC
P.ADJ: .ASCII \Even\ ; 6E 65 76 45 004F0
P.ADI: .LONG 17694724 ; 010E0004 004F4
.ADDRESS P.ADJ ; 00000000' 004F8
P.ADL: .ASCII \Odd\<0> ; 00 64 64 4F 004FC
P.ADK: .LONG 17694723 ; 010E0003 00500
.ADDRESS P.ADL ; 00000000' 00504
P.ADN: .ASCII \Mark\ ; 6B 72 61 4D 00508
P.ADM: .LONG 17694724 ; 010E0004 0050C
.ADDRESS P.ADN ; 00000000' 00510
P.ADP: .ASCII \Space\<0><0><0> ; 00 00 00 65 63 61 70 53 00514
P.ADO: .LONG 17694725 ; 010E0005 0051C
.ADDRESS P.ADP ; 00000000' 00520
P.ADR: .ASCII \None\ ; 65 6E 6F 4E 00524
P.ADQ: .LONG 17694724 ; 010E0004 00528
.ADDRESS P.ADR ; 00000000' 0052C
P.ADT: .ASCII \ Retry maximums\<0> ; 6D 20 79 72 74 65 52 20 00530
; 00 73 6D 75 6D 69 78 61 00538
P.ADS: .LONG 17694735 ; 010E000F 00540
.ADDRESS P.ADT ; 00000000' 00544
P.ADV: .ASCII \ Initial connection\<9><9>\!ZL (dec)\<0>
; 61 69 74 69 6E 49 20 20 00548
; 63 65 6E 6E 6F 63 20 6C 00550
; 5A 21 09 09 6E 6F 69 74 00558
; 00 29 63 65 64 28 20 4C 00560
P.ADU: .LONG 17694751 ; 010E001F 00568
.ADDRESS P.ADV ; 00000000' 0056C
P.ADX: .ASCII \ Sending a packet\<9><9>\!ZL (dec)\<0><0><0>
; 6E 69 64 6E 65 53 20 20 00570
; 6B 63 61 70 20 61 20 67 00578
; 20 4C 5A 21 09 09 74 65 00580
; 00 00 00 29 63 65 64 28 00588
P.ADW: .LONG 17694749 ; 010E001D 00590
.ADDRESS P.ADX ; 00000000' 00594
P.ADZ: .ASCII \ Receive parameters\<0> ; 65 76 69 65 63 65 52 20 00598
; 74 65 6D 61 72 61 70 20 005A0
; 00 73 72 65 005A8
P.ADY: .LONG 17694739 ; 010E0013 005AC
.ADDRESS P.ADZ ; 00000000' 005B0
P.AEB: .ASCII \ Send parameters\ ; 61 70 20 64 6E 65 53 20 005B4
; 73 72 65 74 65 6D 61 72 005BC
P.AEA: .LONG 17694736 ; 010E0010 005C4
.ADDRESS P.AEB ; 00000000' 005C8
P.AED: .ASCII \ Packet length\<9><9><9>\!ZL (dec)\<0>
; 74 65 6B 63 61 50 20 20 005CC
; 09 68 74 67 6E 65 6C 20 005D4
; 64 28 20 4C 5A 21 09 09 005DC
; 00 29 63 65 005E4
P.AEC: .LONG 17694747 ; 010E001B 005E8
.ADDRESS P.AED ; 00000000' 005EC
P.AEF: .ASCII \ Padding length\<9><9>\!ZL (dec)\<0>
; 6E 69 64 64 61 50 20 20 005F0
; 68 74 67 6E 65 6C 20 67 005F8
; 64 28 20 4C 5A 21 09 09 00600
; 00 29 63 65 00608
P.AEE: .LONG 17694747 ; 010E001B 0060C
.ADDRESS P.AEF ; 00000000' 00610
P.AEH: .ASCII \ Padding character\<9><9>\!3OL (octal)\<0><0><0>
; 6E 69 64 64 61 50 20 20 00614
; 63 61 72 61 68 63 20 67 0061C
; 4F 33 21 09 09 72 65 74 00624
; 6C 61 74 63 6F 28 20 4C 0062C
; 00 00 00 29 00634
P.AEG: .LONG 17694753 ; 010E0021 00638
.ADDRESS P.AEH ; 00000000' 0063C
P.AEJ: .ASCII \ Time out\<9><9><9>\!ZL (sec)\<0><0>
; 6F 20 65 6D 69 54 20 20 00640
; 4C 5A 21 09 09 09 74 75 00648
; 00 00 29 63 65 73 28 20 00650
P.AEI: .LONG 17694742 ; 010E0016 00658
.ADDRESS P.AEJ ; 00000000' 0065C
P.AEL: .ASCII \ End of line character\<9><9>\!3OL (octal)\<0><0><0>
; 66 6F 20 64 6E 45 20 20 00660
; 68 63 20 65 6E 69 6C 20 00668
; 09 72 65 74 63 61 72 61 00670
; 6F 28 20 4C 4F 33 21 09 00678
; 00 00 00 29 6C 61 74 63 00680
P.AEK: .LONG 17694757 ; 010E0025 00688
.ADDRESS P.AEL ; 00000000' 0068C
P.AEN: .ASCII \ Quoting character\<9><9>\!3OL (octal)\<0><0><0>
; 6E 69 74 6F 75 51 20 20 00690
; 63 61 72 61 68 63 20 67 00698
; 4F 33 21 09 09 72 65 74 006A0
; 6C 61 74 63 6F 28 20 4C 006A8
; 00 00 00 29 006B0
P.AEM: .LONG 17694753 ; 010E0021 006B4
.ADDRESS P.AEN ; 00000000' 006B8
P.AEP: .ASCII \ Start of packet\<9><9>\!3OL (octal)\<0>
; 20 74 72 61 74 53 20 20 006BC
; 65 6B 63 61 70 20 66 6F 006C4
; 20 4C 4F 33 21 09 09 74 006CC
; 00 29 6C 61 74 63 6F 28 006D4
P.AEO: .LONG 17694751 ; 010E001F 006DC
.ADDRESS P.AEP ; 00000000' 006E0
P.AER: .ASCII \ 8-bit quoting character\<9>\!3OL (octal)\<0><0>
; 20 74 69 62 2D 38 20 20 006E4
; 20 67 6E 69 74 6F 75 71 006EC
; 65 74 63 61 72 61 68 63 006F4
; 28 20 4C 4F 33 21 09 72 006FC
; 00 00 29 6C 61 74 63 6F 00704
P.AEQ: .LONG 17694758 ; 010E0026 0070C
.ADDRESS P.AER ; 00000000' 00710
P.AET: .ASCII \ Transmit parameters\ ; 69 6D 73 6E 61 72 54 20 00714
; 65 6D 61 72 61 70 20 74 0071C
; 73 72 65 74 00724
P.AES: .LONG 17694740 ; 010E0014 00728
.ADDRESS P.AET ; 00000000' 0072C
P.AEV: .ASCII \ Delay 0.!AD (sec)\<0>
; 20 79 61 6C 65 44 20 20 00730
; 20 20 20 20 20 20 20 20 00738
; 20 20 20 20 20 20 20 20 00740
; 20 20 20 20 20 20 20 20 00748
; 73 28 20 44 41 21 2E 30 00750
; 00 29 63 65 00758
P.AEU: .LONG 17694763 ; 010E002B 0075C
.ADDRESS P.AEV ; 00000000' 00760
P.AEX: .ASCII \ Echo\<9><9><9>\ !AS\ ; 09 09 6F 68 63 45 20 20 00764
; 20 20 20 20 20 20 20 09 0076C
; 53 41 21 20 00774
P.AEW: .LONG 17694740 ; 010E0014 00778
.ADDRESS P.AEX ; 00000000' 0077C
P.AEZ: .ASCII \ Repeat quoting character\<9>\!3OL (octal)\<0><0>
; 20 74 61 65 70 65 52 20 00780
; 20 67 6E 69 74 6F 75 71 00788
; 65 74 63 61 72 61 68 63 00790
; 28 20 4C 4F 33 21 09 72 00798
; 00 00 29 6C 61 74 63 6F 007A0
P.AEY: .LONG 17694758 ; 010E0026 007A8
.ADDRESS P.AEZ ; 00000000' 007AC
U.1317= P.ABE
U.1318= P.ABG
U.1319= P.ABI
U.1320= P.ABK
U.1321= P.ABM
U.1322= P.ABO
U.1323= P.ABQ
U.1324= P.ABS
U.1325= P.ABU
U.1326= P.ABW
U.1327= P.ABY
U.1328= P.ACA
U.1329= P.ACC
U.1330= P.ACE
U.1331= P.ACG
U.1332= P.ACI
U.1333= P.ACK
U.1334= P.ACM
U.1335= P.ACO
U.1336= P.ACQ
U.1337= P.ACS
U.1338= P.ACU
U.1339= P.ACW
U.1340= P.ACY
U.1341= P.ADA
U.1342= P.ADC
U.1343= P.ADE
U.1344= P.ADG
U.1345= P.ADI
U.1346= P.ADK
U.1347= P.ADM
U.1348= P.ADO
U.1349= P.ADQ
U.1350= P.ADS
U.1351= P.ADU
U.1352= P.ADW
U.1353= P.ADY
U.1354= P.AEA
U.1355= P.AEC
U.1356= P.AEE
U.1357= P.AEG
U.1358= P.AEI
U.1359= P.AEK
U.1360= P.AEM
U.1361= P.AEO
U.1362= P.AEQ
U.1363= P.AES
U.1364= P.AEU
U.1365= P.AEW
U.1366= P.AEY
.PSECT $CODE$,NOWRT,2
;OUTPUT_TRUE_FALSE
U.1367: .WORD ^M<R2> ;Save R2 3354 0004 00000
MOVAB G^U.54, R2 ;U.54, R2 52 00000000' 00 9E 00002
MOVL #17694800, (R2) ;#17694800, OUTPUT_DESC 3364 62 010E0050 8F D0 00009
MOVAB -80(R2), 4(R2) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A2 B0 A2 9E 00010
MOVL @8(AP), R1 ;@FLAG_ADDR, R1 3370 51 08 BC D0 00015
CMPL R1, #1 ;R1, #1 01 51 D1 00019
BNEQ 1$ ;1$ 09 12 0001C
MOVAB G^U.1318, R0 ;U.1318, R0 50 00000000' 00 9E 0001E
BRB 2$ ;2$ 0B 11 00025
1$: TSTL R1 ;R1 51 D5 00027
BNEQ 3$ ;3$ 0B 12 00029
MOVAB G^U.1317, R0 ;U.1317, R0 50 00000000' 00 9E 0002B
2$: PUSHL R0 ;R0 50 DD 00032
BRB 4$ ;4$ 03 11 00034
3$: MNEGL #1, -(SP) ;#1, -(SP) 7E 01 CE 00036
4$: PUSHL R2 ;R2 52 DD 00039
PUSHAB 8(R2) ;OUTPUT_SIZE 08 A2 9F 0003B
PUSHL 4(AP) ;MSG_ADDR 04 AC DD 0003E
CALLS #4, G^SYS$FAO ;#4, SYS$FAO 00000000G 00 04 FB 00041
MOVW 8(R2), (R2) ;OUTPUT_SIZE, OUTPUT_DESC 3371 62 08 A2 B0 00048
PUSHL R2 ;R2 3372 52 DD 0004C
CALLS #1, G^LIB$PUT_OUTPUT ;#1, LIB$PUT_OUTPUT 00000000G 00 01 FB 0004E
RET ; 3373 04 00055
; Routine Size: 86 bytes, Routine Base: $CODE$ + 084E
; 3374 2
; 3375 2 SELECT .SHOW_TYPE OF
; 3376 2 SET
; 3377 2 !
; 3378 2 ! Show version
; 3379 2 !
; 3380 2
; 3381 2 [SHOW_ALL, SHOW_VER] :
; 3382 2 STATUS = LIB$PUT_OUTPUT (IDENT_STRING); ! Type our name and version
; 3383 2
; 3384 2 [SHOW_ALL, SHOW_CHK, SHOW_PAC] :
; 3385 3 BEGIN
; 3386 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; P 3387 3 $FAO (SHOW_CHK_MSG, OUTPUT_SIZE, OUTPUT_DESC,
; P 3388 3 (SELECTONE .CHKTYPE OF
; P 3389 3 SET
; P 3390 3 [CHK_1CHAR] : CHK_1CHAR_MSG;
; P 3391 3 [CHK_2CHAR] : CHK_2CHAR_MSG;
; P 3392 3 [CHK_CRC] : CHK_CRC_MSG;
; 3393 3 TES));
; 3394 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3395 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3396 2 END;
; 3397 2
; 3398 2 [SHOW_ALL, SHOW_DEB] :
; 3399 2 OUTPUT_TRUE_FALSE (SHOW_DEB_MSG, DEBUG_FLAG);
; 3400 2
; 3401 2 [SHOW_ALL, SHOW_DEL, SHOW_COM, SHOW_TIM] :
; 3402 2 OUTPUT_LONG_WORD (SHOW_DEL_MSG, .DELAY);
; 3403 2
; 3404 2 [SHOW_ALL, SHOW_TIM] :
; 3405 2 OUTPUT_LONG_WORD (SHOW_SRV_MSG, .SRV_TIMEOUT);
; 3406 2
; 3407 2 [SHOW_ALL, SHOW_ESC, SHOW_COM] :
; 3408 2 OUTPUT_LONG_WORD (SHOW_ESC_MSG, .ESCAPE_CHR);
; 3409 2
; 3410 2 [SHOW_ALL, SHOW_FIL] : !
; 3411 3 BEGIN
; 3412 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; P 3413 3 $FAO (SHOW_FTP_MSG,
; P 3414 3 OUTPUT_SIZE,
; P 3415 3 OUTPUT_DESC,
; P 3416 3 (SELECTONE .FILE_TYPE OF
; P 3417 3 SET
; P 3418 3 [FILE_ASC] : FTP_ASCII;
; P 3419 3 [FILE_BIN] : FTP_BINARY;
; P 3420 3 [FILE_FIX] : FTP_FIXED;
; P 3421 3 [FILE_BLK] : FTP_BLOCK;
; 3422 3 TES));
; 3423 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3424 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3425 3 !
; 3426 3 ! Display the file name format
; 3427 3 !
; 3428 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; P 3429 3 $FAO (SHOW_FNM_MSG, OUTPUT_SIZE, OUTPUT_DESC,
; P 3430 3 (SELECTONE .FIL_NORMAL_FORM OF
; P 3431 3 SET
; P 3432 3 [FNM_FULL] : FNM_MSG_FULL;
; P 3433 3 [FNM_NORMAL] : FNM_MSG_NORMAL;
; P 3434 3 [FNM_UNTRAN] : FNM_MSG_UNTRAN;
; 3435 3 TES));
; 3436 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3437 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3438 3
; 3439 3 ! Display file block size
; 3440 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; 3441 3 $FAO(SHOW_BLK_MSG, OUTPUT_SIZE, OUTPUT_DESC, .file_blocksize);
; 3442 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3443 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3444 3
; 3445 2 END;
; 3446 2
; 3447 2 [SHOW_ALL, SHOW_COM] :
; 3448 2 IF .IBM_CHAR GEQ 0
; 3449 2 THEN
; 3450 2 OUTPUT_LONG_WORD (SHOW_HAN_MSG, .IBM_CHAR)
; 3451 2 ELSE
; 3452 2 STATUS = LIB$PUT_OUTPUT (SHOW_HAN_MSG_NONE);
; 3453 2
; 3454 2 [SHOW_ALL, SHOW_ABT, SHOW_FIL] :
; 3455 3 BEGIN
; 3456 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; 3457 3 $FAO (SHOW_ABT_MSG, OUTPUT_SIZE, OUTPUT_DESC, (IF .ABT_FLAG THEN ABT_DISCARD ELSE ABT_KEEP));
; 3458 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3459 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3460 2 END;
; 3461 2
; 3462 2 [SHOW_ALL, SHOW_LIN, SHOW_COM] :
; 3463 3 BEGIN
; 3464 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; 3465 3
; 3466 3 IF .TERM_DESC [DSC$W_LENGTH] GTR 0
; 3467 3 THEN
; 3468 4 $FAO (SHOW_LIN_MSG, OUTPUT_SIZE, OUTPUT_DESC, TERM_DESC)
; 3469 3 ELSE
; 3470 3 $FAO (SHOW_LIN_MSG, OUTPUT_SIZE, OUTPUT_DESC, %ASCID'none');
; 3471 3
; 3472 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3473 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3474 2 END;
; 3475 2
; 3476 2 [SHOW_ALL, SHOW_ECH, SHOW_COM] :
; 3477 2 OUTPUT_TRUE_FALSE (SHOW_ECH_MSG, ECHO_FLAG);
; 3478 2
; 3479 2 [SHOW_ALL, SHOW_PAR, SHOW_COM] :
; 3480 3 BEGIN
; 3481 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; P 3482 3 $FAO (SHOW_PAR_MSG, OUTPUT_SIZE, OUTPUT_DESC,
; P 3483 3 (SELECTONE .PARITY_TYPE OF
; P 3484 3 SET
; P 3485 3 [PR_EVEN] : PAR_EVEN;
; P 3486 3 [PR_ODD] : PAR_ODD;
; P 3487 3 [PR_NONE] : PAR_NONE;
; P 3488 3 [PR_MARK] : PAR_MARK;
; P 3489 3 [PR_SPACE] : PAR_SPACE;
; 3490 3 TES));
; 3491 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3492 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3493 2 END;
; 3494 2
; 3495 2 [SHOW_ALL, SHOW_RTY, SHOW_PAC] :
; 3496 3 BEGIN
; 3497 3 STATUS = LIB$PUT_OUTPUT (SHOW_RTY_HDR);
; 3498 3 OUTPUT_LONG_WORD (SHOW_RTY_INI_MSG, .SI_RETRIES);
; 3499 3 OUTPUT_LONG_WORD (SHOW_RTY_PKT_MSG, .PKT_RETRIES);
; 3500 2 END;
; 3501 2
; 3502 2 [SHOW_ALL, SHOW_SEN, SHOW_PAC] :
; 3503 3 BEGIN
; 3504 3 STATUS = LIB$PUT_OUTPUT (SHOW_SND_HDR);
; 3505 3 OUTPUT_LONG_WORD (SHOW_PKT_MSG, ABS (.SND_PKT_SIZE));
; 3506 3 OUTPUT_LONG_WORD (SHOW_PAD_MSG, ABS (.SND_NPAD));
; 3507 3 OUTPUT_LONG_WORD (SHOW_PDC_MSG, ABS (.SND_PADCHAR));
; 3508 3 OUTPUT_LONG_WORD (SHOW_TIM_MSG, ABS (.SND_TIMEOUT));
; 3509 3 OUTPUT_LONG_WORD (SHOW_EOL_MSG, ABS (.SND_EOL));
; 3510 3 OUTPUT_LONG_WORD (SHOW_QUO_MSG, ABS (.SND_QUOTE_CHR));
; 3511 3 OUTPUT_LONG_WORD (SHOW_SOH_MSG, ABS (.SND_SOH));
; 3512 2 END;
; 3513 2
; 3514 2 [SHOW_ALL, SHOW_REC, SHOW_PAC] :
; 3515 3 BEGIN
; 3516 3 STATUS = LIB$PUT_OUTPUT (SHOW_REC_HDR);
; 3517 3 OUTPUT_LONG_WORD (SHOW_PKT_MSG, .RCV_PKT_SIZE);
; 3518 3 OUTPUT_LONG_WORD (SHOW_PAD_MSG, .RCV_NPAD);
; 3519 3 OUTPUT_LONG_WORD (SHOW_PDC_MSG, .RCV_PADCHAR);
; 3520 3 OUTPUT_LONG_WORD (SHOW_TIM_MSG, .RCV_TIMEOUT);
; 3521 3 OUTPUT_LONG_WORD (SHOW_EOL_MSG, .RCV_EOL);
; 3522 3 OUTPUT_LONG_WORD (SHOW_QUO_MSG, .RCV_QUOTE_CHR);
; 3523 3 OUTPUT_LONG_WORD (SHOW_8QU_MSG, .RCV_8QUOTE_CHR);
; 3524 3 OUTPUT_LONG_WORD (SHOW_SOH_MSG, .RCV_SOH);
; 3525 2 END;
; 3526 2
; 3527 2 [SHOW_ALL, SHOW_TRN] : !
; 3528 3 BEGIN !
; 3529 3 STATUS = LIB$PUT_OUTPUT (SHOW_TRN_HDR); !
; 3530 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH); !
; 3531 3 $FAO (SHOW_TRD_MSG, OUTPUT_SIZE, OUTPUT_DESC, 1, TRANS_DELAY); !
; 3532 3 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE; !
; 3533 3 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC); !
; 3534 3 OUTPUT_TRUE_FALSE (SHOW_TRE_MSG, TRANS_ECHO_FLAG); !
; 3535 2 END; !
; 3536 2
; 3537 2 [SHOW_ALL, SHOW_PAC] :
; 3538 3 BEGIN
; 3539 3 OUTPUT_LONG_WORD (SHOW_RPT_MSG, .SET_REPT_CHR);
; 3540 2 END;
; 3541 2
; 3542 2 TES;
; 3543 2
; 3544 1 END; ! End of COMND_SHOW
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AFB: .ASCII \none\ ; 65 6E 6F 6E 007B0
P.AFA: .LONG 17694724 ; 010E0004 007B4
.ADDRESS P.AFB ; 00000000' 007B8
.PSECT $CODE$,NOWRT,2
;COMND_SHOW
U.7: .WORD ^M<R2,R3,R4,R5,R6,R7,R8,R9> ;Save R2,R3,R4,R5,R6,R7,R8,R9 3216 03FC 00000
MOVAB G^TERM_DESC, R9 ;TERM_DESC, R9 59 00000000G 00 9E 00002
MOVAB G^SYS$FAO, R8 ;SYS$FAO, R8 58 00000000G 00 9E 00009
MOVAB G^LIB$PUT_OUTPUT, R7 ;LIB$PUT_OUTPUT, R7 57 00000000G 00 9E 00010
MOVAB W^U.1314, R6 ;U.1314, R6 56 FE3A CF 9E 00017
MOVAB G^U.1355, R5 ;U.1355, R5 55 00000000' 00 9E 0001C
MOVAB G^U.54, R4 ;U.54, R4 54 00000000' 00 9E 00023
MOVL -92(R4), R2 ;SHOW_TYPE, R2 3375 52 A4 A4 D0 0002A
CMPL R2, #1 ;R2, #1 3381 01 52 D1 0002E
BEQL 1$ ;1$ 05 13 00031
CMPL R2, #17 ;R2, #17 11 52 D1 00033
BNEQ 2$ ;2$ 0A 12 00036
1$: PUSHAB -1480(R5) ;IDENT_STRING 3382 FA38 C5 9F 00038
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 0003C
MOVW R0, R3 ;R0, STATUS 53 50 B0 0003F
2$: CMPL R2, #1 ;R2, #1 3384 01 52 D1 00042
BEQL 3$ ;3$ 0A 13 00045
CMPL R2, #12 ;R2, #12 0C 52 D1 00047
BEQL 3$ ;3$ 05 13 0004A
CMPL R2, #15 ;R2, #15 0F 52 D1 0004C
BNEQ 9$ ;9$ 56 12 0004F
3$: MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3386 64 010E0050 8F D0 00051
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 00058
MOVL G^CHKTYPE, R0 ;CHKTYPE, R0 3393 50 00000000G 00 D0 0005D
CMPL R0, #49 ;R0, #49 31 50 D1 00064
BNEQ 4$ ;4$ 07 12 00067
MOVAB -888(R5), R1 ;CHK_1CHAR_MSG, R1 51 FC88 C5 9E 00069
BRB 5$ ;5$ 0A 11 0006E
4$: CMPL R0, #50 ;R0, #50 32 50 D1 00070
BNEQ 6$ ;6$ 09 12 00073
MOVAB -856(R5), R1 ;CHK_2CHAR_MSG, R1 51 FCA8 C5 9E 00075
5$: PUSHL R1 ;R1 51 DD 0007A
BRB 8$ ;8$ 11 11 0007C
6$: CMPL R0, #51 ;R0, #51 33 50 D1 0007E
BNEQ 7$ ;7$ 09 12 00081
MOVAB -820(R5), R0 ;CHK_CRC_MSG, R0 50 FCCC C5 9E 00083
PUSHL R0 ;R0 50 DD 00088
BRB 8$ ;8$ 03 11 0008A
7$: MNEGL #1, -(SP) ;#1, -(SP) 7E 01 CE 0008C
8$: PUSHL R4 ;R4 54 DD 0008F
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 00091
PUSHAB -920(R5) ;SHOW_CHK_MSG FC68 C5 9F 00094
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 00098
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3394 64 08 A4 B0 0009B
PUSHL R4 ;R4 3395 54 DD 0009F
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 000A1
MOVW R0, R3 ;R0, STATUS 53 50 B0 000A4
9$: TSTL R2 ;R2 3398 52 D5 000A7
BLEQ 10$ ;10$ 14 15 000A9
CMPL R2, #2 ;R2, #2 02 52 D1 000AB
BGTR 10$ ;10$ 0F 14 000AE
PUSHAB G^DEBUG_FLAG ;DEBUG_FLAG 3399 00000000G 00 9F 000B0
PUSHAB -796(R5) ;SHOW_DEB_MSG FCE4 C5 9F 000B6
CALLS #2, 341(R6) ;#2, OUTPUT_TRUE_FALSE 0155 C6 02 FB 000BA
10$: CMPL R2, #1 ;R2, #1 3401 01 52 D1 000BF
BEQL 11$ ;11$ 0F 13 000C2
CMPL R2, #3 ;R2, #3 03 52 D1 000C4
BEQL 11$ ;11$ 0A 13 000C7
CMPL R2, #5 ;R2, #5 05 52 D1 000C9
BEQL 11$ ;11$ 05 13 000CC
CMPL R2, #16 ;R2, #16 10 52 D1 000CE
BNEQ 12$ ;12$ 0D 12 000D1
11$: PUSHL G^DELAY ;DELAY 3402 00000000G 00 DD 000D3
PUSHAB -768(R5) ;SHOW_DEL_MSG FD00 C5 9F 000D9
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 000DD
12$: CMPL R2, #1 ;R2, #1 3404 01 52 D1 000E0
BEQL 13$ ;13$ 05 13 000E3
CMPL R2, #5 ;R2, #5 05 52 D1 000E5
BNEQ 14$ ;14$ 0D 12 000E8
13$: PUSHL G^SRV_TIMEOUT ;SRV_TIMEOUT 3405 00000000G 00 DD 000EA
PUSHAB -696(R5) ;SHOW_SRV_MSG FD48 C5 9F 000F0
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 000F4
14$: CMPL R2, #1 ;R2, #1 3407 01 52 D1 000F7
BEQL 15$ ;15$ 0A 13 000FA
CMPL R2, #4 ;R2, #4 04 52 D1 000FC
BEQL 15$ ;15$ 05 13 000FF
CMPL R2, #16 ;R2, #16 10 52 D1 00101
BNEQ 16$ ;16$ 0D 12 00104
15$: PUSHL G^ESCAPE_CHR ;ESCAPE_CHR 3408 00000000' 00 DD 00106
PUSHAB -656(R5) ;SHOW_ESC_MSG FD70 C5 9F 0010C
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00110
16$: CMPL R2, #1 ;R2, #1 3410 01 52 D1 00113
BEQL 17$ ;17$ 08 13 00116
CMPL R2, #14 ;R2, #14 0E 52 D1 00118
BEQL 17$ ;17$ 03 13 0011B
BRW 29$ ;29$ 00E2 31 0011D
17$: MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3412 64 010E0050 8F D0 00120
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 00127
MOVL G^FILE_TYPE, R0 ;FILE_TYPE, R0 3422 50 00000000G 00 D0 0012C
CMPL R0, #1 ;R0, #1 01 50 D1 00133
BNEQ 18$ ;18$ 07 12 00136
MOVAB -564(R5), R1 ;FTP_ASCII, R1 51 FDCC C5 9E 00138
BRB 20$ ;20$ 16 11 0013D
18$: CMPL R0, #2 ;R0, #2 02 50 D1 0013F
BNEQ 19$ ;19$ 07 12 00142
MOVAB -548(R5), R1 ;FTP_BINARY, R1 51 FDDC C5 9E 00144
BRB 20$ ;20$ 0A 11 00149
19$: CMPL R0, #4 ;R0, #4 04 50 D1 0014B
BNEQ 21$ ;21$ 09 12 0014E
MOVAB -516(R5), R1 ;FTP_FIXED, R1 51 FDFC C5 9E 00150
20$: PUSHL R1 ;R1 51 DD 00155
BRB 23$ ;23$ 11 11 00157
21$: CMPL R0, #3 ;R0, #3 03 50 D1 00159
BNEQ 22$ ;22$ 09 12 0015C
MOVAB -532(R5), R0 ;FTP_BLOCK, R0 50 FDEC C5 9E 0015E
PUSHL R0 ;R0 50 DD 00163
BRB 23$ ;23$ 03 11 00165
22$: MNEGL #1, -(SP) ;#1, -(SP) 7E 01 CE 00167
23$: PUSHL R4 ;R4 54 DD 0016A
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 0016C
PUSHAB -632(R5) ;SHOW_FTP_MSG FD88 C5 9F 0016F
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 00173
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3423 64 08 A4 B0 00176
PUSHL R4 ;R4 3424 54 DD 0017A
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 0017C
MOVW R0, R3 ;R0, STATUS 53 50 B0 0017F
MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3428 64 010E0050 8F D0 00182
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 00189
MOVL G^FIL_NORMAL_FORM, R0 ;FIL_NORMAL_FORM, R0 3435 50 00000000G 00 D0 0018E
CMPL R0, #2 ;R0, #2 02 50 D1 00195
BNEQ 24$ ;24$ 07 12 00198
MOVAB -456(R5), R1 ;FNM_MSG_FULL, R1 51 FE38 C5 9E 0019A
BRB 25$ ;25$ 0A 11 0019F
24$: CMPL R0, #1 ;R0, #1 01 50 D1 001A1
BNEQ 26$ ;26$ 09 12 001A4
MOVAB -436(R5), R1 ;FNM_MSG_NORMAL, R1 51 FE4C C5 9E 001A6
25$: PUSHL R1 ;R1 51 DD 001AB
BRB 28$ ;28$ 11 11 001AD
26$: CMPL R0, #4 ;R0, #4 04 50 D1 001AF
BNEQ 27$ ;27$ 09 12 001B2
MOVAB -416(R5), R0 ;FNM_MSG_UNTRAN, R0 50 FE60 C5 9E 001B4
PUSHL R0 ;R0 50 DD 001B9
BRB 28$ ;28$ 03 11 001BB
27$: MNEGL #1, -(SP) ;#1, -(SP) 7E 01 CE 001BD
28$: PUSHL R4 ;R4 54 DD 001C0
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 001C2
PUSHAB -488(R5) ;SHOW_FNM_MSG FE18 C5 9F 001C5
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 001C9
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3436 64 08 A4 B0 001CC
PUSHL R4 ;R4 3437 54 DD 001D0
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 001D2
MOVW R0, R3 ;R0, STATUS 53 50 B0 001D5
MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3440 64 010E0050 8F D0 001D8
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 001DF
PUSHL G^FILE_BLOCKSIZE ;FILE_BLOCKSIZE 3441 00000000G 00 DD 001E4
PUSHL R4 ;R4 54 DD 001EA
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 001EC
PUSHAB -580(R5) ;SHOW_BLK_MSG FDBC C5 9F 001EF
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 001F3
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3442 64 08 A4 B0 001F6
PUSHL R4 ;R4 3443 54 DD 001FA
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 001FC
MOVW R0, R3 ;R0, STATUS 53 50 B0 001FF
29$: CMPL R2, #1 ;R2, #1 3447 01 52 D1 00202
BEQL 30$ ;30$ 05 13 00205
CMPL R2, #16 ;R2, #16 10 52 D1 00207
BNEQ 32$ ;32$ 1E 12 0020A
30$: MOVL G^IBM_CHAR, R0 ;IBM_CHAR, R0 3448 50 00000000G 00 D0 0020C
BLSS 31$ ;31$ 0B 19 00213
PUSHL R0 ;R0 3450 50 DD 00215
PUSHAB -372(R5) ;SHOW_HAN_MSG FE8C C5 9F 00217
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0021B
BRB 32$ ;32$ 0A 11 0021E
31$: PUSHAB -336(R5) ;SHOW_HAN_MSG_NONE 3452 FEB0 C5 9F 00220
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00224
MOVW R0, R3 ;R0, STATUS 53 50 B0 00227
32$: CMPL R2, #1 ;R2, #1 3454 01 52 D1 0022A
BEQL 33$ ;33$ 0A 13 0022D
CMPL R2, #13 ;R2, #13 0D 52 D1 0022F
BLSS 36$ ;36$ 3E 19 00232
CMPL R2, #14 ;R2, #14 0E 52 D1 00234
BGTR 36$ ;36$ 39 14 00237
33$: MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3456 64 010E0050 8F D0 00239
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 00240
BLBC G^ABT_FLAG, 34$ ;ABT_FLAG, 34$ 3457 07 00000000G 00 E9 00245
MOVAB -964(R5), R0 ;ABT_DISCARD, R0 50 FC3C C5 9E 0024C
BRB 35$ ;35$ 05 11 00251
34$: MOVAB -952(R5), R0 ;ABT_KEEP, R0 50 FC48 C5 9E 00253
35$: PUSHL R0 ;R0 50 DD 00258
PUSHL R4 ;R4 54 DD 0025A
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 0025C
PUSHAB -980(R5) ;SHOW_ABT_MSG FC2C C5 9F 0025F
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 00263
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3458 64 08 A4 B0 00266
PUSHL R4 ;R4 3459 54 DD 0026A
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 0026C
MOVW R0, R3 ;R0, STATUS 53 50 B0 0026F
36$: CMPL R2, #1 ;R2, #1 3462 01 52 D1 00272
BEQL 37$ ;37$ 0A 13 00275
CMPL R2, #6 ;R2, #6 06 52 D1 00277
BEQL 37$ ;37$ 05 13 0027A
CMPL R2, #16 ;R2, #16 10 52 D1 0027C
BNEQ 40$ ;40$ 30 12 0027F
37$: MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3464 64 010E0050 8F D0 00281
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 00288
TSTW (R9) ;TERM_DESC 3466 69 B5 0028D
BEQL 38$ ;38$ 04 13 0028F
PUSHL R9 ;R9 3468 59 DD 00291
BRB 39$ ;39$ 04 11 00293
38$: PUSHAB 460(R5) ;P.AFA 3470 01CC C5 9F 00295
39$: PUSHL R4 ;R4 54 DD 00299
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 0029B
PUSHAB -312(R5) ;SHOW_LIN_MSG FEC8 C5 9F 0029E
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 002A2
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3472 64 08 A4 B0 002A5
PUSHL R4 ;R4 3473 54 DD 002A9
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 002AB
MOVW R0, R3 ;R0, STATUS 53 50 B0 002AE
40$: CMPL R2, #1 ;R2, #1 3476 01 52 D1 002B1
BEQL 41$ ;41$ 0A 13 002B4
CMPL R2, #7 ;R2, #7 07 52 D1 002B6
BEQL 41$ ;41$ 05 13 002B9
CMPL R2, #16 ;R2, #16 10 52 D1 002BB
BNEQ 42$ ;42$ 0F 12 002BE
41$: PUSHAB G^ECHO_FLAG ;ECHO_FLAG 3477 00000000G 00 9F 002C0
PUSHAB -284(R5) ;SHOW_ECH_MSG FEE4 C5 9F 002C6
CALLS #2, 341(R6) ;#2, OUTPUT_TRUE_FALSE 0155 C6 02 FB 002CA
42$: CMPL R2, #1 ;R2, #1 3479 01 52 D1 002CF
BEQL 43$ ;43$ 0A 13 002D2
CMPL R2, #10 ;R2, #10 0A 52 D1 002D4
BEQL 43$ ;43$ 05 13 002D7
CMPL R2, #16 ;R2, #16 10 52 D1 002D9
BNEQ 51$ ;51$ 6D 12 002DC
43$: MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3481 64 010E0050 8F D0 002DE
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 002E5
MOVL G^PARITY_TYPE, R0 ;PARITY_TYPE, R0 3490 50 00000000G 00 D0 002EA
CMPL R0, #2 ;R0, #2 02 50 D1 002F1
BNEQ 44$ ;44$ 07 12 002F4
MOVAB -244(R5), R1 ;PAR_EVEN, R1 51 FF0C C5 9E 002F6
BRB 47$ ;47$ 21 11 002FB
44$: CMPL R0, #3 ;R0, #3 03 50 D1 002FD
BNEQ 45$ ;45$ 07 12 00300
MOVAB -232(R5), R1 ;PAR_ODD, R1 51 FF18 C5 9E 00302
BRB 47$ ;47$ 15 11 00307
45$: TSTL R0 ;R0 50 D5 00309
BNEQ 46$ ;46$ 07 12 0030B
MOVAB -192(R5), R1 ;PAR_NONE, R1 51 FF40 C5 9E 0030D
BRB 47$ ;47$ 0A 11 00312
46$: CMPL R0, #1 ;R0, #1 01 50 D1 00314
BNEQ 48$ ;48$ 09 12 00317
MOVAB -220(R5), R1 ;PAR_MARK, R1 51 FF24 C5 9E 00319
47$: PUSHL R1 ;R1 51 DD 0031E
BRB 50$ ;50$ 11 11 00320
48$: CMPL R0, #4 ;R0, #4 04 50 D1 00322
BNEQ 49$ ;49$ 09 12 00325
MOVAB -204(R5), R0 ;PAR_SPACE, R0 50 FF34 C5 9E 00327
PUSHL R0 ;R0 50 DD 0032C
BRB 50$ ;50$ 03 11 0032E
49$: MNEGL #1, -(SP) ;#1, -(SP) 7E 01 CE 00330
50$: PUSHL R4 ;R4 54 DD 00333
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 00335
PUSHAB -256(R5) ;SHOW_PAR_MSG FF00 C5 9F 00338
CALLS #4, (R8) ;#4, SYS$FAO 68 04 FB 0033C
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3491 64 08 A4 B0 0033F
PUSHL R4 ;R4 3492 54 DD 00343
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00345
MOVW R0, R3 ;R0, STATUS 53 50 B0 00348
51$: CMPL R2, #1 ;R2, #1 3495 01 52 D1 0034B
BEQL 52$ ;52$ 0A 13 0034E
CMPL R2, #11 ;R2, #11 0B 52 D1 00350
BEQL 52$ ;52$ 05 13 00353
CMPL R2, #15 ;R2, #15 0F 52 D1 00355
BNEQ 53$ ;53$ 22 12 00358
52$: PUSHAB -168(R5) ;SHOW_RTY_HDR 3497 FF58 C5 9F 0035A
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 0035E
MOVW R0, R3 ;R0, STATUS 53 50 B0 00361
PUSHL G^SI_RETRIES ;SI_RETRIES 3498 00000000G 00 DD 00364
PUSHAB -128(R5) ;SHOW_RTY_INI_MSG 80 A5 9F 0036A
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0036D
PUSHL G^PKT_RETRIES ;PKT_RETRIES 3499 00000000G 00 DD 00370
PUSHAB -88(R5) ;SHOW_RTY_PKT_MSG A8 A5 9F 00376
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00379
53$: CMPL R2, #1 ;R2, #1 3502 01 52 D1 0037C
BEQL 54$ ;54$ 0D 13 0037F
CMPL R2, #8 ;R2, #8 08 52 D1 00381
BEQL 54$ ;54$ 08 13 00384
CMPL R2, #15 ;R2, #15 0F 52 D1 00386
BEQL 54$ ;54$ 03 13 00389
BRW 62$ ;62$ 0082 31 0038B
54$: PUSHAB -36(R5) ;SHOW_SND_HDR 3504 DC A5 9F 0038E
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00391
MOVW R0, R3 ;R0, STATUS 53 50 B0 00394
PUSHL G^SND_PKT_SIZE ;SND_PKT_SIZE 3505 00000000G 00 DD 00397
BGEQ 55$ ;55$ 03 18 0039D
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 0039F
55$: PUSHL R5 ;R5 55 DD 003A2
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003A4
PUSHL G^SND_NPAD ;SND_NPAD 3506 00000000G 00 DD 003A7
BGEQ 56$ ;56$ 03 18 003AD
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 003AF
56$: PUSHAB 36(R5) ;SHOW_PAD_MSG 24 A5 9F 003B2
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003B5
PUSHL G^SND_PADCHAR ;SND_PADCHAR 3507 00000000G 00 DD 003B8
BGEQ 57$ ;57$ 03 18 003BE
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 003C0
57$: PUSHAB 80(R5) ;SHOW_PDC_MSG 50 A5 9F 003C3
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003C6
PUSHL G^SND_TIMEOUT ;SND_TIMEOUT 3508 00000000G 00 DD 003C9
BGEQ 58$ ;58$ 03 18 003CF
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 003D1
58$: PUSHAB 112(R5) ;SHOW_TIM_MSG 70 A5 9F 003D4
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003D7
PUSHL G^SND_EOL ;SND_EOL 3509 00000000G 00 DD 003DA
BGEQ 59$ ;59$ 03 18 003E0
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 003E2
59$: PUSHAB 160(R5) ;SHOW_EOL_MSG 00A0 C5 9F 003E5
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003E9
PUSHL G^SND_QUOTE_CHR ;SND_QUOTE_CHR 3510 00000000G 00 DD 003EC
BGEQ 60$ ;60$ 03 18 003F2
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 003F4
60$: PUSHAB 204(R5) ;SHOW_QUO_MSG 00CC C5 9F 003F7
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 003FB
PUSHL G^SND_SOH ;SND_SOH 3511 00000000G 00 DD 003FE
BGEQ 61$ ;61$ 03 18 00404
MNEGL (SP), (SP) ;(SP), (SP) 6E 6E CE 00406
61$: PUSHAB 244(R5) ;SHOW_SOH_MSG 00F4 C5 9F 00409
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0040D
62$: CMPL R2, #1 ;R2, #1 3514 01 52 D1 00410
BEQL 63$ ;63$ 0A 13 00413
CMPL R2, #9 ;R2, #9 09 52 D1 00415
BEQL 63$ ;63$ 05 13 00418
CMPL R2, #15 ;R2, #15 0F 52 D1 0041A
BNEQ 64$ ;64$ 6C 12 0041D
63$: PUSHAB -60(R5) ;SHOW_REC_HDR 3516 C4 A5 9F 0041F
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00422
MOVW R0, R3 ;R0, STATUS 53 50 B0 00425
PUSHL G^RCV_PKT_SIZE ;RCV_PKT_SIZE 3517 00000000G 00 DD 00428
PUSHL R5 ;R5 55 DD 0042E
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00430
PUSHL G^RCV_NPAD ;RCV_NPAD 3518 00000000G 00 DD 00433
PUSHAB 36(R5) ;SHOW_PAD_MSG 24 A5 9F 00439
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0043C
PUSHL G^RCV_PADCHAR ;RCV_PADCHAR 3519 00000000G 00 DD 0043F
PUSHAB 80(R5) ;SHOW_PDC_MSG 50 A5 9F 00445
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00448
PUSHL G^RCV_TIMEOUT ;RCV_TIMEOUT 3520 00000000G 00 DD 0044B
PUSHAB 112(R5) ;SHOW_TIM_MSG 70 A5 9F 00451
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00454
PUSHL G^RCV_EOL ;RCV_EOL 3521 00000000G 00 DD 00457
PUSHAB 160(R5) ;SHOW_EOL_MSG 00A0 C5 9F 0045D
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00461
PUSHL G^RCV_QUOTE_CHR ;RCV_QUOTE_CHR 3522 00000000G 00 DD 00464
PUSHAB 204(R5) ;SHOW_QUO_MSG 00CC C5 9F 0046A
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0046E
PUSHL G^RCV_8QUOTE_CHR ;RCV_8QUOTE_CHR 3523 00000000G 00 DD 00471
PUSHAB 292(R5) ;SHOW_8QU_MSG 0124 C5 9F 00477
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 0047B
PUSHL G^RCV_SOH ;RCV_SOH 3524 00000000G 00 DD 0047E
PUSHAB 244(R5) ;SHOW_SOH_MSG 00F4 C5 9F 00484
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 00488
64$: CMPL R2, #1 ;R2, #1 3527 01 52 D1 0048B
BEQL 65$ ;65$ 05 13 0048E
CMPL R2, #18 ;R2, #18 12 52 D1 00490
BNEQ 66$ ;66$ 45 12 00493
65$: PUSHAB 320(R5) ;SHOW_TRN_HDR 3529 0140 C5 9F 00495
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00499
MOVW R0, R3 ;R0, STATUS 53 50 B0 0049C
MOVL #17694800, (R4) ;#17694800, OUTPUT_DESC 3530 64 010E0050 8F D0 0049F
MOVAB -80(R4), 4(R4) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A4 B0 A4 9E 004A6
PUSHAB G^TRANS_DELAY ;TRANS_DELAY 3531 00000000G 00 9F 004AB
PUSHL #1 ;#1 01 DD 004B1
PUSHL R4 ;R4 54 DD 004B3
PUSHAB 8(R4) ;OUTPUT_SIZE 08 A4 9F 004B5
PUSHAB 372(R5) ;SHOW_TRD_MSG 0174 C5 9F 004B8
CALLS #5, (R8) ;#5, SYS$FAO 68 05 FB 004BC
MOVW 8(R4), (R4) ;OUTPUT_SIZE, OUTPUT_DESC 3532 64 08 A4 B0 004BF
PUSHL R4 ;R4 3533 54 DD 004C3
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 004C5
MOVW R0, R3 ;R0, STATUS 53 50 B0 004C8
PUSHAB G^TRANS_ECHO_FLAG ;TRANS_ECHO_FLAG 3534 00000000G 00 9F 004CB
PUSHAB 400(R5) ;SHOW_TRE_MSG 0190 C5 9F 004D1
CALLS #2, 341(R6) ;#2, OUTPUT_TRUE_FALSE 0155 C6 02 FB 004D5
66$: CMPL R2, #1 ;R2, #1 3537 01 52 D1 004DA
BEQL 67$ ;67$ 05 13 004DD
CMPL R2, #15 ;R2, #15 0F 52 D1 004DF
BNEQ 68$ ;68$ 0D 12 004E2
67$: PUSHL G^SET_REPT_CHR ;SET_REPT_CHR 3539 00000000G 00 DD 004E4
PUSHAB 448(R5) ;SHOW_RPT_MSG 01C0 C5 9F 004EA
CALLS #2, (R6) ;#2, OUTPUT_LONG_WORD 66 02 FB 004EE
68$: RET ; 3544 04 004F1
; Routine Size: 1266 bytes, Routine Base: $CODE$ + 08A4
; 3545 1 %SBTTL 'Command execution -- COMND_STATUS'
; 3546 1 ROUTINE COMND_STATUS : NOVALUE =
; 3547 1
; 3548 1 !++
; 3549 1 ! FUNCTIONAL DESCRIPTION:
; 3550 1 !
; 3551 1 ! This routine will display the status of Kermit-32.
; 3552 1 !
; 3553 1 ! CALLING SEQUENCE:
; 3554 1 !
; 3555 1 ! COMND_STATUS ();
; 3556 1 !
; 3557 1 ! INPUT PARAMETERS:
; 3558 1 !
; 3559 1 ! None.
; 3560 1 !
; 3561 1 ! IMPLICIT INPUTS:
; 3562 1 !
; 3563 1 ! None.
; 3564 1 !
; 3565 1 ! OUTPUT PARAMETERS:
; 3566 1 !
; 3567 1 ! None.
; 3568 1 !
; 3569 1 ! IMPLICIT OUTPUTS:
; 3570 1 !
; 3571 1 ! None.
; 3572 1 !
; 3573 1 ! COMPLETION CODES:
; 3574 1 !
; 3575 1 ! None.
; 3576 1 !
; 3577 1 ! SIDE EFFECTS:
; 3578 1 !
; 3579 1 ! None.
; 3580 1 !
; 3581 1 !--
; 3582 1
; 3583 2 BEGIN
; 3584 2
; 3585 2 LOCAL
; 3586 2 STATUS, ! Status returned by system call
; 3587 2 POINTER, ! Pointer to the LAST_ERROR text
; 3588 2 CHAR_COUNT; ! Character count
; 3589 2
; 3590 2 BIND
; 3591 2 TEXT_CR = %ASCID'',
; 3592 2 TEXT_BAUD = %ASCID' Effective data rate !ZL baud',
; 3593 2 TEXT_NAKS_SENT = %ASCID' NAKs received !ZL',
; 3594 2 TEXT_NAKS_RCV = %ASCID' NAKs sent !ZL',
; 3595 2 TEXT_PKTS_SENT = %ASCID' Packets sent !ZL',
; 3596 2 TEXT_PKTS_RCV = %ASCID' Packets received !ZL',
; 3597 2 TEXT_CHR_SENT = %ASCID' Characters sent !ZL',
; 3598 2 TEXT_DATA_CHAR_SENT = %ASCID' Data characters sent !ZL',
; 3599 2 TEXT_DATA_CHAR_RCV = %ASCID' Data characters received !ZL',
; 3600 2 TEXT_CHR_RCV = %ASCID' Characters received !ZL',
; 3601 2 TEXT_TOTAL_HDR = %ASCID'Totals since Kermit was started',
; 3602 2 TEXT_XFR_HDR = %ASCID'Totals for the last transfer';
; 3603 2
; 3604 2 STATUS = LIB$PUT_OUTPUT (TEXT_CR);
; 3605 2 STATUS = LIB$PUT_OUTPUT (TEXT_XFR_HDR);
; 3606 2 OUTPUT_LONG_WORD (TEXT_CHR_SENT, .SMSG_TOTAL_CHARS);
; 3607 2 OUTPUT_LONG_WORD (TEXT_DATA_CHAR_SENT, .SMSG_DATA_CHARS);
; 3608 2 OUTPUT_LONG_WORD (TEXT_NAKS_SENT, .SMSG_NAKS);
; 3609 2 OUTPUT_LONG_WORD (TEXT_PKTS_SENT, .SMSG_COUNT);
; 3610 2 OUTPUT_LONG_WORD (TEXT_CHR_RCV, .RMSG_TOTAL_CHARS);
; 3611 2 OUTPUT_LONG_WORD (TEXT_DATA_CHAR_RCV, .RMSG_DATA_CHARS);
; 3612 2 OUTPUT_LONG_WORD (TEXT_NAKS_RCV, .RMSG_NAKS);
; 3613 2 OUTPUT_LONG_WORD (TEXT_PKTS_RCV, .RMSG_COUNT);
; 3614 2
; 3615 2 IF .XFR_TIME NEQ 0
; 3616 2 THEN
; 3617 3 BEGIN
; 3618 3 LOCAL
; 3619 3 Data_Chars,
; 3620 3 Baud_Rate;
; 3621 3
; 3622 3 IF .RMSG_DATA_CHARS LEQ .SMSG_DATA_CHARS
; 3623 3 THEN Data_Chars = .SMSG_DATA_CHARS
; 3624 3 ELSE Data_Chars = .RMSG_DATA_CHARS;
; 3625 3
; 3626 3 Baud_Rate = .Data_Chars * 10 / ((.Xfr_Time + 500) / 1000);
; 3627 3 OUTPUT_LONG_WORD (TEXT_BAUD, .Baud_Rate);
; 3628 2 END;
; 3629 2 ! OUTPUT_LONG_WORD (TEXT_BAUD, .Baud_Rate);
; 3630 2 ! (((IF .RMSG_DATA_CHARS LEQ .SMSG_DATA_CHARS THEN .SMSG_DATA_CHARS ELSE .RMSG_DATA_CHARS)*10)/((
; 3631 2 ! .XFR_TIME + 500)/1000)));
; 3632 2
; 3633 2 STATUS = LIB$PUT_OUTPUT (TEXT_CR);
; 3634 2 STATUS = LIB$PUT_OUTPUT (TEXT_TOTAL_HDR);
; 3635 2 OUTPUT_LONG_WORD (TEXT_CHR_SENT, .SND_TOTAL_CHARS);
; 3636 2 OUTPUT_LONG_WORD (TEXT_DATA_CHAR_SENT, .SND_DATA_CHARS);
; 3637 2 OUTPUT_LONG_WORD (TEXT_NAKS_SENT, .SND_NAKS);
; 3638 2 OUTPUT_LONG_WORD (TEXT_PKTS_SENT, .SND_COUNT);
; 3639 2 OUTPUT_LONG_WORD (TEXT_CHR_RCV, .RCV_TOTAL_CHARS);
; 3640 2 OUTPUT_LONG_WORD (TEXT_DATA_CHAR_RCV, .RCV_DATA_CHARS);
; 3641 2 OUTPUT_LONG_WORD (TEXT_NAKS_RCV, .RCV_NAKS);
; 3642 2 OUTPUT_LONG_WORD (TEXT_PKTS_RCV, .RCV_COUNT);
; 3643 2
; 3644 2 IF .TOTAL_TIME NEQ 0
; 3645 2 THEN
; 3646 2 OUTPUT_LONG_WORD (TEXT_BAUD,
; 3647 2 (((.RCV_DATA_CHARS + .SND_DATA_CHARS)*10)/((.TOTAL_TIME + 500)/1000)));
; 3648 2
; 3649 2 !
; 3650 2 ! Output the error text if there is any
; 3651 2 !
; 3652 2 POINTER = CH$PTR (LAST_ERROR);
; 3653 2 CHAR_COUNT = 0;
; 3654 2
; 3655 2 WHILE CH$RCHAR_A (POINTER) NEQ CHR_NUL DO
; 3656 2 CHAR_COUNT = .CHAR_COUNT + 1;
; 3657 2
; 3658 2 IF .CHAR_COUNT NEQ 0
; 3659 2 THEN
; 3660 3 BEGIN
; 3661 3 INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
; 3662 3 STATUS = $FAO (%ASCID'Last error: !AD', OUTPUT_SIZE, OUTPUT_DESC, .CHAR_COUNT, LAST_ERROR);
; 3663 3
; 3664 3 IF NOT .STATUS
; 3665 3 THEN
; 3666 3 LIB$SIGNAL (.STATUS)
; 3667 3 ELSE
; 3668 4 BEGIN
; 3669 4 OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
; 3670 4 STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
; 3671 4
; 3672 4 IF NOT .STATUS THEN LIB$SIGNAL (.STATUS);
; 3673 4
; 3674 3 END;
; 3675 3
; 3676 2 END;
; 3677 2
; 3678 1 END; ! End of SHOW_STATUS
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AFD: .BLKB 0 ; 007BC
P.AFC: .LONG 17694720 ; 010E0000 007BC
.ADDRESS P.AFD ; 00000000' 007C0
P.AFF: .ASCII \ Effective data rate\<9>\!ZL baud\<0><0><0>
; 69 74 63 65 66 66 45 20 007C4
; 20 61 74 61 64 20 65 76 007CC
; 4C 5A 21 09 65 74 61 72 007D4
; 00 00 00 64 75 61 62 20 007DC
P.AFE: .LONG 17694749 ; 010E001D 007E4
.ADDRESS P.AFF ; 00000000' 007E8
P.AFH: .ASCII \ NAKs received\<9><9>\!ZL\<0> ; 65 72 20 73 4B 41 4E 20 007EC
; 09 09 64 65 76 69 65 63 007F4
; 00 4C 5A 21 007FC
P.AFG: .LONG 17694739 ; 010E0013 00800
.ADDRESS P.AFH ; 00000000' 00804
P.AFJ: .ASCII \ NAKs sent\<9><9>\!ZL\<0> ; 65 73 20 73 4B 41 4E 20 00808
; 00 4C 5A 21 09 09 74 6E 00810
P.AFI: .LONG 17694735 ; 010E000F 00818
.ADDRESS P.AFJ ; 00000000' 0081C
P.AFL: .ASCII \ Packets sent\<9><9>\!ZL\<0><0> ; 73 74 65 6B 63 61 50 20 00820
; 21 09 09 74 6E 65 73 20 00828
; 00 00 4C 5A 00830
P.AFK: .LONG 17694738 ; 010E0012 00834
.ADDRESS P.AFL ; 00000000' 00838
P.AFN: .ASCII \ Packets received\<9>\!ZL\<0><0><0>
; 73 74 65 6B 63 61 50 20 0083C
; 65 76 69 65 63 65 72 20 00844
; 00 00 00 4C 5A 21 09 64 0084C
P.AFM: .LONG 17694741 ; 010E0015 00854
.ADDRESS P.AFN ; 00000000' 00858
P.AFP: .ASCII \ Characters sent\<9>\!ZL\ ; 74 63 61 72 61 68 43 20 0085C
; 74 6E 65 73 20 73 72 65 00864
; 4C 5A 21 09 0086C
P.AFO: .LONG 17694740 ; 010E0014 00870
.ADDRESS P.AFP ; 00000000' 00874
P.AFR: .ASCII \ Data characters sent\<9>\!ZL\<0><0><0>
; 68 63 20 61 74 61 44 20 00878
; 73 72 65 74 63 61 72 61 00880
; 5A 21 09 74 6E 65 73 20 00888
; 00 00 00 4C 00890
P.AFQ: .LONG 17694745 ; 010E0019 00894
.ADDRESS P.AFR ; 00000000' 00898
P.AFT: .ASCII \ Data characters received !ZL\<0><0><0>
; 68 63 20 61 74 61 44 20 0089C
; 73 72 65 74 63 61 72 61 008A4
; 65 76 69 65 63 65 72 20 008AC
; 00 00 00 4C 5A 21 20 64 008B4
P.AFS: .LONG 17694749 ; 010E001D 008BC
.ADDRESS P.AFT ; 00000000' 008C0
P.AFV: .ASCII \ Characters received\<9>\!ZL\ ; 74 63 61 72 61 68 43 20 008C4
; 65 63 65 72 20 73 72 65 008CC
; 4C 5A 21 09 64 65 76 69 008D4
P.AFU: .LONG 17694744 ; 010E0018 008DC
.ADDRESS P.AFV ; 00000000' 008E0
P.AFX: .ASCII \Totals since Kermit was started\<0>
; 73 20 73 6C 61 74 6F 54 008E4
; 72 65 4B 20 65 63 6E 69 008EC
; 20 73 61 77 20 74 69 6D 008F4
; 00 64 65 74 72 61 74 73 008FC
P.AFW: .LONG 17694751 ; 010E001F 00904
.ADDRESS P.AFX ; 00000000' 00908
P.AFZ: .ASCII \Totals for the last transfer\ ; 66 20 73 6C 61 74 6F 54 0090C
; 6C 20 65 68 74 20 72 6F 00914
; 6E 61 72 74 20 74 73 61 0091C
; 72 65 66 73 00924
P.AFY: .LONG 17694748 ; 010E001C 00928
.ADDRESS P.AFZ ; 00000000' 0092C
P.AGB: .ASCII \Last error: !AD\<0> ; 72 72 65 20 74 73 61 4C 00930
; 00 44 41 21 20 3A 72 6F 00938
P.AGA: .LONG 17694735 ; 010E000F 00940
.ADDRESS P.AGB ; 00000000' 00944
U.1370= P.AFC
U.1371= P.AFE
U.1372= P.AFG
U.1373= P.AFI
U.1374= P.AFK
U.1375= P.AFM
U.1376= P.AFO
U.1377= P.AFQ
U.1378= P.AFS
U.1379= P.AFU
U.1380= P.AFW
U.1381= P.AFY
.PSECT $CODE$,NOWRT,2
;COMND_STATUS
U.8: .WORD ^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,- ;Save R2,R3,R4,R5,R6,R7,R8,R9,R10,- 3546 0FFC 00000
R11> ;R11
MOVAB G^RCV_DATA_CHARS, R11 ;RCV_DATA_CHARS, R11 5B 00000000G 00 9E 00002
MOVAB G^SND_DATA_CHARS, R10 ;SND_DATA_CHARS, R10 5A 00000000G 00 9E 00009
MOVAB G^RMSG_DATA_CHARS, R9 ;RMSG_DATA_CHARS, R9 59 00000000G 00 9E 00010
MOVAB G^SMSG_DATA_CHARS, R8 ;SMSG_DATA_CHARS, R8 58 00000000G 00 9E 00017
MOVAB G^LIB$PUT_OUTPUT, R7 ;LIB$PUT_OUTPUT, R7 57 00000000G 00 9E 0001E
MOVAB G^U.54, R6 ;U.54, R6 56 00000000' 00 9E 00025
MOVAB W^U.1314, R5 ;U.1314, R5 55 F933 CF 9E 0002C
MOVAB G^U.1370, R4 ;U.1370, R4 54 00000000' 00 9E 00031
PUSHL R4 ;R4 3604 54 DD 00038
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 0003A
MOVL R0, R3 ;R0, STATUS 53 50 D0 0003D
PUSHAB 364(R4) ;TEXT_XFR_HDR 3605 016C C4 9F 00040
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 00044
MOVL R0, R3 ;R0, STATUS 53 50 D0 00047
PUSHL G^SMSG_TOTAL_CHARS ;SMSG_TOTAL_CHARS 3606 00000000G 00 DD 0004A
PUSHAB 180(R4) ;TEXT_CHR_SENT 00B4 C4 9F 00050
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00054
PUSHL (R8) ;SMSG_DATA_CHARS 3607 68 DD 00057
PUSHAB 216(R4) ;TEXT_DATA_CHAR_SENT 00D8 C4 9F 00059
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 0005D
PUSHL G^SMSG_NAKS ;SMSG_NAKS 3608 00000000G 00 DD 00060
PUSHAB 68(R4) ;TEXT_NAKS_SENT 44 A4 9F 00066
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00069
PUSHL G^SMSG_COUNT ;SMSG_COUNT 3609 00000000G 00 DD 0006C
PUSHAB 120(R4) ;TEXT_PKTS_SENT 78 A4 9F 00072
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00075
PUSHL G^RMSG_TOTAL_CHARS ;RMSG_TOTAL_CHARS 3610 00000000G 00 DD 00078
PUSHAB 288(R4) ;TEXT_CHR_RCV 0120 C4 9F 0007E
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00082
PUSHL (R9) ;RMSG_DATA_CHARS 3611 69 DD 00085
PUSHAB 256(R4) ;TEXT_DATA_CHAR_RCV 0100 C4 9F 00087
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 0008B
PUSHL G^RMSG_NAKS ;RMSG_NAKS 3612 00000000G 00 DD 0008E
PUSHAB 92(R4) ;TEXT_NAKS_RCV 5C A4 9F 00094
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00097
PUSHL G^RMSG_COUNT ;RMSG_COUNT 3613 00000000G 00 DD 0009A
PUSHAB 152(R4) ;TEXT_PKTS_RCV 0098 C4 9F 000A0
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 000A4
MOVL G^XFR_TIME, R0 ;XFR_TIME, R0 3615 50 00000000G 00 D0 000A7
BEQL 2$ ;2$ 29 13 000AE
MOVL (R9), R1 ;RMSG_DATA_CHARS, R1 3622 51 69 D0 000B0
MOVL (R8), R2 ;SMSG_DATA_CHARS, R2 52 68 D0 000B3
CMPL R1, R2 ;R1, R2 52 51 D1 000B6
BGTR 1$ ;1$ 03 14 000B9
MOVL R2, R1 ;R2, DATA_CHARS 3623 51 52 D0 000BB
1$: MULL2 #10, R1 ;#10, R1 3626 51 0A C4 000BE
MOVAB 500(R0), R0 ;500(R0), R0 50 01F4 C0 9E 000C1
DIVL2 #1000, R0 ;#1000, R0 50 000003E8 8F C6 000C6
DIVL3 R0, R1, R0 ;R0, R1, BAUD_RATE 51 50 C7 000CD
; 50 000D0
PUSHL R0 ;BAUD_RATE 3627 50 DD 000D1
PUSHAB 40(R4) ;TEXT_BAUD 28 A4 9F 000D3
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 000D6
2$: PUSHL R4 ;R4 3633 54 DD 000D9
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 000DB
MOVL R0, R3 ;R0, STATUS 53 50 D0 000DE
PUSHAB 328(R4) ;TEXT_TOTAL_HDR 3634 0148 C4 9F 000E1
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 000E5
MOVL R0, R3 ;R0, STATUS 53 50 D0 000E8
PUSHL G^SND_TOTAL_CHARS ;SND_TOTAL_CHARS 3635 00000000G 00 DD 000EB
PUSHAB 180(R4) ;TEXT_CHR_SENT 00B4 C4 9F 000F1
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 000F5
PUSHL (R10) ;SND_DATA_CHARS 3636 6A DD 000F8
PUSHAB 216(R4) ;TEXT_DATA_CHAR_SENT 00D8 C4 9F 000FA
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 000FE
PUSHL G^SND_NAKS ;SND_NAKS 3637 00000000G 00 DD 00101
PUSHAB 68(R4) ;TEXT_NAKS_SENT 44 A4 9F 00107
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 0010A
PUSHL G^SND_COUNT ;SND_COUNT 3638 00000000G 00 DD 0010D
PUSHAB 120(R4) ;TEXT_PKTS_SENT 78 A4 9F 00113
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00116
PUSHL G^RCV_TOTAL_CHARS ;RCV_TOTAL_CHARS 3639 00000000G 00 DD 00119
PUSHAB 288(R4) ;TEXT_CHR_RCV 0120 C4 9F 0011F
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00123
PUSHL (R11) ;RCV_DATA_CHARS 3640 6B DD 00126
PUSHAB 256(R4) ;TEXT_DATA_CHAR_RCV 0100 C4 9F 00128
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 0012C
PUSHL G^RCV_NAKS ;RCV_NAKS 3641 00000000G 00 DD 0012F
PUSHAB 92(R4) ;TEXT_NAKS_RCV 5C A4 9F 00135
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00138
PUSHL G^RCV_COUNT ;RCV_COUNT 3642 00000000G 00 DD 0013B
PUSHAB 152(R4) ;TEXT_PKTS_RCV 0098 C4 9F 00141
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 00145
MOVL G^TOTAL_TIME, R0 ;TOTAL_TIME, R0 3644 50 00000000G 00 D0 00148
BEQL 3$ ;3$ 1D 13 0014F
ADDL3 (R10), (R11), R1 ;SND_DATA_CHARS, RCV_DATA_CHARS, R1 3647 6B 6A C1 00151
; 51 00154
MULL2 #10, R1 ;#10, R1 51 0A C4 00155
MOVAB 500(R0), R0 ;500(R0), R0 50 01F4 C0 9E 00158
DIVL2 #1000, R0 ;#1000, R0 50 000003E8 8F C6 0015D
DIVL3 R0, R1, -(SP) ;R0, R1, -(SP) 51 50 C7 00164
; 7E 00167
PUSHAB 40(R4) ;TEXT_BAUD 3646 28 A4 9F 00168
CALLS #2, (R5) ;#2, OUTPUT_LONG_WORD 65 02 FB 0016B
3$: MOVAB G^LAST_ERROR, R1 ;LAST_ERROR, POINTER 3652 51 00000000G 00 9E 0016E
CLRL R0 ;CHAR_COUNT 3653 50 D4 00175
4$: MOVZBL (R1)+, R2 ;(POINTER)+, R2 3655 52 81 9A 00177
BEQL 5$ ;5$ 04 13 0017A
INCL R0 ;CHAR_COUNT 3656 50 D6 0017C
BRB 4$ ;4$ F7 11 0017E
5$: TSTL R0 ;CHAR_COUNT 3658 50 D5 00180
BEQL 7$ ;7$ 42 13 00182
MOVL #17694800, (R6) ;#17694800, OUTPUT_DESC 3661 66 010E0050 8F D0 00184
MOVAB -80(R6), 4(R6) ;OUTPUT_LINE, OUTPUT_DESC+4 04 A6 B0 A6 9E 0018B
PUSHAB G^LAST_ERROR ;LAST_ERROR 3662 00000000G 00 9F 00190
PUSHL R0 ;CHAR_COUNT 50 DD 00196
PUSHL R6 ;R6 56 DD 00198
PUSHAB 8(R6) ;OUTPUT_SIZE 08 A6 9F 0019A
PUSHAB 388(R4) ;P.AGA 0184 C4 9F 0019D
CALLS #5, G^SYS$FAO ;#5, SYS$FAO 00000000G 00 05 FB 001A1
MOVL R0, R3 ;R0, STATUS 53 50 D0 001A8
BLBC R3, 6$ ;STATUS, 6$ 3664 0F 53 E9 001AB
MOVW 8(R6), (R6) ;OUTPUT_SIZE, OUTPUT_DESC 3669 66 08 A6 B0 001AE
PUSHL R6 ;R6 3670 56 DD 001B2
CALLS #1, (R7) ;#1, LIB$PUT_OUTPUT 67 01 FB 001B4
MOVL R0, R3 ;R0, STATUS 53 50 D0 001B7
BLBS R3, 7$ ;STATUS, 7$ 3672 09 53 E8 001BA
6$: PUSHL R3 ;STATUS 53 DD 001BD
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 001BF
7$: RET ; 3678 04 001C6
; Routine Size: 455 bytes, Routine Base: $CODE$ + 0D96
; 3679 1 %SBTTL 'GET_REM_ARGS - Get extra arguments for remote commands'
; 3680 1 ROUTINE GET_REM_ARGS (LOCAL_FLAG) =
; 3681 1
; 3682 1 !++
; 3683 1 ! FUNCTIONAL DESCRIPTION:
; 3684 1 !
; 3685 1 ! This routine will get any extra arguments required for remote commands.
; 3686 1 !It will prompt the user and get the input from SYS$COMMAND:.
; 3687 1 !
; 3688 1 ! CALLING SEQUENCE:
; 3689 1 !
; 3690 1 ! STATUS = GET_REM_ARGS (LOCAL_FLAG);
; 3691 1 !
; 3692 1 ! INPUT PARAMETERS:
; 3693 1 !
; 3694 1 ! LOCAL_FLAG - If true, this is for a LOCAL xxx command. Only get the
; 3695 1 ! arguments we know we need for local commands. Otherwise
; 3696 1 ! get all possible arguments.
; 3697 1 !
; 3698 1 ! IMPLICIT INPUTS:
; 3699 1 !
; 3700 1 ! REM_TYPE - Type of remote command to get arguments for.
; 3701 1 !
; 3702 1 ! OUPTUT PARAMETERS:
; 3703 1 !
; 3704 1 ! None.
; 3705 1 !
; 3706 1 ! IMPLICIT OUTPUTS:
; 3707 1 !
; 3708 1 ! GEN_xDATA, GEN_xSIZE - Text and sizes of arguments
; 3709 1 !
; 3710 1 ! COMPLETION CODES:
; 3711 1 !
; 3712 1 ! Status values from subroutines called if in error.
; 3713 1 !
; 3714 1 ! SIDE EFFECTS:
; 3715 1 !
; 3716 1 ! None.
; 3717 1 !
; 3718 1 !--
; 3719 1
; 3720 2 BEGIN
; 3721 2
; 3722 2 EXTERNAL ROUTINE
; 3723 2 GET_COMMAND; ! Get line from SYS$COMMAND:
; 3724 2
; 3725 2 LOCAL
; 3726 2 GEN_2DESC : BLOCK [8, BYTE], ! Descriptor for second argument
; 3727 2 GEN_3DESC : BLOCK [8, BYTE], ! Descriptor for third argument
; 3728 2 STATUS; ! Random status values
; 3729 2
; 3730 2 !
; 3731 2 ! Set up descriptors for second and third arguments
; 3732 2 !
; 3733 2 INIT_STR_DESC (GEN_2DESC, GEN_2DATA, MAX_MSG);
; 3734 2 INIT_STR_DESC (GEN_3DESC, GEN_3DATA, MAX_MSG);
; 3735 2
; 3736 2 SELECTONE .REM_TYPE OF
; 3737 2 SET
; 3738 2
; 3739 2 [GC_CONNECT] :
; 3740 2
; 3741 2 IF NOT .LOCAL_FLAG AND .GEN_1SIZE GTR 0
; 3742 2 THEN
; 3743 2 RETURN GET_COMMAND (GEN_2DESC, %ASCID'Password: ',
; 3744 2 GEN_2SIZE, FALSE);
; 3745 2
; 3746 2 [GC_COPY, GC_RENAME] :
; 3747 2
; 3748 2 WHILE TRUE DO
; 3749 3 BEGIN
; 3750 3 STATUS = GET_COMMAND (GEN_2DESC, %ASCID'New file: ', GEN_2SIZE, TRUE);
; 3751 3
; 3752 3 IF NOT .STATUS OR .GEN_2SIZE NEQ 0 THEN RETURN .STATUS;
; 3753 3
; 3754 2 END;
; 3755 2
; 3756 2 [GC_LGN] :
; 3757 3 BEGIN
; 3758 3 STATUS = GET_COMMAND (GEN_3DESC, %ASCID'Account: ', GEN_3SIZE, TRUE);
; 3759 3
; 3760 3 IF NOT .STATUS THEN RETURN .STATUS;
; 3761 3
; 3762 3 RETURN GET_COMMAND (GEN_2DESC, %ASCID'Password: ', GEN_2SIZE, FALSE);
; 3763 2 END;
; 3764 2
; 3765 2 [GC_SEND_MSG] :
; 3766 2 RETURN GET_COMMAND (GEN_2DESC, %ASCID'Message: ', GEN_2SIZE, TRUE);
; 3767 2
; 3768 2 [GC_WHO] :
; 3769 2
; 3770 2 IF NOT .LOCAL_FLAG THEN RETURN GET_COMMAND (GEN_2DESC, %ASCID'Options: ', GEN_2SIZE, TRUE);
; 3771 2
; 3772 2 TES;
; 3773 2
; 3774 2 !
; 3775 2 ! If we fall out of the SELECT, we don't need any arguments
; 3776 2 !
; 3777 2 RETURN TRUE;
; 3778 1 END; ! End of GET_REM_ARGS
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AGD: .ASCII \Password: \<0><0> ; 64 72 6F 77 73 73 61 50 00948
; 00 00 20 3A 00950
P.AGC: .LONG 17694730 ; 010E000A 00954
.ADDRESS P.AGD ; 00000000' 00958
P.AGF: .ASCII \New file: \<0><0> ; 65 6C 69 66 20 77 65 4E 0095C
; 00 00 20 3A 00964
P.AGE: .LONG 17694730 ; 010E000A 00968
.ADDRESS P.AGF ; 00000000' 0096C
P.AGH: .ASCII \Account: \<0><0><0> ; 3A 74 6E 75 6F 63 63 41 00970
; 00 00 00 20 00978
P.AGG: .LONG 17694729 ; 010E0009 0097C
.ADDRESS P.AGH ; 00000000' 00980
P.AGJ: .ASCII \Password: \<0><0> ; 64 72 6F 77 73 73 61 50 00984
; 00 00 20 3A 0098C
P.AGI: .LONG 17694730 ; 010E000A 00990
.ADDRESS P.AGJ ; 00000000' 00994
P.AGL: .ASCII \Message: \<0><0><0> ; 3A 65 67 61 73 73 65 4D 00998
; 00 00 00 20 009A0
P.AGK: .LONG 17694729 ; 010E0009 009A4
.ADDRESS P.AGL ; 00000000' 009A8
P.AGN: .ASCII \Options: \<0><0><0> ; 3A 73 6E 6F 69 74 70 4F 009AC
; 00 00 00 20 009B4
P.AGM: .LONG 17694729 ; 010E0009 009B8
.ADDRESS P.AGN ; 00000000' 009BC
.PSECT $CODE$,NOWRT,2
;GET_REM_ARGS
U.11: .WORD ^M<R2,R3,R4> ;Save R2,R3,R4 3680 001C 00000
MOVAB G^GET_COMMAND, R4 ;GET_COMMAND, R4 54 00000000G 00 9E 00002
MOVAB G^P.AGC, R3 ;P.AGC, R3 53 00000000' 00 9E 00009
MOVAB G^GEN_2SIZE, R2 ;GEN_2SIZE, R2 52 00000000G 00 9E 00010
SUBL2 #12, SP ;#12, SP 5E 0C C2 00017
MOVL #17695722, 4(SP) ;#17695722, GEN_2DESC 3733 04 AE 010E03EA 8F D0 0001A
MOVAB G^GEN_2DATA, 8(SP) ;GEN_2DATA, GEN_2DESC+4 08 AE 00000000G 00 9E 00022
PUSHL #17695722 ;#17695722 3734 010E03EA 8F DD 0002A
MOVAB G^GEN_3DATA, 4(SP) ;GEN_3DATA, GEN_3DESC+4 04 AE 00000000G 00 9E 00030
MOVL G^U.51, R1 ;U.51, R1 3736 51 00000000' 00 D0 00038
CMPL R1, #9 ;R1, #9 3739 09 51 D1 0003F
BNEQ 1$ ;1$ 14 12 00042
BLBS 4(AP), 7$ ;LOCAL_FLAG, 7$ 3741 76 04 AC E8 00044
TSTL G^GEN_1SIZE ;GEN_1SIZE 00000000G 00 D5 00048
BLEQ 7$ ;7$ 6E 15 0004E
CLRL -(SP) ;-(SP) 3744 7E D4 00050
PUSHL R2 ;R2 52 DD 00052
PUSHL R3 ;R3 3743 53 DD 00054
BRB 6$ ;6$ 5F 11 00056
1$: CMPL R1, #10 ;R1, #10 3746 0A 51 D1 00058
BLSS 3$ ;3$ 1A 19 0005B
CMPL R1, #11 ;R1, #11 0B 51 D1 0005D
BGTR 3$ ;3$ 15 14 00060
2$: PUSHL #1 ;#1 3750 01 DD 00062
PUSHL R2 ;R2 52 DD 00064
PUSHAB 20(R3) ;P.AGE 14 A3 9F 00066
PUSHAB 20(SP) ;GEN_2DESC 14 AE 9F 00069
CALLS #4, (R4) ;#4, GET_COMMAND 64 04 FB 0006C
BLBC R0, 8$ ;STATUS, 8$ 3752 4F 50 E9 0006F
TSTL (R2) ;GEN_2SIZE 62 D5 00072
BEQL 2$ ;2$ EC 13 00074
RET ; 04 00076
3$: CMPL R1, #8 ;R1, #8 3756 08 51 D1 00077
BNEQ 4$ ;4$ 1D 12 0007A
PUSHL #1 ;#1 3758 01 DD 0007C
PUSHAB G^GEN_3SIZE ;GEN_3SIZE 00000000G 00 9F 0007E
PUSHAB 40(R3) ;P.AGG 28 A3 9F 00084
PUSHAB 12(SP) ;GEN_3DESC 0C AE 9F 00087
CALLS #4, (R4) ;#4, GET_COMMAND 64 04 FB 0008A
BLBC R0, 8$ ;STATUS, 8$ 3760 31 50 E9 0008D
CLRL -(SP) ;-(SP) 3762 7E D4 00090
PUSHL R2 ;R2 52 DD 00092
PUSHAB 60(R3) ;P.AGI 3C A3 9F 00094
BRB 6$ ;6$ 1E 11 00097
4$: CMPL R1, #13 ;R1, #13 3765 0D 51 D1 00099
BNEQ 5$ ;5$ 09 12 0009C
PUSHL #1 ;#1 3766 01 DD 0009E
PUSHL R2 ;R2 52 DD 000A0
PUSHAB 80(R3) ;P.AGK 50 A3 9F 000A2
BRB 6$ ;6$ 10 11 000A5
5$: CMPL R1, #12 ;R1, #12 3768 0C 51 D1 000A7
BNEQ 7$ ;7$ 12 12 000AA
BLBS 4(AP), 7$ ;LOCAL_FLAG, 7$ 3770 0E 04 AC E8 000AC
PUSHL #1 ;#1 01 DD 000B0
PUSHL R2 ;R2 52 DD 000B2
PUSHAB 100(R3) ;P.AGM 64 A3 9F 000B4
6$: PUSHAB 20(SP) ;GEN_2DESC 14 AE 9F 000B7
CALLS #4, (R4) ;#4, GET_COMMAND 64 04 FB 000BA
RET ; 04 000BD
7$: MOVL #1, R0 ;#1, R0 3777 50 01 D0 000BE
8$: RET ; 04 000C1
; Routine Size: 194 bytes, Routine Base: $CODE$ + 0F5D
; 3779 1 %SBTTL 'TPARSE support -- STORE_BLOCKSIZE'
; 3780 1 ROUTINE STORE_BLOCKSIZE =
; 3781 1
; 3782 1 !++
; 3783 1 ! FUNCTIONAL DESCRIPTION:
; 3784 1 !
; 3785 1 ! This routine will store the blocksize to be used when creating
; 3786 1 ! BINARY and FIXED files.
; 3787 1 !
; 3788 1 ! CALLING SEQUENCE:
; 3789 1 !
; 3790 1 ! Standard LIB$TPARSE routine call.
; 3791 1 !
; 3792 1 ! INPUT PARAMETERS:
; 3793 1 !
; 3794 1 ! None.
; 3795 1 !
; 3796 1 ! IMPLICIT INPUTS:
; 3797 1 !
; 3798 1 ! None.
; 3799 1 !
; 3800 1 ! OUTPUT PARAMETERS:
; 3801 1 !
; 3802 1 ! None.
; 3803 1 !
; 3804 1 ! IMPLICIT OUTPUTS:
; 3805 1 !
; 3806 1 ! None.
; 3807 1 !
; 3808 1 ! COMPLETION CODES:
; 3809 1 !
; 3810 1 ! None.
; 3811 1 !
; 3812 1 ! SIDE EFFECTS:
; 3813 1 !
; 3814 1 ! None.
; 3815 1 !
; 3816 1 !--
; 3817 1
; 3818 2 BEGIN
; 3819 2 TPARSE_ARGS;
; 3820 2 ! file_blocksize = .AP [TPA$L_PARAM];
; 3821 2 file_blocksize_set = 1;
; 3822 2 RETURN SS$_NORMAL;
; 3823 1 END; ! End of STORE_BLOCKSIZE
;STORE_BLOCKSIZE
U.17: .WORD ^M<> ;Save nothing 3780 0000 00000
MOVL #1, G^FILE_BLOCKSIZE_SET ;#1, FILE_BLOCKSIZE_SET 3821 00000000G 00 01 D0 00002
MOVL #1, R0 ;#1, R0 3822 50 01 D0 00009
RET ; 04 0000C
; Routine Size: 13 bytes, Routine Base: $CODE$ + 101F
; 3824 1 %SBTTL 'TPARSE support -- STORE_DEBUG'
; 3825 1 ROUTINE STORE_DEBUG =
; 3826 1
; 3827 1 !++
; 3828 1 ! FUNCTIONAL DESCRIPTION:
; 3829 1 !
; 3830 1 ! This routine will store the debug flag into the DEBUG_FLAG
; 3831 1 ! location.
; 3832 1 !
; 3833 1 ! CALLING SEQUENCE:
; 3834 1 !
; 3835 1 ! Standard LIB$TPARSE routine call.
; 3836 1 !
; 3837 1 ! INPUT PARAMETERS:
; 3838 1 !
; 3839 1 ! None.
; 3840 1 !
; 3841 1 ! IMPLICIT INPUTS:
; 3842 1 !
; 3843 1 ! None.
; 3844 1 !
; 3845 1 ! OUTPUT PARAMETERS:
; 3846 1 !
; 3847 1 ! None.
; 3848 1 !
; 3849 1 ! IMPLICIT OUTPUTS:
; 3850 1 !
; 3851 1 ! None.
; 3852 1 !
; 3853 1 ! COMPLETION CODES:
; 3854 1 !
; 3855 1 ! None.
; 3856 1 !
; 3857 1 ! SIDE EFFECTS:
; 3858 1 !
; 3859 1 ! None.
; 3860 1 !
; 3861 1 !--
; 3862 1
; 3863 2 BEGIN
; 3864 2 TPARSE_ARGS;
; 3865 2 DEBUG_FLAG = .AP [TPA$L_PARAM];
; 3866 2 RETURN SS$_NORMAL;
; 3867 1 END; ! End of STORE_DEBUG
;STORE_DEBUG
U.18: .WORD ^M<> ;Save nothing 3825 0000 00000
MOVL 32(AP), G^DEBUG_FLAG ;32(AP), DEBUG_FLAG 3865 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 3866 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 102C
; 3868 1 %SBTTL 'TPARSE support -- STORE_TR_DELAY'
; 3869 1 ROUTINE STORE_TR_DELAY = ! and below
; 3870 1
; 3871 1 !++
; 3872 1 ! FUNCTIONAL DESCRIPTION:
; 3873 1 !
; 3874 1 ! This routine will store the transmit delay into the
; 3875 1 ! TRANS_DELAY location.
; 3876 1 !
; 3877 1 ! CALLING SEQUENCE:
; 3878 1 !
; 3879 1 ! Standard LIB$TPARSE routine call.
; 3880 1 !
; 3881 1 ! INPUT PARAMETERS:
; 3882 1 !
; 3883 1 ! None.
; 3884 1 !
; 3885 1 ! IMPLICIT INPUTS:
; 3886 1 !
; 3887 1 ! None.
; 3888 1 !
; 3889 1 ! OUTPUT PARAMETERS:
; 3890 1 !
; 3891 1 ! None.
; 3892 1 !
; 3893 1 ! IMPLICIT OUTPUTS:
; 3894 1 !
; 3895 1 ! None.
; 3896 1 !
; 3897 1 ! COMPLETION CODES:
; 3898 1 !
; 3899 1 ! None.
; 3900 1 !
; 3901 1 ! SIDE EFFECTS:
; 3902 1 !
; 3903 1 ! None.
; 3904 1 !
; 3905 1 !--
; 3906 1
; 3907 2 BEGIN !
; 3908 2 TPARSE_ARGS; !
; 3909 2 TRANS_DELAY = .AP [TPA$L_PARAM]; !
; 3910 2 RETURN SS$_NORMAL; !
; 3911 1 END; ! End of STORE_TR_DELAY
;STORE_TR_DELAY
U.20: .WORD ^M<> ;Save nothing 3869 0000 00000
MOVL 32(AP), G^TRANS_DELAY ;32(AP), TRANS_DELAY 3909 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 3910 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 103A
; 3912 1 %SBTTL 'TPARSE support -- STORE_TR_ECHO'
; 3913 1 ROUTINE STORE_TR_ECHO = ! and below
; 3914 1
; 3915 1 !++
; 3916 1 ! FUNCTIONAL DESCRIPTION:
; 3917 1 !
; 3918 1 ! This routine will store the transmit echo flag into the
; 3919 1 ! TRANS_ECHO_FLAG location.
; 3920 1 !
; 3921 1 ! CALLING SEQUENCE:
; 3922 1 !
; 3923 1 ! Standard LIB$TPARSE routine call.
; 3924 1 !
; 3925 1 ! INPUT PARAMETERS:
; 3926 1 !
; 3927 1 ! None.
; 3928 1 !
; 3929 1 ! IMPLICIT INPUTS:
; 3930 1 !
; 3931 1 ! None.
; 3932 1 !
; 3933 1 ! OUTPUT PARAMETERS:
; 3934 1 !
; 3935 1 ! None.
; 3936 1 !
; 3937 1 ! IMPLICIT OUTPUTS:
; 3938 1 !
; 3939 1 ! None.
; 3940 1 !
; 3941 1 ! COMPLETION CODES:
; 3942 1 !
; 3943 1 ! None.
; 3944 1 !
; 3945 1 ! SIDE EFFECTS:
; 3946 1 !
; 3947 1 ! None.
; 3948 1 !
; 3949 1 !--
; 3950 1
; 3951 2 BEGIN !
; 3952 2 TPARSE_ARGS; !
; 3953 2 TRANS_ECHO_FLAG = .AP [TPA$L_PARAM]; !
; 3954 2 RETURN SS$_NORMAL; !
; 3955 1 END; ! End of STORE_TR_ECHO
;STORE_TR_ECHO
U.19: .WORD ^M<> ;Save nothing 3913 0000 00000
MOVL 32(AP), G^TRANS_ECHO_FLAG ;32(AP), TRANS_ECHO_FLAG 3953 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 3954 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 1048
; 3956 1
; 3957 1 %SBTTL 'TPARSE support -- STORE_IBM'
; 3958 1 ROUTINE STORE_IBM =
; 3959 1
; 3960 1 !++
; 3961 1 ! FUNCTIONAL DESCRIPTION:
; 3962 1 !
; 3963 1 ! This routine will store the IBM flag into the IBM_FLAG
; 3964 1 ! location.
; 3965 1 !
; 3966 1 ! CALLING SEQUENCE:
; 3967 1 !
; 3968 1 ! Standard LIB$TPARSE routine call.
; 3969 1 !
; 3970 1 ! INPUT PARAMETERS:
; 3971 1 !
; 3972 1 ! None.
; 3973 1 !
; 3974 1 ! IMPLICIT INPUTS:
; 3975 1 !
; 3976 1 ! None.
; 3977 1 !
; 3978 1 ! OUTPUT PARAMETERS:
; 3979 1 !
; 3980 1 ! None.
; 3981 1 !
; 3982 1 ! IMPLICIT OUTPUTS:
; 3983 1 !
; 3984 1 ! None.
; 3985 1 !
; 3986 1 ! COMPLETION CODES:
; 3987 1 !
; 3988 1 ! None.
; 3989 1 !
; 3990 1 ! SIDE EFFECTS:
; 3991 1 !
; 3992 1 ! None.
; 3993 1 !
; 3994 1 !--
; 3995 1
; 3996 2 BEGIN
; 3997 2
; 3998 2 EXTERNAL LITERAL
; 3999 2 IBM_MODE_ECHO : WEAK, ! IBM mode echo value
; 4000 2 IBM_MODE_PARITY : WEAK, ! Default parity
; 4001 2 IBM_MODE_CHARACTER : WEAK; ! And handshake character for
; 4002 2
; 4003 2 ! IBM mode
; 4004 2 TPARSE_ARGS;
; 4005 2
; 4006 2 IF .AP [TPA$L_PARAM]
; 4007 2 THEN
; 4008 3 BEGIN
; 4009 3 IBM_CHAR = (IF IBM_MODE_CHARACTER NEQ 0 THEN IBM_MODE_CHARACTER ELSE CHR_DC1);
; 4010 3 PARITY_TYPE = (IF IBM_MODE_PARITY NEQ 0 THEN IBM_MODE_PARITY ELSE PR_MARK);
; 4011 3 ECHO_FLAG = (IF IBM_MODE_ECHO NEQ 0 THEN IBM_MODE_ECHO ELSE TRUE);
; 4012 3 END
; 4013 2 ELSE
; 4014 3 BEGIN
; 4015 3 IBM_CHAR = -1; ! Turn IBM mode off
; 4016 3 ECHO_FLAG = FALSE; ! No local echo
; 4017 3 PARITY_TYPE = PR_NONE; ! and no parity
; 4018 2 END;
; 4019 2
; 4020 2 RETURN SS$_NORMAL;
; 4021 1 END; ! End of STORE_IBM
.WEAK IBM_MODE_ECHO, IBM_MODE_PARITY, IBM_MODE_CHARACTER
;STORE_IBM
U.27: .WORD ^M<R2,R3,R4,R5,R6,R7> ;Save R2,R3,R4,R5,R6,R7 3958 00FC 00000
MOVL #IBM_MODE_CHARACTER, R7 ;#IBM_MODE_CHARACTER, R7 57 00000000G 8F D0 00002
MOVAB G^ECHO_FLAG, R6 ;ECHO_FLAG, R6 56 00000000G 00 9E 00009
MOVL #IBM_MODE_ECHO, R5 ;#IBM_MODE_ECHO, R5 55 00000000G 8F D0 00010
MOVAB G^PARITY_TYPE, R4 ;PARITY_TYPE, R4 54 00000000G 00 9E 00017
MOVL #IBM_MODE_PARITY, R3 ;#IBM_MODE_PARITY, R3 53 00000000G 8F D0 0001E
MOVAB G^IBM_CHAR, R2 ;IBM_CHAR, R2 52 00000000G 00 9E 00025
BLBC 32(AP), 7$ ;32(AP), 7$ 4006 2F 20 AC E9 0002C
TSTL R7 ;R7 4009 57 D5 00030
BEQL 1$ ;1$ 05 13 00032
MOVL R7, R0 ;R7, R0 50 57 D0 00034
BRB 2$ ;2$ 03 11 00037
1$: MOVL #17, R0 ;#17, R0 50 11 D0 00039
2$: MOVL R0, (R2) ;R0, IBM_CHAR 62 50 D0 0003C
TSTL R3 ;R3 4010 53 D5 0003F
BEQL 3$ ;3$ 05 13 00041
MOVL R3, R0 ;R3, R0 50 53 D0 00043
BRB 4$ ;4$ 03 11 00046
3$: MOVL #1, R0 ;#1, R0 50 01 D0 00048
4$: MOVL R0, (R4) ;R0, PARITY_TYPE 64 50 D0 0004B
TSTL R5 ;R5 4011 55 D5 0004E
BEQL 5$ ;5$ 05 13 00050
MOVL R5, R0 ;R5, R0 50 55 D0 00052
BRB 6$ ;6$ 03 11 00055
5$: MOVL #1, R0 ;#1, R0 50 01 D0 00057
6$: MOVL R0, (R6) ;R0, ECHO_FLAG 66 50 D0 0005A
BRB 8$ ;8$ 07 11 0005D
7$: MNEGL #1, (R2) ;#1, IBM_CHAR 4015 62 01 CE 0005F
CLRL (R6) ;ECHO_FLAG 4016 66 D4 00062
CLRL (R4) ;PARITY_TYPE 4017 64 D4 00064
8$: MOVL #1, R0 ;#1, R0 4020 50 01 D0 00066
RET ; 04 00069
; Routine Size: 106 bytes, Routine Base: $CODE$ + 1056
; 4022 1 %SBTTL 'TPARSE support -- STORE_ABT'
; 4023 1 ROUTINE STORE_ABT =
; 4024 1
; 4025 1 !++
; 4026 1 ! FUNCTIONAL DESCRIPTION:
; 4027 1 !
; 4028 1 ! This routine will store the aborted file disposition into ABT_FLAG
; 4029 1 !
; 4030 1 ! CALLING SEQUENCE:
; 4031 1 !
; 4032 1 ! Standard LIB$TPARSE routine call.
; 4033 1 !
; 4034 1 ! INPUT PARAMETERS:
; 4035 1 !
; 4036 1 ! None.
; 4037 1 !
; 4038 1 ! IMPLICIT INPUTS:
; 4039 1 !
; 4040 1 ! None.
; 4041 1 !
; 4042 1 ! OUTPUT PARAMETERS:
; 4043 1 !
; 4044 1 ! None.
; 4045 1 !
; 4046 1 ! IMPLICIT OUTPUTS:
; 4047 1 !
; 4048 1 ! None.
; 4049 1 !
; 4050 1 ! COMPLETION CODES:
; 4051 1 !
; 4052 1 ! None.
; 4053 1 !
; 4054 1 ! SIDE EFFECTS:
; 4055 1 !
; 4056 1 ! None.
; 4057 1 !
; 4058 1 !--
; 4059 1
; 4060 2 BEGIN
; 4061 2 TPARSE_ARGS;
; 4062 2 ABT_FLAG = .AP [TPA$L_PARAM];
; 4063 2 RETURN SS$_NORMAL;
; 4064 1 END; ! End of STORE_ABT
;STORE_ABT
U.26: .WORD ^M<> ;Save nothing 4023 0000 00000
MOVL 32(AP), G^ABT_FLAG ;32(AP), ABT_FLAG 4062 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4063 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 10C0
; 4065 1 %SBTTL 'TPARSE support -- STORE_CHK'
; 4066 1 ROUTINE STORE_CHK =
; 4067 1
; 4068 1 !++
; 4069 1 ! FUNCTIONAL DESCRIPTION:
; 4070 1 !
; 4071 1 ! This routine will store the block check type into XXXX
; 4072 1 ! location.
; 4073 1 !
; 4074 1 ! CALLING SEQUENCE:
; 4075 1 !
; 4076 1 ! Standard LIB$TPARSE routine call.
; 4077 1 !
; 4078 1 ! INPUT PARAMETERS:
; 4079 1 !
; 4080 1 ! None.
; 4081 1 !
; 4082 1 ! IMPLICIT INPUTS:
; 4083 1 !
; 4084 1 ! None.
; 4085 1 !
; 4086 1 ! OUTPUT PARAMETERS:
; 4087 1 !
; 4088 1 ! None.
; 4089 1 !
; 4090 1 ! IMPLICIT OUTPUTS:
; 4091 1 !
; 4092 1 ! None.
; 4093 1 !
; 4094 1 ! COMPLETION CODES:
; 4095 1 !
; 4096 1 ! None.
; 4097 1 !
; 4098 1 ! SIDE EFFECTS:
; 4099 1 !
; 4100 1 ! None.
; 4101 1 !
; 4102 1 !--
; 4103 1
; 4104 2 BEGIN
; 4105 2 TPARSE_ARGS;
; 4106 2 CHKTYPE = .AP [TPA$L_PARAM];
; 4107 2 RETURN SS$_NORMAL;
; 4108 1 END; ! End of STORE_CHK
;STORE_CHK
U.25: .WORD ^M<> ;Save nothing 4066 0000 00000
MOVL 32(AP), G^CHKTYPE ;32(AP), CHKTYPE 4106 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4107 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 10CE
; 4109 1 %SBTTL 'TPARSE support -- STORE_FTP - Store file type'
; 4110 1 ROUTINE STORE_FTP =
; 4111 1
; 4112 1 !++
; 4113 1 ! FUNCTIONAL DESCRIPTION:
; 4114 1 !
; 4115 1 ! This routine will store the file type that was specified by the
; 4116 1 ! user for the KERFIL processing.
; 4117 1 !
; 4118 1 ! CALLING SEQUENCE:
; 4119 1 !
; 4120 1 ! Standard call from LIB$TPARSE.
; 4121 1 !
; 4122 1 ! INPUT PARAMETERS:
; 4123 1 !
; 4124 1 ! None.
; 4125 1 !
; 4126 1 ! IMPLICIT INPUTS:
; 4127 1 !
; 4128 1 ! None.
; 4129 1 !
; 4130 1 ! OUTPUT PARAMETERS:
; 4131 1 !
; 4132 1 ! None.
; 4133 1 !
; 4134 1 ! IMPLICIT OUTPUTS:
; 4135 1 !
; 4136 1 ! None.
; 4137 1 !
; 4138 1 ! COMPLETION CODES:
; 4139 1 !
; 4140 1 ! None.
; 4141 1 !
; 4142 1 ! SIDE EFFECTS:
; 4143 1 !
; 4144 1 ! None.
; 4145 1 !
; 4146 1 !--
; 4147 1
; 4148 2 BEGIN
; 4149 2 TPARSE_ARGS;
; 4150 2 FILE_TYPE = .AP [TPA$L_PARAM];
; 4151 2
; 4152 2 IF (.FILE_TYPE EQL FILE_FIX) OR
; 4153 3 (.FILE_TYPE EQL FILE_BIN)
; 4154 2 THEN
; 4155 3 BEGIN
; 4156 3 TT_TEXT(UPLIT('Current block size for file transfer is ', 0));
; 4157 3 TT_NUMBER(.file_blocksize);
; 4158 3 TT_CRLF();
; 4159 2 END;
; 4160 2
; 4161 2 RETURN SS$_NORMAL;
; 4162 1 END; ! End of STORE_FTP
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AGO: .ASCII \Current block size for file transfer is \
; 20 74 6E 65 72 72 75 43 009C0
; 69 73 20 6B 63 6F 6C 62 009C8
; 66 20 72 6F 66 20 65 7A 009D0
; 6E 61 72 74 20 65 6C 69 009D8
; 20 73 69 20 72 65 66 73 009E0
.LONG 0 ; 00000000 009E8
.PSECT $CODE$,NOWRT,2
;STORE_FTP
U.21: .WORD ^M<R2> ;Save R2 4110 0004 00000
MOVAB G^FILE_TYPE, R2 ;FILE_TYPE, R2 52 00000000G 00 9E 00002
MOVL 32(AP), (R2) ;32(AP), FILE_TYPE 4150 62 20 AC D0 00009
MOVL (R2), R0 ;FILE_TYPE, R0 4152 50 62 D0 0000D
CMPL R0, #4 ;R0, #4 04 50 D1 00010
BEQL 1$ ;1$ 05 13 00013
CMPL R0, #2 ;R0, #2 4153 02 50 D1 00015
BNEQ 2$ ;2$ 21 12 00018
1$: PUSHAB G^P.AGO ;P.AGO 4156 00000000' 00 9F 0001A
CALLS #1, G^TT_TEXT ;#1, TT_TEXT 00000000G 00 01 FB 00020
PUSHL G^FILE_BLOCKSIZE ;FILE_BLOCKSIZE 4157 00000000G 00 DD 00027
CALLS #1, G^TT_NUMBER ;#1, TT_NUMBER 00000000G 00 01 FB 0002D
CALLS #0, G^TT_CRLF ;#0, TT_CRLF 4158 00000000G 00 00 FB 00034
2$: MOVL #1, R0 ;#1, R0 4161 50 01 D0 0003B
RET ; 04 0003E
; Routine Size: 63 bytes, Routine Base: $CODE$ + 10DC
; 4163 1 %SBTTL 'TPARSE support -- STORE_FNM - Store file type'
; 4164 1 ROUTINE STORE_FNM =
; 4165 1
; 4166 1 !++
; 4167 1 ! FUNCTIONAL DESCRIPTION:
; 4168 1 !
; 4169 1 ! This routine will store the file type that was specified by the
; 4170 1 ! user for the KERFIL processing.
; 4171 1 !
; 4172 1 ! CALLING SEQUENCE:
; 4173 1 !
; 4174 1 ! Standard call from LIB$TPARSE.
; 4175 1 !
; 4176 1 ! INPUT PARAMETERS:
; 4177 1 !
; 4178 1 ! None.
; 4179 1 !
; 4180 1 ! IMPLICIT INPUTS:
; 4181 1 !
; 4182 1 ! None.
; 4183 1 !
; 4184 1 ! OUTPUT PARAMETERS:
; 4185 1 !
; 4186 1 ! None.
; 4187 1 !
; 4188 1 ! IMPLICIT OUTPUTS:
; 4189 1 !
; 4190 1 ! None.
; 4191 1 !
; 4192 1 ! COMPLETION CODES:
; 4193 1 !
; 4194 1 ! None.
; 4195 1 !
; 4196 1 ! SIDE EFFECTS:
; 4197 1 !
; 4198 1 ! None.
; 4199 1 !
; 4200 1 !--
; 4201 1
; 4202 2 BEGIN
; 4203 2 TPARSE_ARGS;
; 4204 2 FIL_NORMAL_FORM = .AP [TPA$L_PARAM];
; 4205 2 RETURN SS$_NORMAL;
; 4206 1 END; ! End of STORE_FNM
;STORE_FNM
U.22: .WORD ^M<> ;Save nothing 4164 0000 00000
MOVL 32(AP), G^FIL_NORMAL_FORM ;32(AP), FIL_NORMAL_FORM 4204 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4205 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 111B
; 4207 1 %SBTTL 'TPARSE support -- STORE_PARITY - Store file type'
; 4208 1 ROUTINE STORE_PARITY =
; 4209 1
; 4210 1 !++
; 4211 1 ! FUNCTIONAL DESCRIPTION:
; 4212 1 !
; 4213 1 ! This routine will store the type of parity to use for the transfer.
; 4214 1 ! If a parity type of other than NONE is specified then we will use
; 4215 1 ! eight-bit quoting to support the transfer.
; 4216 1 !
; 4217 1 ! CALLING SEQUENCE:
; 4218 1 !
; 4219 1 ! Standard call from LIB$TPARSE.
; 4220 1 !
; 4221 1 ! INPUT PARAMETERS:
; 4222 1 !
; 4223 1 ! None.
; 4224 1 !
; 4225 1 ! IMPLICIT INPUTS:
; 4226 1 !
; 4227 1 ! None.
; 4228 1 !
; 4229 1 ! OUTPUT PARAMETERS:
; 4230 1 !
; 4231 1 ! None.
; 4232 1 !
; 4233 1 ! IMPLICIT OUTPUTS:
; 4234 1 !
; 4235 1 ! None.
; 4236 1 !
; 4237 1 ! COMPLETION CODES:
; 4238 1 !
; 4239 1 ! None.
; 4240 1 !
; 4241 1 ! SIDE EFFECTS:
; 4242 1 !
; 4243 1 ! None.
; 4244 1 !
; 4245 1 !--
; 4246 1
; 4247 2 BEGIN
; 4248 2 TPARSE_ARGS;
; 4249 2 PARITY_TYPE = .AP [TPA$L_PARAM];
; 4250 2 RETURN SS$_NORMAL;
; 4251 1 END; ! End of STORE_PARITY
;STORE_PARITY
U.24: .WORD ^M<> ;Save nothing 4208 0000 00000
MOVL 32(AP), G^PARITY_TYPE ;32(AP), PARITY_TYPE 4249 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4250 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 1129
; 4252 1 %SBTTL 'TPARSE support -- STORE_ECHO - Store local echo flag'
; 4253 1 ROUTINE STORE_ECHO =
; 4254 1
; 4255 1 !++
; 4256 1 ! FUNCTIONAL DESCRIPTION:
; 4257 1 !
; 4258 1 ! This routine will store the state of the local echo flag as the
; 4259 1 ! user set it.
; 4260 1 !
; 4261 1 ! CALLING SEQUENCE:
; 4262 1 !
; 4263 1 ! Standard TPARSE argument call.
; 4264 1 !
; 4265 1 ! INPUT PARAMETERS:
; 4266 1 !
; 4267 1 ! None.
; 4268 1 !
; 4269 1 ! IMPLICIT INPUTS:
; 4270 1 !
; 4271 1 ! None.
; 4272 1 !
; 4273 1 ! OUTPUT PARAMETERS:
; 4274 1 !
; 4275 1 ! None.
; 4276 1 !
; 4277 1 ! IMPLICIT OUTPUTS:
; 4278 1 !
; 4279 1 ! None.
; 4280 1 !
; 4281 1 ! COMPLETION CODES:
; 4282 1 !
; 4283 1 ! None.
; 4284 1 !
; 4285 1 ! SIDE EFFECTS:
; 4286 1 !
; 4287 1 ! None.
; 4288 1 !
; 4289 1 !--
; 4290 1
; 4291 2 BEGIN
; 4292 2 TPARSE_ARGS;
; 4293 2 ECHO_FLAG = .AP [TPA$L_PARAM];
; 4294 2 RETURN SS$_NORMAL;
; 4295 1 END; ! End of STORE_ECHO
;STORE_ECHO
U.23: .WORD ^M<> ;Save nothing 4253 0000 00000
MOVL 32(AP), G^ECHO_FLAG ;32(AP), ECHO_FLAG 4293 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4294 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 1137
; 4296 1 %SBTTL 'TPARSE support -- STORE_MSG_FIL - Store file name typeout flag'
; 4297 1 ROUTINE STORE_MSG_FIL =
; 4298 1
; 4299 1 !++
; 4300 1 ! FUNCTIONAL DESCRIPTION:
; 4301 1 !
; 4302 1 ! This routine will store the state of the file name typeout flag as the
; 4303 1 ! user set it.
; 4304 1 !
; 4305 1 ! CALLING SEQUENCE:
; 4306 1 !
; 4307 1 ! Standard TPARSE argument call.
; 4308 1 !
; 4309 1 ! INPUT PARAMETERS:
; 4310 1 !
; 4311 1 ! None.
; 4312 1 !
; 4313 1 ! IMPLICIT INPUTS:
; 4314 1 !
; 4315 1 ! None.
; 4316 1 !
; 4317 1 ! OUTPUT PARAMETERS:
; 4318 1 !
; 4319 1 ! None.
; 4320 1 !
; 4321 1 ! IMPLICIT OUTPUTS:
; 4322 1 !
; 4323 1 ! None.
; 4324 1 !
; 4325 1 ! COMPLETION CODES:
; 4326 1 !
; 4327 1 ! None.
; 4328 1 !
; 4329 1 ! SIDE EFFECTS:
; 4330 1 !
; 4331 1 ! None.
; 4332 1 !
; 4333 1 !--
; 4334 1
; 4335 2 BEGIN
; 4336 2 TPARSE_ARGS;
; 4337 2 TY_FIL = .AP [TPA$L_PARAM];
; 4338 2 RETURN SS$_NORMAL;
; 4339 1 END; ! End of STORE_MSG_FIL
;STORE_MSG_FIL
U.28: .WORD ^M<> ;Save nothing 4297 0000 00000
MOVL 32(AP), G^TY_FIL ;32(AP), TY_FIL 4337 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4338 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 1145
; 4340 1 %SBTTL 'TPARSE support -- STORE_MSG_PKT - Store packet number typeout flag'
; 4341 1 ROUTINE STORE_MSG_PKT =
; 4342 1
; 4343 1 !++
; 4344 1 ! FUNCTIONAL DESCRIPTION:
; 4345 1 !
; 4346 1 ! This routine will store the state of the packet number flag as the
; 4347 1 ! user set it.
; 4348 1 !
; 4349 1 ! CALLING SEQUENCE:
; 4350 1 !
; 4351 1 ! Standard TPARSE argument call.
; 4352 1 !
; 4353 1 ! INPUT PARAMETERS:
; 4354 1 !
; 4355 1 ! None.
; 4356 1 !
; 4357 1 ! IMPLICIT INPUTS:
; 4358 1 !
; 4359 1 ! None.
; 4360 1 !
; 4361 1 ! OUTPUT PARAMETERS:
; 4362 1 !
; 4363 1 ! None.
; 4364 1 !
; 4365 1 ! IMPLICIT OUTPUTS:
; 4366 1 !
; 4367 1 ! None.
; 4368 1 !
; 4369 1 ! COMPLETION CODES:
; 4370 1 !
; 4371 1 ! None.
; 4372 1 !
; 4373 1 ! SIDE EFFECTS:
; 4374 1 !
; 4375 1 ! None.
; 4376 1 !
; 4377 1 !--
; 4378 1
; 4379 2 BEGIN
; 4380 2 TPARSE_ARGS;
; 4381 2 TY_PKT = .AP [TPA$L_PARAM];
; 4382 2 RETURN SS$_NORMAL;
; 4383 1 END; ! End of STORE_MSG_PKT
;STORE_MSG_PKT
U.29: .WORD ^M<> ;Save nothing 4341 0000 00000
MOVL 32(AP), G^TY_PKT ;32(AP), TY_PKT 4381 00000000G 00 20 AC D0 00002
MOVL #1, R0 ;#1, R0 4382 50 01 D0 0000A
RET ; 04 0000D
; Routine Size: 14 bytes, Routine Base: $CODE$ + 1153
; 4384 1 %SBTTL 'TPARSE support -- CHECK_EOL'
; 4385 1 ROUTINE CHECK_EOL =
; 4386 1
; 4387 1 !++
; 4388 1 ! FUNCTIONAL DESCRIPTION:
; 4389 1 !
; 4390 1 ! This routine will valid the SEND and RECEIVE eol character that
; 4391 1 ! is being set by the user.
; 4392 1 !
; 4393 1 ! CALLING SEQUENCE:
; 4394 1 !
; 4395 1 ! Standard TPARSE routine calling sequence.
; 4396 1 !
; 4397 1 ! INPUT PARAMETERS:
; 4398 1 !
; 4399 1 ! None.
; 4400 1 !
; 4401 1 ! IMPLICIT INPUTS:
; 4402 1 !
; 4403 1 ! None.
; 4404 1 !
; 4405 1 ! OUTPUT PARAMETERS:
; 4406 1 !
; 4407 1 ! None.
; 4408 1 !
; 4409 1 ! IMPLICIT OUTPUTS:
; 4410 1 !
; 4411 1 ! None.
; 4412 1 !
; 4413 1 ! COMPLETION CODES:
; 4414 1 !
; 4415 1 ! None.
; 4416 1 !
; 4417 1 ! SIDE EFFECTS:
; 4418 1 !
; 4419 1 ! None.
; 4420 1 !
; 4421 1 !--
; 4422 1
; 4423 2 BEGIN
; 4424 2 TPARSE_ARGS;
; 4425 2
; 4426 3 IF (.AP [TPA$L_NUMBER] LSS %C' ') AND (.AP [TPA$L_NUMBER] GTR 0)
; 4427 2 THEN
; 4428 2 RETURN SS$_NORMAL
; 4429 2 ELSE
; 4430 2 RETURN KER_ILLEOL;
; 4431 2
; 4432 1 END; ! End of CHECK_EOL
;CHECK_EOL
U.33: .WORD ^M<> ;Save nothing 4385 0000 00000
CMPL 28(AP), #32 ;28(AP), #32 4426 20 1C AC D1 00002
BGEQ 1$ ;1$ 09 18 00006
TSTL 28(AP) ;28(AP) 1C AC D5 00008
BLEQ 1$ ;1$ 04 15 0000B
MOVL #1, R0 ;#1, R0 4428 50 01 D0 0000D
RET ; 04 00010
1$: MOVL #134316066, R0 ;#134316066, R0 4430 50 08018022 8F D0 00011
RET ; 04 00018
; Routine Size: 25 bytes, Routine Base: $CODE$ + 1161
; 4433 1 %SBTTL 'TPARSE support -- CHECK_QUOTE'
; 4434 1 ROUTINE CHECK_QUOTE =
; 4435 1
; 4436 1 !++
; 4437 1 ! FUNCTIONAL DESCRIPTION:
; 4438 1 !
; 4439 1 ! This routine will validate the SEND and RECEIVE quoting character that
; 4440 1 ! is being set by the user.
; 4441 1 !
; 4442 1 ! CALLING SEQUENCE:
; 4443 1 !
; 4444 1 ! Standard TPARSE routine calling sequence.
; 4445 1 !
; 4446 1 ! INPUT PARAMETERS:
; 4447 1 !
; 4448 1 ! None.
; 4449 1 !
; 4450 1 ! IMPLICIT INPUTS:
; 4451 1 !
; 4452 1 ! None.
; 4453 1 !
; 4454 1 ! OUTPUT PARAMETERS:
; 4455 1 !
; 4456 1 ! None.
; 4457 1 !
; 4458 1 ! IMPLICIT OUTPUTS:
; 4459 1 !
; 4460 1 ! None.
; 4461 1 !
; 4462 1 ! COMPLETION CODES:
; 4463 1 !
; 4464 1 ! Error code or true value
; 4465 1 !
; 4466 1 ! SIDE EFFECTS:
; 4467 1 !
; 4468 1 ! None.
; 4469 1 !
; 4470 1 !--
; 4471 1
; 4472 2 BEGIN
; 4473 2 TPARSE_ARGS;
; 4474 2
; 4475 3 IF (.AP [TPA$L_NUMBER] GEQ %C' ' AND .AP [TPA$L_NUMBER] LSS %C'?') OR (.AP [TPA$L_NUMBER] GEQ %C'`' AND
; 4476 3 .AP [TPA$L_NUMBER] LSS CHR_DEL)
; 4477 2 THEN
; 4478 2 RETURN SS$_NORMAL
; 4479 2 ELSE
; 4480 2 RETURN KER_ILLQUO;
; 4481 2
; 4482 1 END; ! End of CHECK_QUO
;CHECK_QUOTE
U.34: .WORD ^M<> ;Save nothing 4434 0000 00000
CMPL 28(AP), #32 ;28(AP), #32 4475 20 1C AC D1 00002
BLSS 1$ ;1$ 06 19 00006
CMPL 28(AP), #63 ;28(AP), #63 3F 1C AC D1 00008
BLSS 2$ ;2$ 14 19 0000C
1$: CMPL 28(AP), #96 ;28(AP), #96 00000060 8F 1C AC D1 0000E
BLSS 3$ ;3$ 0E 19 00016
CMPL 28(AP), #127 ;28(AP), #127 4476 0000007F 8F 1C AC D1 00018
BGEQ 3$ ;3$ 04 18 00020
2$: MOVL #1, R0 ;#1, R0 4478 50 01 D0 00022
RET ; 04 00025
3$: MOVL #134316114, R0 ;#134316114, R0 4480 50 08018052 8F D0 00026
RET ; 04 0002D
; Routine Size: 46 bytes, Routine Base: $CODE$ + 117A
; 4483 1 %SBTTL 'TPARSE support -- CHECK_SOH'
; 4484 1 ROUTINE CHECK_SOH =
; 4485 1
; 4486 1 !++
; 4487 1 ! FUNCTIONAL DESCRIPTION:
; 4488 1 !
; 4489 1 ! This routine will valid the SEND and RECEIVE START_OF_PACKET
; 4490 1 ! character that is being set by the user.
; 4491 1 !
; 4492 1 ! CALLING SEQUENCE:
; 4493 1 !
; 4494 1 ! Standard TPARSE routine calling sequence.
; 4495 1 !
; 4496 1 ! INPUT PARAMETERS:
; 4497 1 !
; 4498 1 ! None.
; 4499 1 !
; 4500 1 ! IMPLICIT INPUTS:
; 4501 1 !
; 4502 1 ! None.
; 4503 1 !
; 4504 1 ! OUTPUT PARAMETERS:
; 4505 1 !
; 4506 1 ! None.
; 4507 1 !
; 4508 1 ! IMPLICIT OUTPUTS:
; 4509 1 !
; 4510 1 ! None.
; 4511 1 !
; 4512 1 ! COMPLETION CODES:
; 4513 1 !
; 4514 1 ! None.
; 4515 1 !
; 4516 1 ! SIDE EFFECTS:
; 4517 1 !
; 4518 1 ! None.
; 4519 1 !
; 4520 1 !--
; 4521 1
; 4522 2 BEGIN
; 4523 2 TPARSE_ARGS;
; 4524 2
; 4525 3 IF (.AP [TPA$L_NUMBER] LSS %C' ') AND (.AP [TPA$L_NUMBER] GTR 0)
; 4526 2 THEN
; 4527 2 RETURN SS$_NORMAL
; 4528 2 ELSE
; 4529 2 RETURN KER_ILLSOH;
; 4530 2
; 4531 1 END; ! End of CHECK_SOH
;CHECK_SOH
U.35: .WORD ^M<> ;Save nothing 4484 0000 00000
CMPL 28(AP), #32 ;28(AP), #32 4525 20 1C AC D1 00002
BGEQ 1$ ;1$ 09 18 00006
TSTL 28(AP) ;28(AP) 1C AC D5 00008
BLEQ 1$ ;1$ 04 15 0000B
MOVL #1, R0 ;#1, R0 4527 50 01 D0 0000D
RET ; 04 00010
1$: MOVL #134316106, R0 ;#134316106, R0 4529 50 0801804A 8F D0 00011
RET ; 04 00018
; Routine Size: 25 bytes, Routine Base: $CODE$ + 11A8
; 4532 1 %SBTTL 'TPARSE support -- CHECK_PAD_CHAR'
; 4533 1 ROUTINE CHECK_PAD_CHAR =
; 4534 1
; 4535 1 !++
; 4536 1 ! FUNCTIONAL DESCRIPTION:
; 4537 1 !
; 4538 1 ! This routine will valid the SEND and RECEIVE eol character that
; 4539 1 ! is being set by the user.
; 4540 1 !
; 4541 1 ! CALLING SEQUENCE:
; 4542 1 !
; 4543 1 ! Standard TPARSE routine calling sequence.
; 4544 1 !
; 4545 1 ! INPUT PARAMETERS:
; 4546 1 !
; 4547 1 ! None.
; 4548 1 !
; 4549 1 ! IMPLICIT INPUTS:
; 4550 1 !
; 4551 1 ! None.
; 4552 1 !
; 4553 1 ! OUTPUT PARAMETERS:
; 4554 1 !
; 4555 1 ! None.
; 4556 1 !
; 4557 1 ! IMPLICIT OUTPUTS:
; 4558 1 !
; 4559 1 ! None.
; 4560 1 !
; 4561 1 ! COMPLETION CODES:
; 4562 1 !
; 4563 1 ! None.
; 4564 1 !
; 4565 1 ! SIDE EFFECTS:
; 4566 1 !
; 4567 1 ! None.
; 4568 1 !
; 4569 1 !--
; 4570 1
; 4571 2 BEGIN
; 4572 2 TPARSE_ARGS;
; 4573 2
; 4574 2 IF .AP [TPA$L_NUMBER] LSS %C' ' OR .AP [TPA$L_NUMBER] EQL CHR_DEL
; 4575 2 THEN
; 4576 2 RETURN SS$_NORMAL
; 4577 2 ELSE
; 4578 2 RETURN KER_ILLPADCHR;
; 4579 2
; 4580 1 END; ! End of CHECK_PAD_CHAR
;CHECK_PAD_CHAR
U.32: .WORD ^M<> ;Save nothing 4533 0000 00000
CMPL 28(AP), #32 ;28(AP), #32 4574 20 1C AC D1 00002
BLSS 1$ ;1$ 0A 19 00006
CMPL 28(AP), #127 ;28(AP), #127 0000007F 8F 1C AC D1 00008
BNEQ 2$ ;2$ 04 12 00010
1$: MOVL #1, R0 ;#1, R0 4576 50 01 D0 00012
RET ; 04 00015
2$: MOVL #134316082, R0 ;#134316082, R0 4578 50 08018032 8F D0 00016
RET ; 04 0001D
; Routine Size: 30 bytes, Routine Base: $CODE$ + 11C1
; 4581 1 %SBTTL 'TPARSE support -- CHECK_NPAD'
; 4582 1 ROUTINE CHECK_NPAD =
; 4583 1
; 4584 1 !++
; 4585 1 ! FUNCTIONAL DESCRIPTION:
; 4586 1 !
; 4587 1 ! This routine will determine if the padding character specified by the
; 4588 1 ! user is valid.
; 4589 1 !
; 4590 1 ! CALLING SEQUENCE:
; 4591 1 !
; 4592 1 ! Standard TPARSE calling sequence.
; 4593 1 !
; 4594 1 ! INPUT PARAMETERS:
; 4595 1 !
; 4596 1 ! None.
; 4597 1 !
; 4598 1 ! IMPLICIT INPUTS:
; 4599 1 !
; 4600 1 ! None.
; 4601 1 !
; 4602 1 ! OUTPUT PARAMETERS:
; 4603 1 !
; 4604 1 ! None.
; 4605 1 !
; 4606 1 ! IMPLICIT OUTPUTS:
; 4607 1 !
; 4608 1 ! None.
; 4609 1 !
; 4610 1 ! COMPLETION CODES:
; 4611 1 !
; 4612 1 ! None.
; 4613 1 !
; 4614 1 ! SIDE EFFECTS:
; 4615 1 !
; 4616 1 ! None.
; 4617 1 !
; 4618 1 !--
; 4619 1
; 4620 2 BEGIN
; 4621 2 TPARSE_ARGS;
; 4622 2
; 4623 2 IF .AP [TPA$L_NUMBER] LSS 0 THEN RETURN KER_ILLNPAD ELSE RETURN SS$_NORMAL;
; 4624 2
; 4625 1 END; ! End of CHECK_NPAD
;CHECK_NPAD
U.31: .WORD ^M<> ;Save nothing 4582 0000 00000
TSTL 28(AP) ;28(AP) 4623 1C AC D5 00002
BGEQ 1$ ;1$ 08 18 00005
MOVL #134316090, R0 ;#134316090, R0 50 0801803A 8F D0 00007
RET ; 04 0000E
1$: MOVL #1, R0 ;#1, R0 50 01 D0 0000F
RET ; 04 00012
; Routine Size: 19 bytes, Routine Base: $CODE$ + 11DF
; 4626 1 %SBTTL 'TPARSE support -- CHECK_PACKET_LEN'
; 4627 1 ROUTINE CHECK_PACKET_LEN =
; 4628 1
; 4629 1 !++
; 4630 1 ! FUNCTIONAL DESCRIPTION:
; 4631 1 !
; 4632 1 ! This routine will determine if the packet length specified by the
; 4633 1 ! user is valid.
; 4634 1 !
; 4635 1 ! CALLING SEQUENCE:
; 4636 1 !
; 4637 1 ! Standard TPARSE calling sequence.
; 4638 1 !
; 4639 1 ! INPUT PARAMETERS:
; 4640 1 !
; 4641 1 ! None.
; 4642 1 !
; 4643 1 ! IMPLICIT INPUTS:
; 4644 1 !
; 4645 1 ! None.
; 4646 1 !
; 4647 1 ! OUTPUT PARAMETERS:
; 4648 1 !
; 4649 1 ! None.
; 4650 1 !
; 4651 1 ! IMPLICIT OUTPUTS:
; 4652 1 !
; 4653 1 ! None.
; 4654 1 !
; 4655 1 ! COMPLETION CODES:
; 4656 1 !
; 4657 1 ! None.
; 4658 1 !
; 4659 1 ! SIDE EFFECTS:
; 4660 1 !
; 4661 1 ! None.
; 4662 1 !
; 4663 1 !--
; 4664 1
; 4665 2 BEGIN
; 4666 2 TPARSE_ARGS;
; 4667 2
; 4668 3 IF .AP [TPA$L_NUMBER] LSS 10 OR .AP [TPA$L_NUMBER] GTR (MAX_MSG - 2)
; 4669 2 THEN
; 4670 2 RETURN KER_ILLPKTLEN
; 4671 2 ELSE
; 4672 2 RETURN SS$_NORMAL;
; 4673 2
; 4674 1 END; ! End of CHECK_PACKET_LEN
;CHECK_PACKET_LEN
U.30: .WORD ^M<> ;Save nothing 4627 0000 00000
CMPL 28(AP), #10 ;28(AP), #10 4668 0A 1C AC D1 00002
BLSS 1$ ;1$ 0A 19 00006
CMPL 28(AP), #1000 ;28(AP), #1000 000003E8 8F 1C AC D1 00008
BLEQ 2$ ;2$ 08 15 00010
1$: MOVL #134316074, R0 ;#134316074, R0 4670 50 0801802A 8F D0 00012
RET ; 04 00019
2$: MOVL #1, R0 ;#1, R0 4672 50 01 D0 0001A
RET ; 04 0001D
; Routine Size: 30 bytes, Routine Base: $CODE$ + 11F2
; 4675 1 %SBTTL 'STORE_TEXT'
; 4676 1 ROUTINE STORE_TEXT =
; 4677 1
; 4678 1 !++
; 4679 1 ! FUNCTIONAL DESCRIPTION:
; 4680 1 !
; 4681 1 ! This routine will store a single character of the file specification
; 4682 1 ! that the user gives to the SEND and RECEIVE commands.
; 4683 1 !
; 4684 1 ! FORMAL PARAMETERS:
; 4685 1 !
; 4686 1 ! Character that was parsed.
; 4687 1 !
; 4688 1 ! IMPLICIT INPUTS:
; 4689 1 !
; 4690 1 ! None.
; 4691 1 !
; 4692 1 ! IMPLICIT OUTPUTS:
; 4693 1 !
; 4694 1 ! Character stored into the file specification vector.
; 4695 1 !
; 4696 1 ! ROUTINE VALUE and
; 4697 1 ! COMPLETION CODES:
; 4698 1 !
; 4699 1 ! None.
; 4700 1 !
; 4701 1 ! SIDE EFFECTS:
; 4702 1 !
; 4703 1 ! None.
; 4704 1 !
; 4705 1 !--
; 4706 1
; 4707 2 BEGIN
; 4708 2 TPARSE_ARGS;
; 4709 2
; 4710 2 IF (TEMP_DESC [DSC$W_LENGTH] = .TEMP_DESC [DSC$W_LENGTH] + 1) LSS TEMP_LENGTH
; 4711 2 THEN
; 4712 3 BEGIN
; 4713 3 CH$WCHAR (.AP [TPA$B_CHAR], CH$PTR (TEMP_NAME, .TEMP_DESC [DSC$W_LENGTH] - 1));
; 4714 3 AP [TPA$V_BLANKS] = 1; ! Blanks are significant
; 4715 3 RETURN SS$_NORMAL;
; 4716 3 END
; 4717 2 ELSE
; 4718 2 RETURN KER_LINTOOLNG;
; 4719 2
; 4720 1 END; ! End of STORE_TEXT
;STORE_TEXT
U.12: .WORD ^M<R2> ;Save R2 4676 0004 00000
MOVAB G^U.63, R2 ;U.63, R2 52 00000000' 00 9E 00002
MOVZWL (R2), R0 ;TEMP_DESC, R0 4710 50 62 3C 00009
INCL R0 ;R0 50 D6 0000C
MOVW R0, (R2) ;R0, TEMP_DESC 62 50 B0 0000E
CMPL R0, #132 ;R0, #132 00000084 8F 50 D1 00011
BGEQ 1$ ;1$ 11 18 00018
MOVZWL (R2), R0 ;TEMP_DESC, R0 4713 50 62 3C 0001A
MOVB 24(AP), 7(R2)[R0] ;24(AP), TEMP_NAME-1[R0] 07 A240 18 AC 90 0001D
BISB2 #1, 4(AP) ;#1, 4(AP) 4714 04 AC 01 88 00023
MOVL #1, R0 ;#1, R0 4715 50 01 D0 00027
RET ; 04 0002A
1$: MOVL #134316098, R0 ;#134316098, R0 4718 50 08018042 8F D0 0002B
RET ; 04 00032
; Routine Size: 51 bytes, Routine Base: $CODE$ + 1210
; 4721 1 %SBTTL 'TPARSE support -- COPY_DESC - Copy string to a descriptor'
; 4722 1 ROUTINE COPY_DESC =
; 4723 1
; 4724 1 !++
; 4725 1 ! FUNCTIONAL DESCRIPTION:
; 4726 1 !
; 4727 1 ! This routine will copy a string to the descriptor passed in the TPARSE
; 4728 1 ! argument.
; 4729 1 !
; 4730 1 ! CALLING SEQUENCE:
; 4731 1 !
; 4732 1 ! COPY_FILE();
; 4733 1 !
; 4734 1 ! INPUT PARAMETERS:
; 4735 1 !
; 4736 1 ! None.
; 4737 1 !
; 4738 1 ! IMPLICIT INPUTS:
; 4739 1 !
; 4740 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 4741 1 ! in the descriptor.
; 4742 1 !
; 4743 1 ! OUTPUT PARAMETERS:
; 4744 1 !
; 4745 1 ! None.
; 4746 1 !
; 4747 1 ! IMPLICIT OUTPUTS:
; 4748 1 !
; 4749 1 ! Descriptor fields set up.
; 4750 1 ! TEMP_DESC.
; 4751 1 !
; 4752 1 ! COMPLETION CODES:
; 4753 1 !
; 4754 1 ! 0 - Failure.
; 4755 1 ! 1 - Success.
; 4756 1 !
; 4757 1 ! SIDE EFFECTS:
; 4758 1 !
; 4759 1 ! None.
; 4760 1 !
; 4761 1 !--
; 4762 1
; 4763 2 BEGIN
; 4764 2 TPARSE_ARGS;
; 4765 2
; 4766 2 LOCAL
; 4767 2 DESC_ADDR;
; 4768 2
; 4769 2 DESC_ADDR = .AP [TPA$L_PARAM];
; 4770 3 BEGIN
; 4771 3
; 4772 3 MAP
; 4773 3 DESC_ADDR : REF BLOCK [8, BYTE];
; 4774 3
; 4775 3 DESC_ADDR [DSC$W_LENGTH] = .TEMP_DESC [DSC$W_LENGTH];
; 4776 3 CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
; 4777 3 CH$PTR (.DESC_ADDR [DSC$A_POINTER]));
; 4778 2 END;
; 4779 2 RETURN SS$_NORMAL;
; 4780 1 END; ! End of COPY_FILE
;COPY_DESC
U.14: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 4722 003C 00000
MOVL 32(AP), R0 ;32(AP), DESC_ADDR 4769 50 20 AC D0 00002
MOVZWL G^U.63, R2 ;U.63, R2 4775 52 00000000' 00 3C 00006
MOVW R2, (R0) ;R2, (DESC_ADDR) 60 52 B0 0000D
MOVAB 1(R2), R1 ;1(R2), R1 4776 51 01 A2 9E 00010
MOVC5 R2, G^U.64, #0, R1, @4(R0) ;R2, U.64, #0, R1, @4(DESC_ADDR) 4777 00000000' 00 52 2C 00014
; 51 00 0001B
; 04 B0 0001D
MOVL #1, R0 ;#1, R0 4779 50 01 D0 0001F
RET ; 04 00022
; Routine Size: 35 bytes, Routine Base: $CODE$ + 1243
; 4781 1 %SBTTL 'TPARSE support -- COPY_ALT_FILE - Copy file specification'
; 4782 1 ROUTINE COPY_ALT_FILE =
; 4783 1
; 4784 1 !++
; 4785 1 ! FUNCTIONAL DESCRIPTION:
; 4786 1 !
; 4787 1 ! This routine will copy the file name from the temporary
; 4788 1 ! descriptor to the descriptor that is used for the file name.
; 4789 1 ! (ALT_FILE_NAME).
; 4790 1 ! This is for use by the RECEIVE command so that the user may
; 4791 1 ! specify an alternate file name for the received file.
; 4792 1 !
; 4793 1 ! CALLING SEQUENCE:
; 4794 1 !
; 4795 1 ! COPY_ALT_FILE();
; 4796 1 !
; 4797 1 ! INPUT PARAMETERS:
; 4798 1 !
; 4799 1 ! None.
; 4800 1 !
; 4801 1 ! IMPLICIT INPUTS:
; 4802 1 !
; 4803 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 4804 1 ! in the descriptor.
; 4805 1 !
; 4806 1 ! OUTPUT PARAMETERS:
; 4807 1 !
; 4808 1 ! None.
; 4809 1 !
; 4810 1 ! IMPLICIT OUTPUTS:
; 4811 1 !
; 4812 1 ! ALT_FILE_NAME set up with what was in TEMP_NAME and
; 4813 1 ! TEMP_DESC.
; 4814 1 !
; 4815 1 ! COMPLETION CODES:
; 4816 1 !
; 4817 1 ! 0 - Failure.
; 4818 1 ! 1 - Success.
; 4819 1 !
; 4820 1 ! SIDE EFFECTS:
; 4821 1 !
; 4822 1 ! None.
; 4823 1 !
; 4824 1 !--
; 4825 1
; 4826 2 BEGIN
; 4827 2 ALT_FILE_SIZE = .TEMP_DESC [DSC$W_LENGTH];
; 4828 2 CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
; 4829 2 CH$PTR (ALT_FILE_NAME));
; 4830 2 RETURN SS$_NORMAL;
; 4831 1 END; ! End of COPY_ALT_FILE
;COPY_ALT_FILE
U.15: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 4782 003C 00000
MOVZWL G^U.63, R1 ;U.63, R1 4827 51 00000000' 00 3C 00002
MOVL R1, G^ALT_FILE_SIZE ;R1, ALT_FILE_SIZE 00000000' 00 51 D0 00009
MOVAB 1(R1), R0 ;1(R1), R0 4828 50 01 A1 9E 00010
MOVC5 R1, G^U.64, #0, R0, - ;R1, U.64, #0, R0, ALT_FILE_NAME 4829 00000000' 00 51 2C 00014
G^ALT_FILE_NAME ; 50 00 0001B
; 00000000' 00 0001D
MOVL #1, R0 ;#1, R0 4830 50 01 D0 00022
RET ; 04 00025
; Routine Size: 38 bytes, Routine Base: $CODE$ + 1266
; 4832 1 %SBTTL 'TPARSE support -- COPY_GEN_1DATA - Copy generic command argument'
; 4833 1 ROUTINE COPY_GEN_1DATA =
; 4834 1
; 4835 1 !++
; 4836 1 ! FUNCTIONAL DESCRIPTION:
; 4837 1 !
; 4838 1 ! This routine will copy the generic command argument from the
; 4839 1 ! temporary descriptor to the global storage for the argument
; 4840 1 ! (GEN_1DATA).
; 4841 1 !
; 4842 1 ! CALLING SEQUENCE:
; 4843 1 !
; 4844 1 ! COPY_GEN_1DATA();
; 4845 1 !
; 4846 1 ! INPUT PARAMETERS:
; 4847 1 !
; 4848 1 ! None.
; 4849 1 !
; 4850 1 ! IMPLICIT INPUTS:
; 4851 1 !
; 4852 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 4853 1 ! in the descriptor.
; 4854 1 !
; 4855 1 ! OUTPUT PARAMETERS:
; 4856 1 !
; 4857 1 ! None.
; 4858 1 !
; 4859 1 ! IMPLICIT OUTPUTS:
; 4860 1 !
; 4861 1 ! GEN_1DATA and GEN_1SIZE set up with what was in TEMP_NAME and
; 4862 1 ! TEMP_DESC.
; 4863 1 !
; 4864 1 ! COMPLETION CODES:
; 4865 1 !
; 4866 1 ! 0 - Failure.
; 4867 1 ! 1 - Success.
; 4868 1 !
; 4869 1 ! SIDE EFFECTS:
; 4870 1 !
; 4871 1 ! None.
; 4872 1 !
; 4873 1 !--
; 4874 1
; 4875 2 BEGIN
; 4876 2 GEN_1SIZE = .TEMP_DESC [DSC$W_LENGTH];
; 4877 2 CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
; 4878 2 CH$PTR (GEN_1DATA));
; 4879 2 RETURN SS$_NORMAL;
; 4880 1 END; ! End of COPY_GEN_1DATA
;COPY_GEN_1DATA
U.16: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 4833 003C 00000
MOVZWL G^U.63, R1 ;U.63, R1 4876 51 00000000' 00 3C 00002
MOVL R1, G^GEN_1SIZE ;R1, GEN_1SIZE 00000000G 00 51 D0 00009
MOVAB 1(R1), R0 ;1(R1), R0 4877 50 01 A1 9E 00010
MOVC5 R1, G^U.64, #0, R0, G^GEN_1DATA ;R1, U.64, #0, R0, GEN_1DATA 4878 00000000' 00 51 2C 00014
; 50 00 0001B
; 00000000G 00 0001D
MOVL #1, R0 ;#1, R0 4879 50 01 D0 00022
RET ; 04 00025
; Routine Size: 38 bytes, Routine Base: $CODE$ + 128C
; 4881 1 %SBTTL 'TPARSE support -- COPY_GEN_2DATA - Copy generic command argument'
; 4882 1 ROUTINE COPY_GEN_2DATA =
; 4883 1
; 4884 1 !++
; 4885 1 ! FUNCTIONAL DESCRIPTION:
; 4886 1 !
; 4887 1 ! This routine will copy the generic command argument from the
; 4888 1 ! temporary descriptor to the global storage for the argument
; 4889 1 ! (GEN_2DATA).
; 4890 1 !
; 4891 1 ! CALLING SEQUENCE:
; 4892 1 !
; 4893 1 ! COPY_GEN_2DATA();
; 4894 1 !
; 4895 1 ! INPUT PARAMETERS:
; 4896 1 !
; 4897 1 ! None.
; 4898 1 !
; 4899 1 ! IMPLICIT INPUTS:
; 4900 1 !
; 4901 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 4902 1 ! in the descriptor.
; 4903 1 !
; 4904 1 ! OUTPUT PARAMETERS:
; 4905 1 !
; 4906 1 ! None.
; 4907 1 !
; 4908 1 ! IMPLICIT OUTPUTS:
; 4909 1 !
; 4910 1 ! GEN_2DATA and GEN_2SIZE set up with what was in TEMP_NAME and
; 4911 1 ! TEMP_DESC.
; 4912 1 !
; 4913 1 ! COMPLETION CODES:
; 4914 1 !
; 4915 1 ! 0 - Failure.
; 4916 1 ! 1 - Success.
; 4917 1 !
; 4918 1 ! SIDE EFFECTS:
; 4919 1 !
; 4920 1 ! None.
; 4921 1 !
; 4922 1 !--
; 4923 1
; 4924 2 BEGIN
; 4925 2 GEN_2SIZE = .TEMP_DESC [DSC$W_LENGTH];
; 4926 2 CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
; 4927 2 CH$PTR (GEN_2DATA));
; 4928 2 RETURN SS$_NORMAL;
; 4929 1 END; ! End of COPY_GEN_2DATA
;COPY_GEN_2DATA
U.1404: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 4882 003C 00000
MOVZWL G^U.63, R1 ;U.63, R1 4925 51 00000000' 00 3C 00002
MOVL R1, G^GEN_2SIZE ;R1, GEN_2SIZE 00000000G 00 51 D0 00009
MOVAB 1(R1), R0 ;1(R1), R0 4926 50 01 A1 9E 00010
MOVC5 R1, G^U.64, #0, R0, G^GEN_2DATA ;R1, U.64, #0, R0, GEN_2DATA 4927 00000000' 00 51 2C 00014
; 50 00 0001B
; 00000000G 00 0001D
MOVL #1, R0 ;#1, R0 4928 50 01 D0 00022
RET ; 04 00025
; Routine Size: 38 bytes, Routine Base: $CODE$ + 12B2
; 4930 1 %SBTTL 'TPARSE support -- COPY_GEN_3DATA - Copy generic command argument'
; 4931 1 ROUTINE COPY_GEN_3DATA =
; 4932 1
; 4933 1 !++
; 4934 1 ! FUNCTIONAL DESCRIPTION:
; 4935 1 !
; 4936 1 ! This routine will copy the generic command argument from the
; 4937 1 ! temporary descriptor to the global storage for the argument
; 4938 1 ! (GEN_3DATA).
; 4939 1 !
; 4940 1 ! CALLING SEQUENCE:
; 4941 1 !
; 4942 1 ! COPY_GEN_3DATA();
; 4943 1 !
; 4944 1 ! INPUT PARAMETERS:
; 4945 1 !
; 4946 1 ! None.
; 4947 1 !
; 4948 1 ! IMPLICIT INPUTS:
; 4949 1 !
; 4950 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 4951 1 ! in the descriptor.
; 4952 1 !
; 4953 1 ! OUTPUT PARAMETERS:
; 4954 1 !
; 4955 1 ! None.
; 4956 1 !
; 4957 1 ! IMPLICIT OUTPUTS:
; 4958 1 !
; 4959 1 ! GEN_3DATA and GEN_3SIZE set up with what was in TEMP_NAME and
; 4960 1 ! TEMP_DESC.
; 4961 1 !
; 4962 1 ! COMPLETION CODES:
; 4963 1 !
; 4964 1 ! 0 - Failure.
; 4965 1 ! 1 - Success.
; 4966 1 !
; 4967 1 ! SIDE EFFECTS:
; 4968 1 !
; 4969 1 ! None.
; 4970 1 !
; 4971 1 !--
; 4972 1
; 4973 2 BEGIN
; 4974 2 GEN_3SIZE = .TEMP_DESC [DSC$W_LENGTH];
; 4975 2 CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
; 4976 2 CH$PTR (GEN_3DATA));
; 4977 2 RETURN SS$_NORMAL;
; 4978 1 END; ! End of COPY_GEN_3DATA
;COPY_GEN_3DATA
U.1405: .WORD ^M<R2,R3,R4,R5> ;Save R2,R3,R4,R5 4931 003C 00000
MOVZWL G^U.63, R1 ;U.63, R1 4974 51 00000000' 00 3C 00002
MOVL R1, G^GEN_3SIZE ;R1, GEN_3SIZE 00000000G 00 51 D0 00009
MOVAB 1(R1), R0 ;1(R1), R0 4975 50 01 A1 9E 00010
MOVC5 R1, G^U.64, #0, R0, G^GEN_3DATA ;R1, U.64, #0, R0, GEN_3DATA 4976 00000000' 00 51 2C 00014
; 50 00 0001B
; 00000000G 00 0001D
MOVL #1, R0 ;#1, R0 4977 50 01 D0 00022
RET ; 04 00025
; Routine Size: 38 bytes, Routine Base: $CODE$ + 12D8
; 4979 1 %SBTTL 'COPY_TERM_NAME'
; 4980 1 ROUTINE COPY_TERM_NAME =
; 4981 1
; 4982 1 !++
; 4983 1 ! FUNCTIONAL DESCRIPTION:
; 4984 1 !
; 4985 1 ! This routine will copy the device name from the temporary
; 4986 1 ! descriptor to the descriptor that is used for the terminal name.
; 4987 1 ! (TERM_NAME and TERM_DESC).
; 4988 1 ! It will call KERTRM to validate the name as a usuable terminal.
; 4989 1 !
; 4990 1 ! CALLING SEQUENCE:
; 4991 1 !
; 4992 1 ! COPY_TERM_NAME();
; 4993 1 !
; 4994 1 ! INPUT PARAMETERS:
; 4995 1 !
; 4996 1 ! None.
; 4997 1 !
; 4998 1 ! IMPLICIT INPUTS:
; 4999 1 !
; 5000 1 ! TEMP_DESC and TEMP_NAME set up with the device name and length
; 5001 1 ! in the descriptor.
; 5002 1 !
; 5003 1 ! OUTPUT PARAMETERS:
; 5004 1 !
; 5005 1 ! None.
; 5006 1 !
; 5007 1 ! IMPLICIT OUTPUTS:
; 5008 1 !
; 5009 1 ! TERM_NAME and TERM_DESC set up with what was in TEMP_NAME and
; 5010 1 ! TEMP_DESC.
; 5011 1 !
; 5012 1 ! COMPLETION CODES:
; 5013 1 !
; 5014 1 ! 0 - Failure.
; 5015 1 ! 1 - Success.
; 5016 1 !
; 5017 1 ! SIDE EFFECTS:
; 5018 1 !
; 5019 1 ! None.
; 5020 1 !
; 5021 1 !--
; 5022 1
; 5023 2 BEGIN
; 5024 2
; 5025 2 EXTERNAL
; 5026 2 JOB_TERM_DESC : BLOCK [8, BYTE]; ! Descriptor for jobs contolling terminal
; 5027 2
; 5028 2 IF NOT CH$FAIL (CH$FIND_NOT_CH (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (.TEMP_DESC [DSC$A_POINTER]), %C' '))
; 5029 2 THEN
; 5030 2 RETURN SET_TRANS_TERM (TEMP_DESC)
; 5031 2 ELSE
; 5032 2
; 5033 2 IF NOT SET_TRANS_TERM (%ASCID'KER$COMM')
; 5034 2 THEN
; 5035 2
; 5036 2 IF NOT SET_TRANS_TERM (%ASCID'SYS$INPUT')
; 5037 2 THEN
; 5038 2
; 5039 2 IF NOT SET_TRANS_TERM (%ASCID'SYS$OUTPUT')
; 5040 2 THEN
; 5041 2
; 5042 2 IF NOT SET_TRANS_TERM (%ASCID'SYS$COMMAND') THEN RETURN SET_TRANS_TERM (JOB_TERM_DESC);
; 5043 2
; 5044 2 RETURN SS$_NORMAL;
; 5045 1 END; ! End of COPY_TERM_NAME
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AGQ: .ASCII \KER$COMM\ ; 4D 4D 4F 43 24 52 45 4B 009EC
P.AGP: .LONG 17694728 ; 010E0008 009F4
.ADDRESS P.AGQ ; 00000000' 009F8
P.AGS: .ASCII \SYS$INPUT\<0><0><0> ; 55 50 4E 49 24 53 59 53 009FC
; 00 00 00 54 00A04
P.AGR: .LONG 17694729 ; 010E0009 00A08
.ADDRESS P.AGS ; 00000000' 00A0C
P.AGU: .ASCII \SYS$OUTPUT\<0><0> ; 50 54 55 4F 24 53 59 53 00A10
; 00 00 54 55 00A18
P.AGT: .LONG 17694730 ; 010E000A 00A1C
.ADDRESS P.AGU ; 00000000' 00A20
P.AGW: .ASCII \SYS$COMMAND\<0> ; 4D 4D 4F 43 24 53 59 53 00A24
; 00 44 4E 41 00A2C
P.AGV: .LONG 17694731 ; 010E000B 00A30
.ADDRESS P.AGW ; 00000000' 00A34
.EXTRN JOB_TERM_DESC
.PSECT $CODE$,NOWRT,2
;COPY_TERM_NAME
U.13: .WORD ^M<R2,R3,R4> ;Save R2,R3,R4 4980 001C 00000
MOVAB G^U.63, R4 ;U.63, R4 54 00000000' 00 9E 00002
MOVAB G^P.AGP, R3 ;P.AGP, R3 53 00000000' 00 9E 00009
MOVAB G^SET_TRANS_TERM, R2 ;SET_TRANS_TERM, R2 52 00000000G 00 9E 00010
MOVL 4(R4), R0 ;TEMP_DESC+4, R0 5028 50 04 A4 D0 00017
SKPC #32, (R4), (R0) ;#32, TEMP_DESC, (R0) 64 20 3B 0001B
; 60 0001E
BNEQ 1$ ;1$ 02 12 0001F
CLRL R1 ;R1 51 D4 00021
1$: TSTL R1 ;R1 51 D5 00023
BEQL 2$ ;2$ 04 13 00025
PUSHL R4 ;R4 5030 54 DD 00027
BRB 3$ ;3$ 29 11 00029
2$: PUSHL R3 ;R3 5033 53 DD 0002B
CALLS #1, (R2) ;#1, SET_TRANS_TERM 62 01 FB 0002D
BLBS R0, 4$ ;R0, 4$ 25 50 E8 00030
PUSHAB 20(R3) ;P.AGR 5036 14 A3 9F 00033
CALLS #1, (R2) ;#1, SET_TRANS_TERM 62 01 FB 00036
BLBS R0, 4$ ;R0, 4$ 1C 50 E8 00039
PUSHAB 40(R3) ;P.AGT 5039 28 A3 9F 0003C
CALLS #1, (R2) ;#1, SET_TRANS_TERM 62 01 FB 0003F
BLBS R0, 4$ ;R0, 4$ 13 50 E8 00042
PUSHAB 60(R3) ;P.AGV 5042 3C A3 9F 00045
CALLS #1, (R2) ;#1, SET_TRANS_TERM 62 01 FB 00048
BLBS R0, 4$ ;R0, 4$ 0A 50 E8 0004B
PUSHAB G^JOB_TERM_DESC ;JOB_TERM_DESC 00000000G 00 9F 0004E
3$: CALLS #1, (R2) ;#1, SET_TRANS_TERM 62 01 FB 00054
RET ; 04 00057
4$: MOVL #1, R0 ;#1, R0 5044 50 01 D0 00058
RET ; 04 0005B
; Routine Size: 92 bytes, Routine Base: $CODE$ + 12FE
; 5046 1 %SBTTL 'KEY_ERROR - Handle keyword errors'
; 5047 1 ROUTINE KEY_ERROR =
; 5048 1
; 5049 1 !++
; 5050 1 ! FUNCTIONAL DESCRIPTION:
; 5051 1 !
; 5052 1 ! This routine is called from the command parser (LIB$TPARSE) when a keyword
; 5053 1 ! does not match. It will just return the correct error code.
; 5054 1 !
; 5055 1 ! CALLING SEQUENCE:
; 5056 1 !
; 5057 1 ! STATUS = KEY_ERROR ();
; 5058 1 !
; 5059 1 ! INPUT PARAMETERS:
; 5060 1 !
; 5061 1 ! None.
; 5062 1 !
; 5063 1 ! IMPLICIT INPUTS:
; 5064 1 !
; 5065 1 ! None.
; 5066 1 !
; 5067 1 ! OUPTUT PARAMETERS:
; 5068 1 !
; 5069 1 ! None.
; 5070 1 !
; 5071 1 ! IMPLICIT OUTPUTS:
; 5072 1 !
; 5073 1 ! None.
; 5074 1 !
; 5075 1 ! COMPLETION CODES:
; 5076 1 !
; 5077 1 ! None.
; 5078 1 !
; 5079 1 ! SIDE EFFECTS:
; 5080 1 !
; 5081 1 ! None.
; 5082 1 !
; 5083 1 !--
; 5084 1
; 5085 2 BEGIN
; 5086 2 TPARSE_ARGS;
; 5087 2
; 5088 2 IF .AP [TPA$V_AMBIG] THEN RETURN KER_AMBIGKEY ELSE RETURN KER_UNKNOWKEY;
; 5089 2
; 5090 1 END; ! End of KEY_ERROR
;KEY_ERROR
U.36: .WORD ^M<> ;Save nothing 5047 0000 00000
BLBC 6(AP), 1$ ;6(AP), 1$ 5088 08 06 AC E9 00002
MOVL #134316282, R0 ;#134316282, R0 50 080180FA 8F D0 00006
RET ; 04 0000D
1$: MOVL #134316290, R0 ;#134316290, R0 50 08018102 8F D0 0000E
RET ; 04 00015
; Routine Size: 22 bytes, Routine Base: $CODE$ + 135A
; 5091 1 %SBTTL 'XFR_STATUS - Return the transfer status'
; 5092 1
; 5093 1 GLOBAL ROUTINE XFR_STATUS (TYPE, SUB_TYPE) : NOVALUE =
; 5094 1
; 5095 1 !++
; 5096 1 ! FUNCTIONAL DESCRIPTION:
; 5097 1 !
; 5098 1 ! This routine is called after either a packet has been received
; 5099 1 ! correctly at the receive level, a packet has been sent, or
; 5100 1 ! either a NAK has been sent or received.
; 5101 1 !
; 5102 1 ! CALLING SEQUENCE:
; 5103 1 !
; 5104 1 ! XFR_STATUS (Type);
; 5105 1 !
; 5106 1 ! INPUT PARAMETERS:
; 5107 1 !
; 5108 1 ! Type - ASCII Characters describing the type of transfer
; 5109 1 !
; 5110 1 ! IMPLICIT INPUTS:
; 5111 1 !
; 5112 1 ! None.
; 5113 1 !
; 5114 1 ! OUPTUT PARAMETERS:
; 5115 1 !
; 5116 1 ! None.
; 5117 1 !
; 5118 1 ! IMPLICIT OUTPUTS:
; 5119 1 !
; 5120 1 ! None.
; 5121 1 !
; 5122 1 ! COMPLETION CODES:
; 5123 1 !
; 5124 1 ! None.
; 5125 1 !
; 5126 1 ! SIDE EFFECTS:
; 5127 1 !
; 5128 1 ! None.
; 5129 1 !
; 5130 1 !--
; 5131 1
; 5132 2 BEGIN
; 5133 2
; 5134 2 EXTERNAL ROUTINE
; 5135 2 LOG_FAOL;
; 5136 2
; 5137 2 !
; 5138 2 ! If we have a journal file (transaction log), then say what we are doing.
; 5139 2 !
; 5140 2
; 5141 2 IF .TRANSACTION_OPEN AND .TYPE EQL %C'F'
; 5142 2 THEN
; 5143 3 BEGIN
; 5144 3 FILE_DESC [DSC$W_LENGTH] = .FILE_SIZE; ! Make sure size is right
; 5145 3
; 5146 3 SELECTONE .SUB_TYPE OF
; 5147 3 SET
; 5148 3
; 5149 3 [%C'S'] :
; 5150 3 LOG_FAOL (%ASCID'!%T!_Sending file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
; 5151 3
; 5152 3 [%C'R'] :
; 5153 3 LOG_FAOL (%ASCID'!%T!_Receiving file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
; 5154 3
; 5155 3 [%C'C'] :
; 5156 3 LOG_FAOL (%ASCID'!%T!_Closing file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
; 5157 3
; 5158 3 [%C'X'] :
; 5159 3 LOG_FAOL (%ASCID'!%T!_Aborting file !AS by user request!/', UPLIT (0, FILE_DESC),
; 5160 3 TRANSACTION_RAB);
; 5161 3
; 5162 3 [%C'Z'] :
; 5163 3 LOG_FAOL (%ASCID'!%T!_Aborting file group !AS by user request!/', UPLIT (0, FILE_DESC),
; 5164 3 TRANSACTION_RAB);
; 5165 3
; 5166 3 [%C'D'] :
; 5167 3 LOG_FAOL (%ASCID'!%T!_Aborting file !AS, partial file saved!/', UPLIT (0, FILE_DESC),
; 5168 3 TRANSACTION_RAB);
; 5169 3
; 5170 3 [%C'A'] :
; 5171 3 LOG_FAOL (%ASCID'!%T!_Aborting file !AS due to protocol error!/', UPLIT (0, FILE_DESC),
; 5172 3 TRANSACTION_RAB);
; 5173 3 TES;
; 5174 3
; 5175 2 END;
; 5176 2
; 5177 2 IF .TY_PKT
; 5178 2 THEN
; 5179 3 BEGIN
; 5180 3
; 5181 3 SELECTONE .TYPE OF
; 5182 3 SET
; 5183 3
; 5184 3 [%ASCII'R'] :
; 5185 4 BEGIN
; 5186 4
; 5187 4 IF .SUB_TYPE EQL %C'P'
; 5188 4 THEN
; 5189 5 BEGIN
; 5190 5 TT_TEXT (UPLIT (%ASCIZ' R'));
; 5191 5 TT_NUMBER (.RMSG_COUNT);
; 5192 4 END;
; 5193 4
; 5194 4 IF .SUB_TYPE EQL %C'N'
; 5195 4 THEN
; 5196 5 BEGIN
; 5197 5 TT_TEXT (UPLIT (%ASCIZ' R%'));
; 5198 5 TT_NUMBER (.RMSG_NAKS);
; 5199 4 END;
; 5200 4
; 5201 3 END;
; 5202 3
; 5203 3 [%ASCII'S'] :
; 5204 4 BEGIN
; 5205 4
; 5206 4 IF .SUB_TYPE EQL %C'P'
; 5207 4 THEN
; 5208 5 BEGIN
; 5209 5 TT_TEXT (UPLIT (%ASCIZ' S'));
; 5210 5 TT_NUMBER (.SMSG_COUNT);
; 5211 4 END;
; 5212 4
; 5213 4 IF .SUB_TYPE EQL %C'N'
; 5214 4 THEN
; 5215 5 BEGIN
; 5216 5 TT_TEXT (UPLIT (%ASCIZ' S%'));
; 5217 5 TT_NUMBER (.SMSG_NAKS);
; 5218 4 END;
; 5219 4
; 5220 3 END;
; 5221 3 TES;
; 5222 3
; 5223 3 TT_OUTPUT ();
; 5224 2 END;
; 5225 2
; 5226 1 END; ! End of XFR_STATUS
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AGY: .ASCII \!%T!_Sending file !AS!/\<0> ; 6E 65 53 5F 21 54 25 21 00A38
; 6C 69 66 20 67 6E 69 64 00A40
; 00 2F 21 53 41 21 20 65 00A48
P.AGX: .LONG 17694743 ; 010E0017 00A50
.ADDRESS P.AGY ; 00000000' 00A54
P.AGZ: .LONG 0 ; 00000000 00A58
.ADDRESS FILE_DESC ; 00000000G 00A5C
P.AHB: .ASCII \!%T!_Receiving file !AS!/\<0><0><0>
; 63 65 52 5F 21 54 25 21 00A60
; 66 20 67 6E 69 76 69 65 00A68
; 21 53 41 21 20 65 6C 69 00A70
; 00 00 00 2F 00A78
P.AHA: .LONG 17694745 ; 010E0019 00A7C
.ADDRESS P.AHB ; 00000000' 00A80
P.AHC: .LONG 0 ; 00000000 00A84
.ADDRESS FILE_DESC ; 00000000G 00A88
P.AHE: .ASCII \!%T!_Closing file !AS!/\<0> ; 6F 6C 43 5F 21 54 25 21 00A8C
; 6C 69 66 20 67 6E 69 73 00A94
; 00 2F 21 53 41 21 20 65 00A9C
P.AHD: .LONG 17694743 ; 010E0017 00AA4
.ADDRESS P.AHE ; 00000000' 00AA8
P.AHF: .LONG 0 ; 00000000 00AAC
.ADDRESS FILE_DESC ; 00000000G 00AB0
P.AHH: .ASCII \!%T!_Aborting file !AS by user request!/\
; 6F 62 41 5F 21 54 25 21 00AB4
; 69 66 20 67 6E 69 74 72 00ABC
; 62 20 53 41 21 20 65 6C 00AC4
; 72 20 72 65 73 75 20 79 00ACC
; 2F 21 74 73 65 75 71 65 00AD4
P.AHG: .LONG 17694760 ; 010E0028 00ADC
.ADDRESS P.AHH ; 00000000' 00AE0
P.AHI: .LONG 0 ; 00000000 00AE4
.ADDRESS FILE_DESC ; 00000000G 00AE8
P.AHK: .ASCII \!%T!_Aborting file group !AS by user request!/\<0><0>
; 6F 62 41 5F 21 54 25 21 00AEC
; 69 66 20 67 6E 69 74 72 00AF4
; 70 75 6F 72 67 20 65 6C 00AFC
; 20 79 62 20 53 41 21 20 00B04
; 71 65 72 20 72 65 73 75 00B0C
; 00 00 2F 21 74 73 65 75 00B14
P.AHJ: .LONG 17694766 ; 010E002E 00B1C
.ADDRESS P.AHK ; 00000000' 00B20
P.AHL: .LONG 0 ; 00000000 00B24
.ADDRESS FILE_DESC ; 00000000G 00B28
P.AHN: .ASCII \!%T!_Aborting file !AS, partial file saved!/\
; 6F 62 41 5F 21 54 25 21 00B2C
; 69 66 20 67 6E 69 74 72 00B34
; 20 2C 53 41 21 20 65 6C 00B3C
; 20 6C 61 69 74 72 61 70 00B44
; 76 61 73 20 65 6C 69 66 00B4C
; 2F 21 64 65 00B54
P.AHM: .LONG 17694764 ; 010E002C 00B58
.ADDRESS P.AHN ; 00000000' 00B5C
P.AHO: .LONG 0 ; 00000000 00B60
.ADDRESS FILE_DESC ; 00000000G 00B64
P.AHQ: .ASCII \!%T!_Aborting file !AS due to protocol error!/\<0><0>
; 6F 62 41 5F 21 54 25 21 00B68
; 69 66 20 67 6E 69 74 72 00B70
; 64 20 53 41 21 20 65 6C 00B78
; 72 70 20 6F 74 20 65 75 00B80
; 65 20 6C 6F 63 6F 74 6F 00B88
; 00 00 2F 21 72 6F 72 72 00B90
P.AHP: .LONG 17694766 ; 010E002E 00B98
.ADDRESS P.AHQ ; 00000000' 00B9C
P.AHR: .LONG 0 ; 00000000 00BA0
.ADDRESS FILE_DESC ; 00000000G 00BA4
P.AHS: .ASCII \ R\<0><0> ; 00 00 52 20 00BA8
P.AHT: .ASCII \ R%\<0> ; 00 25 52 20 00BAC
P.AHU: .ASCII \ S\<0><0> ; 00 00 53 20 00BB0
P.AHV: .ASCII \ S%\<0> ; 00 25 53 20 00BB4
.EXTRN LOG_FAOL
.PSECT $CODE$,NOWRT,2
.ENTRY XFR_STATUS, ^M<R2,R3,R4,R5,R6> ;XFR_STATUS, Save R2,R3,R4,R5,R6 5093 007C 00000
MOVAB G^TT_NUMBER, R6 ;TT_NUMBER, R6 56 00000000G 00 9E 00002
MOVAB G^TT_TEXT, R5 ;TT_TEXT, R5 55 00000000G 00 9E 00009
MOVAB G^TRANSACTION_RAB, R4 ;TRANSACTION_RAB, R4 54 00000000' 00 9E 00010
MOVAB G^P.AGZ, R3 ;P.AGZ, R3 53 00000000' 00 9E 00017
BLBS -84(R4), 2$ ;TRANSACTION_OPEN, 2$ 5141 03 AC A4 E8 0001E
1$: BRW 10$ ;10$ 00A8 31 00022
2$: CMPL 4(AP), #70 ;TYPE, #70 00000046 8F 04 AC D1 00025
BNEQ 1$ ;1$ F3 12 0002D
MOVW G^FILE_SIZE, G^FILE_DESC ;FILE_SIZE, FILE_DESC 5144 00000000G 00 00000000G 00 B0 0002F
MOVL 8(AP), R2 ;SUB_TYPE, R2 5146 52 08 AC D0 0003A
CMPL R2, #83 ;R2, #83 5149 00000053 8F 52 D1 0003E
BNEQ 3$ ;3$ 07 12 00045
PUSHR #^M<R3,R4> ;#^M<R3,R4> 5150 18 BB 00047
PUSHAB -8(R3) ;P.AGX F8 A3 9F 00049
BRB 9$ ;9$ 78 11 0004C
3$: CMPL R2, #82 ;R2, #82 5152 00000052 8F 52 D1 0004E
BNEQ 4$ ;4$ 0A 12 00055
PUSHL R4 ;R4 5153 54 DD 00057
PUSHAB 44(R3) ;P.AHC 2C A3 9F 00059
PUSHAB 36(R3) ;P.AHA 24 A3 9F 0005C
BRB 9$ ;9$ 65 11 0005F
4$: CMPL R2, #67 ;R2, #67 5155 00000043 8F 52 D1 00061
BNEQ 5$ ;5$ 0A 12 00068
PUSHL R4 ;R4 5156 54 DD 0006A
PUSHAB 84(R3) ;P.AHF 54 A3 9F 0006C
PUSHAB 76(R3) ;P.AHD 4C A3 9F 0006F
BRB 9$ ;9$ 52 11 00072
5$: CMPL R2, #88 ;R2, #88 5158 00000058 8F 52 D1 00074
BNEQ 6$ ;6$ 0C 12 0007B
PUSHL R4 ;R4 5160 54 DD 0007D
PUSHAB 140(R3) ;P.AHI 5159 008C C3 9F 0007F
PUSHAB 132(R3) ;P.AHG 0084 C3 9F 00083
BRB 9$ ;9$ 3D 11 00087
6$: CMPL R2, #90 ;R2, #90 5162 0000005A 8F 52 D1 00089
BNEQ 7$ ;7$ 0C 12 00090
PUSHL R4 ;R4 5164 54 DD 00092
PUSHAB 204(R3) ;P.AHL 5163 00CC C3 9F 00094
PUSHAB 196(R3) ;P.AHJ 00C4 C3 9F 00098
BRB 9$ ;9$ 28 11 0009C
7$: CMPL R2, #68 ;R2, #68 5166 00000044 8F 52 D1 0009E
BNEQ 8$ ;8$ 0C 12 000A5
PUSHL R4 ;R4 5168 54 DD 000A7
PUSHAB 264(R3) ;P.AHO 5167 0108 C3 9F 000A9
PUSHAB 256(R3) ;P.AHM 0100 C3 9F 000AD
BRB 9$ ;9$ 13 11 000B1
8$: CMPL R2, #65 ;R2, #65 5170 00000041 8F 52 D1 000B3
BNEQ 10$ ;10$ 11 12 000BA
PUSHL R4 ;R4 5172 54 DD 000BC
PUSHAB 328(R3) ;P.AHR 5171 0148 C3 9F 000BE
PUSHAB 320(R3) ;P.AHP 0140 C3 9F 000C2
9$: CALLS #3, G^LOG_FAOL ;#3, LOG_FAOL 00000000G 00 03 FB 000C6
10$: BLBS G^TY_PKT, 11$ ;TY_PKT, 11$ 5177 01 00000000G 00 E8 000CD
RET ; 04 000D4
11$: MOVL 4(AP), R0 ;TYPE, R0 5181 50 04 AC D0 000D5
CMPL R0, #82 ;R0, #82 5184 00000052 8F 50 D1 000D9
BNEQ 13$ ;13$ 33 12 000E0
CMPL 8(AP), #80 ;SUB_TYPE, #80 5187 00000050 8F 08 AC D1 000E2
BNEQ 12$ ;12$ 10 12 000EA
PUSHAB 336(R3) ;P.AHS 5190 0150 C3 9F 000EC
CALLS #1, (R5) ;#1, TT_TEXT 65 01 FB 000F0
PUSHL G^RMSG_COUNT ;RMSG_COUNT 5191 00000000G 00 DD 000F3
CALLS #1, (R6) ;#1, TT_NUMBER 66 01 FB 000F9
12$: CMPL 8(AP), #78 ;SUB_TYPE, #78 5194 0000004E 8F 08 AC D1 000FC
BNEQ 16$ ;16$ 4C 12 00104
PUSHAB 340(R3) ;P.AHT 5197 0154 C3 9F 00106
CALLS #1, (R5) ;#1, TT_TEXT 65 01 FB 0010A
PUSHL G^RMSG_NAKS ;RMSG_NAKS 5198 00000000G 00 DD 0010D
BRB 15$ ;15$ 3A 11 00113
13$: CMPL R0, #83 ;R0, #83 5203 00000053 8F 50 D1 00115
BNEQ 16$ ;16$ 34 12 0011C
CMPL 8(AP), #80 ;SUB_TYPE, #80 5206 00000050 8F 08 AC D1 0011E
BNEQ 14$ ;14$ 10 12 00126
PUSHAB 344(R3) ;P.AHU 5209 0158 C3 9F 00128
CALLS #1, (R5) ;#1, TT_TEXT 65 01 FB 0012C
PUSHL G^SMSG_COUNT ;SMSG_COUNT 5210 00000000G 00 DD 0012F
CALLS #1, (R6) ;#1, TT_NUMBER 66 01 FB 00135
14$: CMPL 8(AP), #78 ;SUB_TYPE, #78 5213 0000004E 8F 08 AC D1 00138
BNEQ 16$ ;16$ 10 12 00140
PUSHAB 348(R3) ;P.AHV 5216 015C C3 9F 00142
CALLS #1, (R5) ;#1, TT_TEXT 65 01 FB 00146
PUSHL G^SMSG_NAKS ;SMSG_NAKS 5217 00000000G 00 DD 00149
15$: CALLS #1, (R6) ;#1, TT_NUMBER 66 01 FB 0014F
16$: CALLS #0, G^TT_OUTPUT ;#0, TT_OUTPUT 5223 00000000G 00 00 FB 00152
RET ; 5226 04 00159
; Routine Size: 346 bytes, Routine Base: $CODE$ + 1370
; 5227 1
; 5228 1 %SBTTL 'CRCCLC - Calculate the CRC-CCITT for a message'
; 5229 1
; 5230 1 GLOBAL ROUTINE CRCCLC (POINTER, SIZE) =
; 5231 1
; 5232 1 !++
; 5233 1 ! FUNCTIONAL DESCRIPTION:
; 5234 1 !
; 5235 1 ! This routine will calculate the CRC for a message. It will use
; 5236 1 ! the VAX LIB$ routine to do all the work.
; 5237 1 !
; 5238 1 ! CALLING SEQUENCE:
; 5239 1 !
; 5240 1 ! CRC = CRCCLC(Pointer, Size)
; 5241 1 !
; 5242 1 ! INPUT PARAMETERS:
; 5243 1 !
; 5244 1 ! Pointer - Character pointer to the message.
; 5245 1 ! Size - Length of the message.
; 5246 1 !
; 5247 1 ! IMPLICIT INPUTS:
; 5248 1 !
; 5249 1 ! None.
; 5250 1 !
; 5251 1 ! OUPTUT PARAMETERS:
; 5252 1 !
; 5253 1 ! CRC for the message.
; 5254 1 !
; 5255 1 ! IMPLICIT OUTPUTS:
; 5256 1 !
; 5257 1 ! None.
; 5258 1 !
; 5259 1 ! COMPLETION CODES:
; 5260 1 !
; 5261 1 ! None.
; 5262 1 !
; 5263 1 ! SIDE EFFECTS:
; 5264 1 !
; 5265 1 ! None.
; 5266 1 !
; 5267 1 !--
; 5268 1
; 5269 2 BEGIN
; 5270 2
; 5271 2 LOCAL
; 5272 2 TEMP_DESC : BLOCK [8, BYTE], ! Temporary descriptor
; 5273 2 CRC_INITIAL; ! Initial CRC value
; 5274 2
; 5275 2 CRC_INITIAL = 0; ! Set the initial value
; 5276 2 INIT_STR_DESC (TEMP_DESC, .POINTER, .SIZE);
; 5277 2 RETURN LIB$CRC (CRC_TABLE, CRC_INITIAL, TEMP_DESC);
; 5278 1 END; ! End of CRCCLC
.ENTRY CRCCLC, ^M<> ;CRCCLC, Save nothing 5230 0000 00000
SUBL2 #8, SP ;#8, SP 5E 08 C2 00002
CLRL -(SP) ;CRC_INITIAL 5275 7E D4 00005
MOVW #270, 6(SP) ;#270, TEMP_DESC+2 5276 06 AE 010E 8F B0 00007
MOVW 8(AP), 4(SP) ;SIZE, TEMP_DESC 04 AE 08 AC B0 0000D
MOVL 4(AP), 8(SP) ;POINTER, TEMP_DESC+4 08 AE 04 AC D0 00012
PUSHAB 4(SP) ;TEMP_DESC 5277 04 AE 9F 00017
PUSHAB 4(SP) ;CRC_INITIAL 04 AE 9F 0001A
PUSHAB G^U.60 ;U.60 00000000' 00 9F 0001D
CALLS #3, G^LIB$CRC ;#3, LIB$CRC 00000000G 00 03 FB 00023
RET ; 04 0002A
; Routine Size: 43 bytes, Routine Base: $CODE$ + 14CA
; 5279 1
; 5280 1 %SBTTL 'KRM_ERROR - Issue an error message given error code'
; 5281 1
; 5282 1 GLOBAL ROUTINE KRM_ERROR (ERROR_CODE) : NOVALUE =
; 5283 1
; 5284 1 !++
; 5285 1 ! FUNCTIONAL DESCRIPTION:
; 5286 1 !
; 5287 1 ! This routine will cause an error message to be issued to the
; 5288 1 ! user's terminal and/or a message to be sent to the remote KERMIT.
; 5289 1 !
; 5290 1 ! CALLING SEQUENCE:
; 5291 1 !
; 5292 1 ! KRM_ERROR(KER_xxxxxx);
; 5293 1 !
; 5294 1 ! INPUT PARAMETERS:
; 5295 1 !
; 5296 1 ! KER_xxxxxx - Error code from KERERR.REQ
; 5297 1 !
; 5298 1 ! IMPLICIT INPUTS:
; 5299 1 !
; 5300 1 ! None.
; 5301 1 !
; 5302 1 ! OUTPUT PARAMETERS:
; 5303 1 !
; 5304 1 ! None.
; 5305 1 !
; 5306 1 ! IMPLICIT OUTPUTS:
; 5307 1 !
; 5308 1 ! None.
; 5309 1 !
; 5310 1 ! COMPLETION CODES:
; 5311 1 !
; 5312 1 ! None.
; 5313 1 !
; 5314 1 ! SIDE EFFECTS:
; 5315 1 !
; 5316 1 ! None.
; 5317 1 !
; 5318 1 !--
; 5319 1
; 5320 2 BEGIN
; 5321 2 LIB$SIGNAL (.ERROR_CODE);
; 5322 1 END; ! End of KRM_ERROR
.ENTRY KRM_ERROR, ^M<> ;KRM_ERROR, Save nothing 5282 0000 00000
PUSHL 4(AP) ;ERROR_CODE 5321 04 AC DD 00002
CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 00005
RET ; 5322 04 0000C
; Routine Size: 13 bytes, Routine Base: $CODE$ + 14F5
; 5323 1
; 5324 1 %SBTTL 'KERM_HANDLER - Condition handler'
; 5325 1 ROUTINE KERM_HANDLER =
; 5326 1
; 5327 1 !++
; 5328 1 ! FUNCTIONAL DESCRIPTION:
; 5329 1 !
; 5330 1 ! This is the condition handler for KERMIT-32.
; 5331 1 !
; 5332 1 ! CALLING SEQUENCE:
; 5333 1 !
; 5334 1 ! Called via LIB$SIGNAL.
; 5335 1 !
; 5336 1 ! INPUT PARAMETERS:
; 5337 1 !
; 5338 1 ! None.
; 5339 1 !
; 5340 1 ! IMPLICIT INPUTS:
; 5341 1 !
; 5342 1 ! None.
; 5343 1 !
; 5344 1 ! OUTPUT PARAMETERS:
; 5345 1 !
; 5346 1 ! None.
; 5347 1 !
; 5348 1 ! IMPLICIT OUTPUTS:
; 5349 1 !
; 5350 1 ! None.
; 5351 1 !
; 5352 1 ! COMPLETION CODES:
; 5353 1 !
; 5354 1 ! None.
; 5355 1 !
; 5356 1 ! SIDE EFFECTS:
; 5357 1 !
; 5358 1 ! None.
; 5359 1 !
; 5360 1 !--
; 5361 1
; 5362 2 BEGIN
; 5363 2
; 5364 2 BIND
; 5365 2 FACILITY_DESC = %ASCID'KERMIT32';
; 5366 2
; 5367 2 BUILTIN
; 5368 2 AP;
; 5369 2
; 5370 2 LOCAL
; 5371 2 PUTMSG_VECTOR : VECTOR [10, LONG],
; 5372 2 SIGARGLST; ! Address of the signal argument list
; 5373 2
; 5374 2 MAP
; 5375 2 AP : REF BLOCK [, BYTE],
; 5376 2 SIGARGLST : REF BLOCK [, BYTE];
; 5377 2
; 5378 2 !++
; 5379 2 !
; 5380 2 ! Routine to do the actual output of the error message
; 5381 2 !
; 5382 2 !--
; 5383 2
; 5384 2 ROUTINE HANDLE_MSG =
; 5385 3 BEGIN
; 5386 3
; 5387 3 EXTERNAL ROUTINE
; 5388 3 LOG_FAOL;
; 5389 3
; 5390 3 BUILTIN
; 5391 3 AP;
; 5392 3
; 5393 3 LOCAL
; 5394 3 ERR_DESC, ! Address of the error descriptor
; 5395 3 POINTER; ! Pointer to get characters
; 5396 3
; 5397 3 MAP
; 5398 3 ERR_DESC : REF BLOCK [8, BYTE],
; 5399 3 AP : REF BLOCK [, BYTE];
; 5400 3
; 5401 3 ERR_DESC = .AP [4, 0, 32, 0];
; 5402 3
; 5403 3 IF .TERM_FLAG THEN SND_ERROR (.ERR_DESC [DSC$W_LENGTH], .ERR_DESC [DSC$A_POINTER]);
; 5404 3
; 5405 3 IF .TRANSACTION_OPEN
; 5406 3 THEN
; 5407 4 BEGIN
; 5408 4
; 5409 4 OWN
; 5410 4 TMP_DESC : BLOCK [8, BYTE];
; 5411 4
; 5412 4 INIT_STR_DESC (TMP_DESC, .ERR_DESC [DSC$A_POINTER], .ERR_DESC [DSC$W_LENGTH]);
; 5413 4 LOG_FAOL (%ASCID'!%T!_!AS!/', UPLIT (0, TMP_DESC), TRANSACTION_RAB);
; 5414 3 END;
; 5415 3
; 5416 3 IF NOT .CONNECT_FLAG
; 5417 3 THEN
; 5418 4 BEGIN
; 5419 4 TT_CRLF ();
; 5420 4 POINTER = CH$PTR (.ERR_DESC [DSC$A_POINTER]);
; 5421 4
; 5422 4 INCR I FROM 1 TO .ERR_DESC [DSC$W_LENGTH] DO
; 5423 4 TT_CHAR (CH$RCHAR_A (POINTER));
; 5424 4
; 5425 4 TT_CRLF ();
; 5426 3 END;
; 5427 3
; 5428 3 RETURN 0;
; 5429 2 END;
.PSECT $PLIT$,NOWRT,NOEXE,2
P.AHX: .ASCII \KERMIT32\ ; 32 33 54 49 4D 52 45 4B 00BB8
P.AHW: .LONG 17694728 ; 010E0008 00BC0
.ADDRESS P.AHX ; 00000000' 00BC4
P.AHZ: .ASCII \!%T!_!AS!/\<0><0> ; 53 41 21 5F 21 54 25 21 00BC8
; 00 00 2F 21 00BD0
P.AHY: .LONG 17694730 ; 010E000A 00BD4
.ADDRESS P.AHZ ; 00000000' 00BD8
P.AIA: .LONG 0 ; 00000000 00BDC
.ADDRESS U.1416 ; 00000000' 00BE0
.PSECT $OWN$,NOEXE,2
;TMP_DESC
U.1416: .BLKB 8 ; 00308
U.1410= P.AHW
.PSECT $CODE$,NOWRT,2
;HANDLE_MSG
U.1413: .WORD ^M<R2,R3,R4,R5,R6> ;Save R2,R3,R4,R5,R6 5384 007C 00000
MOVAB G^TT_CRLF, R6 ;TT_CRLF, R6 56 00000000G 00 9E 00002
MOVAB G^U.1416+2, R5 ;U.1416+2, R5 55 00000000' 00 9E 00009
MOVL 4(AP), R2 ;4(AP), ERR_DESC 5401 52 04 AC D0 00010
BLBC G^TERM_FLAG, 1$ ;TERM_FLAG, 1$ 5403 0D 00000000G 00 E9 00014
PUSHL 4(R2) ;4(ERR_DESC) 04 A2 DD 0001B
MOVZWL (R2), -(SP) ;(ERR_DESC), -(SP) 7E 62 3C 0001E
CALLS #2, G^SND_ERROR ;#2, SND_ERROR 00000000G 00 02 FB 00021
1$: BLBC G^TRANSACTION_OPEN, 2$ ;TRANSACTION_OPEN, 2$ 5405 27 00000000' 00 E9 00028
MOVW #270, (R5) ;#270, TMP_DESC+2 5412 65 010E 8F B0 0002F
MOVW (R2), -2(R5) ;(ERR_DESC), TMP_DESC FE A5 62 B0 00034
MOVL 4(R2), 2(R5) ;4(ERR_DESC), TMP_DESC+4 02 A5 04 A2 D0 00038
PUSHAB G^TRANSACTION_RAB ;TRANSACTION_RAB 5413 00000000' 00 9F 0003D
PUSHAB G^P.AIA ;P.AIA 00000000' 00 9F 00043
PUSHAB G^P.AHY ;P.AHY 00000000' 00 9F 00049
CALLS #3, G^LOG_FAOL ;#3, LOG_FAOL 00000000G 00 03 FB 0004F
2$: BLBS G^CONNECT_FLAG, 5$ ;CONNECT_FLAG, 5$ 5416 1F 00000000G 00 E8 00056
CALLS #0, (R6) ;#0, TT_CRLF 5419 66 00 FB 0005D
MOVL 4(R2), R4 ;4(ERR_DESC), POINTER 5420 54 04 A2 D0 00060
MOVZWL (R2), R3 ;(ERR_DESC), R3 5422 53 62 3C 00064
CLRL R2 ;I 52 D4 00067
BRB 4$ ;4$ 0A 11 00069
3$: MOVZBL (R4)+, -(SP) ;(POINTER)+, -(SP) 5423 7E 84 9A 0006B
CALLS #1, G^TT_CHAR ;#1, TT_CHAR 00000000G 00 01 FB 0006E
4$: AOBLEQ R3, R2, 3$ ;R3, I, 3$ 52 53 F3 00075
; F2 00078
CALLS #0, (R6) ;#0, TT_CRLF 5425 66 00 FB 00079
5$: CLRL R0 ;R0 5428 50 D4 0007C
RET ; 04 0007E
; Routine Size: 127 bytes, Routine Base: $CODE$ + 1502
; 5430 2 SIGARGLST = .AP [CHF$L_SIGARGLST];
; 5431 2
; 5432 2 IF .SIGARGLST [CHF$L_SIG_NAME] GEQ %X'400' AND .SIGARGLST [CHF$L_SIG_NAME] LEQ %X'5FF'
; 5433 2 THEN
; 5434 2 RETURN SS$_RESIGNAL;
; 5435 2
; 5436 2 PUTMSG_VECTOR [0] = .SIGARGLST [CHF$L_SIG_ARGS] - 2; ! No PC and PSL
; 5437 2 PUTMSG_VECTOR [1] = .SIGARGLST [CHF$L_SIG_NAME];
; 5438 2 ! PUTMSG_VECTOR [2] = .SIGARGLST [CHF$L_SIG_ARGS] - 3;
; 5439 2
; 5440 2 ! INCR I FROM 0 TO .SIGARGLST [CHF$L_SIG_ARGS] - 4 DO
; 5441 2 INCR I FROM 0 TO .SIGARGLST [CHF$L_SIG_ARGS] - 2 DO
; 5442 2 PUTMSG_VECTOR [.I + 2] = .(SIGARGLST [CHF$L_SIG_ARG1] + (.I*4));
; 5443 2
; 5444 2 Final_Status = .Putmsg_Vector [1];
; 5445 2 $PUTMSG (MSGVEC = PUTMSG_VECTOR, ACTRTN = HANDLE_MSG, FACNAM = FACILITY_DESC);
; 5446 2 RETURN SS$_CONTINUE;
; 5447 1 END; ! End of KERM_HANDLER
.EXTRN SYS$PUTMSG
;KERM_HANDLER
U.37: .WORD ^M<R2> ;Save R2 5325 0004 00000
SUBL2 #40, SP ;#40, SP 5E 28 C2 00002
MOVL 4(AP), R1 ;4(AP), SIGARGLST 5430 51 04 AC D0 00005
CMPL 4(R1), #1024 ;4(SIGARGLST), #1024 5432 00000400 8F 04 A1 D1 00009
BLSS 1$ ;1$ 10 19 00011
CMPL 4(R1), #1535 ;4(SIGARGLST), #1535 000005FF 8F 04 A1 D1 00013
BGTR 1$ ;1$ 06 14 0001B
MOVZWL #2328, R0 ;#2328, R0 5434 50 0918 8F 3C 0001D
RET ; 04 00022
1$: SUBL3 #2, (R1), R2 ;#2, (SIGARGLST), R2 5436 61 02 C3 00023
; 52 00026
MOVL R2, (SP) ;R2, PUTMSG_VECTOR 6E 52 D0 00027
MOVL 4(R1), 4(SP) ;4(SIGARGLST), PUTMSG_VECTOR+4 5437 04 AE 04 A1 D0 0002A
MNEGL #1, R0 ;#1, I 5441 50 01 CE 0002F
BRB 3$ ;3$ 07 11 00032
2$: MOVL 8(R1)[R0], 8(SP)[R0] ;8(SIGARGLST)[I], PUTMSG_VECTOR+8[I] 5442 08 AE40 08 A140 D0 00034
3$: AOBLEQ R2, R0, 2$ ;R2, I, 2$ 50 52 F3 0003B
; F5 0003E
MOVL 4(SP), G^U.56 ;PUTMSG_VECTOR+4, U.56 5444 00000000' 00 04 AE D0 0003F
CLRL -(SP) ;-(SP) 5445 7E D4 00047
PUSHAB G^U.1410 ;U.1410 00000000' 00 9F 00049
PUSHAB W^U.1413 ;U.1413 FF2E CF 9F 0004F
PUSHAB 12(SP) ;PUTMSG_VECTOR 0C AE 9F 00053
CALLS #4, G^SYS$PUTMSG ;#4, SYS$PUTMSG 00000000G 00 04 FB 00056
MOVL #1, R0 ;#1, R0 5446 50 01 D0 0005D
RET ; 04 00060
; Routine Size: 97 bytes, Routine Base: $CODE$ + 1581
; 5448 1 %SBTTL 'End of KERMIT.B32'
; 5449 1 END ! End of module
; 5450 1
; 5451 0 ELUDOM
; PSECT SUMMARY
;
; Name Bytes Attributes
;
; $PLIT$ 3044 NOVEC,NOWRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2)
; $GLOBAL$ 300 NOVEC, WRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2)
; $OWN$ 784 NOVEC, WRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2)
; _LIB$KEY0$ 268 NOVEC,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(1)
; _LIB$STATE$ 2001 NOVEC,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(1)
; _LIB$KEY1$ 1168 NOVEC,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(1)
; $CODE$ 5602 NOVEC,NOWRT, RD , EXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2)
; . ABS . 0 NOVEC,NOWRT,NORD ,NOEXE,NOSHR, LCL, ABS, CON,NOPIC,ALIGN(0)
; Library Statistics
;
; -------- Symbols -------- Pages Processing
; File Total Loaded Percent Mapped Time
;
; SYS$COMMON:[SYSLIB]STARLET.L32;2 12540 117 0 721 00:00.4
; SYS$COMMON:[SYSLIB]TPAMAC.L32;2 43 33 76 15 00:00.1
; COMMAND QUALIFIERS
; BLISS/LIS/MACH=(ASSEM,UNIQUE)/SOU:NOHEAD VMSMIT
; Compilation Complete
.END U.1302