home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / b / vmsmit.mar < prev    next >
Text File  |  2020-01-01  |  439KB  |  10,660 lines

  1. ;   0001  0    MODULE KERMIT (IDENT = '3.3.128', MAIN = MAIN_ROUTINE,
  2. ;   0002  0        ADDRESSING_MODE(EXTERNAL = GENERAL, NONEXTERNAL = GENERAL)
  3. ;   0003  0            ) =
  4. ;   0004  0    
  5. ;   0005  1    BEGIN
  6. ;   0006  1    
  7. ;   0007  1    BIND
  8. ;   0008  1        IDENT_STRING = %ASCID'VMS Kermit-32 version 3.3.128';    ! Ident message
  9. ;   0009  1    
  10. ;   0010  1    !++
  11. ;   0011  1    ! FACILITY:
  12. ;   0012  1    !   KERMIT-32
  13. ;   0013  1    !
  14. ;   0014  1    ! ABSTRACT:
  15. ;   0015  1    !   KERMIT-32 is an implementation of the KERMIT protocal to allow the
  16. ;   0016  1    !   transfer of files from micro computers to the DECsystem-10, DECSYSTEM-20
  17. ;   0017  1    !   and now the VAX/VMS systems.
  18. ;   0018  1    !
  19. ;   0019  1    ! ENVIRONMENT:
  20. ;   0020  1    !   User mode
  21. ;   0021  1    !
  22. ;   0022  1    ! AUTHOR: Robert C. McQueen, CREATION DATE: 24-January-1983
  23. ;   0023  1    !
  24. ;   0024  1    ! MODIFIED BY:
  25. ;   0025  1    !
  26. ;   0026  1    !--
  27. ;   0027  1     
  28. ;   0028  1     %SBTTL 'Table of Contents'
  29. ;   0029  1     %SBTTL 'Revision History'
  30. ;   0030  1     
  31. ;   0031  1    !++
  32. ;   0032  1    ! Start of version 1.
  33. ;   0033  1    !
  34. ;   0034  1    ! 1.0.000    By: Robert C. McQueen        On: 4-Jan-1983
  35. ;   0035  1    !        Create this program.
  36. ;   0036  1    !
  37. ;   0037  1    ! 1.0.001    By: Robert C. McQueen        On: 4-May-1983
  38. ;   0038  1    !        Allow RECEIVE without a file specification to mean
  39. ;   0039  1    !        use what ever the remote says.
  40. ;   0040  1    !
  41. ;   0041  1    ! 1.1.002    By: W. Hom            On: 6-July-1983
  42. ;   0042  1    !        Implement CONNECT command.
  43. ;   0043  1    !
  44. ;   0044  1    ! 1.2.003    By: Robert C. McQueen        On: 15-Aug-1983
  45. ;   0045  1    !        Add SET PARITY command and SHOW PARITY to support
  46. ;   0046  1    !        eight bit quoting.
  47. ;   0047  1    !
  48. ;   0048  1    ! 1.2.004    By: Robert C. McQueen        On: 23-August-1983
  49. ;   0049  1    !        Add dummy routine SY_TIME.
  50. ;   0050  1    !
  51. ;   0051  1    ! 1.2.005    By: Robert C. McQueen        On: 23-August-1983
  52. ;   0052  1    !        Add SET [SEND | RECEIVE] EIGHT-BIT-QUOTE <octal>
  53. ;   0053  1    !        command.  Add message for SHOW RECEIVE and SHOW SEND parameters
  54. ;   0054  1    !
  55. ;   0055  1    ! 1.2.006    By: Robert C. McQueen        On: 26-August-1983
  56. ;   0056  1    !        Add BYE, FINISH and LOGOUT commands.  These commands call
  57. ;   0057  1    !        DO_GENERIC to send generic functions to remote servers.
  58. ;   0058  1    !
  59. ;   0059  1    ! 1.2.007    By: Robert C. McQueen        On: 16-September-1983
  60. ;   0060  1    !        Implement SY_TIME, and XFR_STATUS routines.
  61. ;   0061  1    !        Add more stat type out.
  62. ;   0062  1    !
  63. ;   0063  1    ! 1.2.008    By: Robert C. McQueen        On: 19-September-1983
  64. ;   0064  1    !        Add the SET RETRY command and the SHOW RETRY command.
  65. ;   0065  1    !
  66. ;   0066  1    ! 1.2.009    By: Robert C. McQueen        On: 20-September-1983
  67. ;   0067  1    !        Add CRCCLC routine for calculating CRC-CCITT.
  68. ;   0068  1    !        Set SET BLOCK_CHECK_TYPE and SHOW BLOCK_CHECK_TYPE commands.
  69. ;   0069  1    !
  70. ;   0070  1    ! 1.2.010    By: Nick Bush            On: 3-October-1983
  71. ;   0071  1    !        SERVER (in KERMSG) actually returns a value.  If it
  72. ;   0072  1    !        is "ABORTED", then we should prompt again.  This allows
  73. ;   0073  1    !        a ^Y typed to the server to put it back into command
  74. ;   0074  1    !        level.  (If you want to type out statistics or whatever).
  75. ;   0075  1    !
  76. ;   0076  1    ! 2.0.011    Release VAX/VMS Kermit-32 version 2.0
  77. ;   0077  1    !
  78. ;   0078  1    ! 2.0.012    By: Nick Bush            On: 10-Nov-1983
  79. ;   0079  1    !        Add type out of version number.  Also fix some
  80. ;   0080  1    !        problems with IBM mode and local echo.
  81. ;   0081  1    !
  82. ;   0082  1    ! 2.0.013    By: Nick Bush            On: 11-Nov-1983
  83. ;   0083  1    !        Change how debugging output is done so that it
  84. ;   0084  1    !        can be redirected to the logical device KER$DEBUG.
  85. ;   0085  1    !        If the logical name is defined to be something other
  86. ;   0086  1    !        that SYS$OUTPUT, KERMIT will send any debugging output
  87. ;   0087  1    !        there.
  88. ;   0088  1    !
  89. ;   0089  1    ! 2.0.014    By: Robert C. McQueen        On: 16-Nov-1983
  90. ;   0090  1    !        Make sure all message number checks are mod 64.  There
  91. ;   0091  1    !        were four that weren't.
  92. ;   0092  1    !
  93. ;   0093  1    ! 2.0.015    By: Nick Bush            On: 17-Nov-1983
  94. ;   0094  1    !        Always clear purge typeahead when posting receive QIO.
  95. ;   0095  1    !        Also, clear any typeahead just before sending a packet.
  96. ;   0096  1    !
  97. ;   0097  1    ! 2.0.016    By: Nick Bush            On: 4-Dec-1983
  98. ;   0098  1    !        Change how binary files are written to (hopefully) improve
  99. ;   0099  1    !        the performance.  We will now use 510 records and only
  100. ;   0100  1    !        write out the record when it is filled (instead of writing
  101. ;   0101  1    !        one record per packet).  This should cut down on the overhead
  102. ;   0102  1    !        substantially.
  103. ;   0103  1    !
  104. ;   0104  1    ! 2.0.017    By: Nick Bush            On: 9-Dec-1983
  105. ;   0105  1    !        Fix processing for VFC format files.  Also fix GET_ASCII
  106. ;   0106  1    !        for PRN and FTN record types.  Change GET_ASCII so that
  107. ;   0107  1    !        'normal' CR records get sent with trailing CRLF's instead
  108. ;   0108  1    !        of <LF>record<CR>.  That was confusing too many people.
  109. ;   0109  1    !
  110. ;   0110  1    ! 2.0.020    By: Nick Bush            On: 9-Dec-1983
  111. ;   0111  1    !        Only abort (when remote) if we seen two control-Y's in
  112. ;   0112  1    !        succession.  This way a single glitch does not kill us.
  113. ;   0113  1    !
  114. ;   0114  1    ! 2.0.021    By: Nick Bush            On: 12-Dec-1983
  115. ;   0115  1    !        Add status type-out character (^A), debug toggle
  116. ;   0116  1    !        character (^D), and force timeout character (^M)
  117. ;   0117  1    !        to those accepted during a transfer when we are remote.
  118. ;   0118  1    !
  119. ;   0119  1    ! 2.0.022    By: Nick Bush            On: 15-Dec-1983
  120. ;   0120  1    !        Add Fixed record size (512 byte) format for writing files.
  121. ;   0121  1    !        This can be used for .EXE files.  Also clean up writing
  122. ;   0122  1    !        ASCII files so that we don't lose any characters.
  123. ;   0123  1    !
  124. ;   0124  1    ! 2.0.023    By: Nick Bush            On: 16-Dec-1983
  125. ;   0125  1    !        Add a default terminal name for the communications line.
  126. ;   0126  1    !        If KER$COMM is defined, that will be the default.
  127. ;   0127  1    !
  128. ;   0128  1    ! 2.0.025    By: Robert C. McQueen        On: 22-Dec-1983
  129. ;   0129  1    !        Use RMSG_COUNT and SMSG_COUNT now.
  130. ;   0130  1    !
  131. ;   0131  1    ! 2.0.026    By: Nick Bush            On: 3-Jan-1984
  132. ;   0132  1    !        Add options for format of file specification to be
  133. ;   0133  1    !        sent in file header packets.  Also type out full file
  134. ;   0134  1    !        specification being sent/received instead of just
  135. ;   0135  1    !        the name we are telling the other end to use.
  136. ;   0136  1    !
  137. ;   0137  1    ! 2.0.027    By: Nick Bush            On: 20-Jan-1984
  138. ;   0138  1    !        Fix reset of parity to use the correct field in the
  139. ;   0139  1    !        IO status block from the IO$_SENSEMODE.  It was using
  140. ;   0140  1    !        the LF fill count instead.
  141. ;   0141  1    !
  142. ;   0142  1    ! 2.0.030    By: Nick Bush            On: 3-Feb-1984
  143. ;   0143  1    !        Add the capability of receiving a file with a different
  144. ;   0144  1    !        name than given by KERMSG.  The RECEIVE and GET commands
  145. ;   0145  1    !        now really are different.
  146. ;   0146  1    !
  147. ;   0147  1    ! 2.0.031    By: Nick Bush            On: 4-Feb-1984
  148. ;   0148  1    !        Change connect code to improve response (hopefully
  149. ;   0149  1    !        without worsening throughput or runtime requirements).
  150. ;   0150  1    !        When either terminal is idle we will be waiting for
  151. ;   0151  1    !        a single character with a larger buffered read queued
  152. ;   0152  1    !        up immediately after it.
  153. ;   0153  1    !
  154. ;   0154  1    ! 2.0.032    By: Nick Bush            On: 25-Feb-1984
  155. ;   0155  1    !        Add code for LOCAL and REMOTE commands.  These depend
  156. ;   0156  1    !        upon support in KERMSG and KERSYS.
  157. ;   0157  1    !
  158. ;   0158  1    ! 2.0.033    By: Nick Bush            On: 6-March-1984
  159. ;   0159  1    !        Change command input and terminal processing so that
  160. ;   0160  1    !        we will always have SYS$OUTPUT and SYS$COMMAND open
  161. ;   0161  1    !        when they are terminals, and will also always have
  162. ;   0162  1    !        the transfer terminal line open.  This makes it
  163. ;   0163  1    !        unnecessary for the user to allocate a dialup line
  164. ;   0164  1    !        in order to go between CONNECT and a transfer command,
  165. ;   0165  1    !        and keep anyone else from grabbing the line between
  166. ;   0166  1    !        commands.
  167. ;   0167  1    !        Also add the command parsing for the rest of the LOCAL/REMOTE
  168. ;   0168  1    !        commands.  This makes use of the fact that we have
  169. ;   0169  1    !        SYS$COMMAND open to allow us to read passwords without echo.
  170. ;   0170  1    !        Commands which should only be done when Kermit is local
  171. ;   0171  1    !        (GET, BYE, etc.) will now give an error if the transfer
  172. ;   0172  1    !        line is the same as the controlling terminal.
  173. ;   0173  1    !        SEND will now check for the files existance before calling
  174. ;   0174  1    !        KERMSG to send it.
  175. ;   0175  1    !
  176. ;   0176  1    ! 2.0.034    By: Nick Bush                On: 7-March-1984
  177. ;   0177  1    !        Default the parity type to be that of the default transfer
  178. ;   0178  1    !        line.  This should make things simpler for systems which use
  179. ;   0179  1    !        parity by default.
  180. ;   0180  1    !
  181. ;   0181  1    ! 2.0.035    By: Nick Bush                On: 8-March-1984
  182. ;   0182  1    !        Add LOG SESSION command to set a log file for CONNECT.
  183. ;   0183  1    !        While we are doing so, clean up the command parsing a little
  184. ;   0184  1    !        so that we don't have as many COPY_xxx routines.
  185. ;   0185  1    !
  186. ;   0186  1    ! 2.0.036    By: Nick Bush                On: 15-March-1984
  187. ;   0187  1    !        Fix PUT_FILE to correctly handle carriage returns which are
  188. ;   0188  1    !        not followed by line feeds.  Count was being decremented
  189. ;   0189  1    !        Instead of incremented.
  190. ;   0190  1    !
  191. ;   0191  1    ! 2.0.037    By: Robert C. McQueen            On: 20-March-1984
  192. ;   0192  1    !        Fix call to LOG_OPEN for debug log file.
  193. ;   0193  1    !        Module: KERTRM.
  194. ;   0194  1    !
  195. ;   0195  1    ! 2.0.040    By: Nick Bush                On: 22-March-1984
  196. ;   0196  1    !        Fix processing of FORTRAN carriage control to handle lines
  197. ;   0197  1    !        which do not contain the carriage control character (i.e., zero
  198. ;   0198  1    !        length records).  Previously, this type of record was sending
  199. ;   0199  1    !        infinite nulls.
  200. ;   0200  1    !
  201. ;   0201  1    ! 2.0.041    By: Nick Bush                On: 26-March-1984
  202. ;   0202  1    !        Add SET PROMPT command.
  203. ;   0203  1    !
  204. ;   0204  1    ! 2.0.042    By: Nick Bush                On: 26-March-1984
  205. ;   0205  1    !        Fix connect processing to make it easy to type messages
  206. ;   0206  1    !        on the user's terminal while connected.  Use this
  207. ;   0207  1    !        to type messages when log file stopped and started.
  208. ;   0208  1    !        Include the node name in the messages to keep
  209. ;   0209  1    !        users who are running through multiple Kermit's from
  210. ;   0210  1    !        getting confused.
  211. ;   0211  1    !
  212. ;   0212  1    ! 2.0.043    By: Nick Bush                On: 28-March-1984
  213. ;   0213  1    !        Fix SET PARITY ODD to work.  Somehow, the table entry
  214. ;   0214  1    !        had PR_NONE instead of PR_ODD.  Also add status type
  215. ;   0215  1    !        out and help message to connect command.
  216. ;   0216  1    !
  217. ;   0217  1    ! 2.0.044    By: Nick Bush                On: 28-March-1984
  218. ;   0218  1    !        Fix SET SEND START_OF_PACKET to store in SND_SOH instead
  219. ;   0219  1    !        of RCV_SOH.  Also, set TY_FIL false before calling FILE_OPEN
  220. ;   0220  1    !        to check for existence of send files.
  221. ;   0221  1    !
  222. ;   0222  1    ! 3.0.045    Start of version 3.
  223. ;   0223  1    !
  224. ;   0224  1    ! 3.0.046    By: Nick Bush                On: 29-March-1984
  225. ;   0225  1    !        Fix debugging log file to correctly set/clear file open
  226. ;   0226  1    !        flag.  Also make log files default to .LOG.
  227. ;   0227  1    !
  228. ;   0228  1    ! 3.0.047    By: Nick Bush                On: 30-March-1984
  229. ;   0229  1    !        Fix SEND command processing to save and restore the file
  230. ;   0230  1    !        specification over the call to FILE_OPEN, since FILE_OPEN
  231. ;   0231  1    !        rewrites it with the resulting file name, losing any
  232. ;   0232  1    !        wild-cards.
  233. ;   0233  1    !
  234. ;   0234  1    ! 3.0.050    By: Nick Bush                On: 2-April-1984
  235. ;   0235  1    !        Add SET SERVER_TIMER to determine period between idle naks.
  236. ;   0236  1    !        Also allow for a routine to process file specs before
  237. ;   0237  1    !        FILE_OPEN uses them.  This allows individual sites to
  238. ;   0238  1    !        restrict the format of file specifications used by Kermit.
  239. ;   0239  1    !
  240. ;   0240  1    ! 3.0.051    By: Nick Bush                On: 2-April-1984
  241. ;   0241  1    !        Fix command scanning to correctly exit after performing
  242. ;   0242  1    !        a single command when entered with a command present.
  243. ;   0243  1    !
  244. ;   0244  1    ! 3.1.052    By: Nick Bush                On: 3-July-1984
  245. ;   0245  1    !        Fix KERCOM's definition of MAX_MSG to allow for all characters
  246. ;   0246  1    !        of packet to fit into buffers, not just the counted ones.
  247. ;   0247  1    !
  248. ;   0248  1    ! 3.1.053    By: Robert C. McQueen            On: 9-July-1984
  249. ;   0249  1    !        Fix FORTRAN carriage control processing to pass along
  250. ;   0250  1    !        any character from the carriage control column that is
  251. ;   0251  1    !        not really carriage control.
  252. ;   0252  1    !
  253. ;   0253  1    ! 3.1.054    By: Nick Bush                On: 13-July-1984
  254. ;   0254  1    !        Change TERM_OPEN to take an argument which determines
  255. ;   0255  1    !        whether it should post any QIO's.  This makes it unnecessary
  256. ;   0256  1    !        for TERM_CONNECT to cancel the QIO's, and avoids problems
  257. ;   0257  1    !        with DECnet remote terminals.
  258. ;   0258  1    !
  259. ;   0259  1    ! 3.1.055    By: Nick Bush                On: 27-August-1984
  260. ;   0260  1    !        Clear out FILE_SIZE before processing a RECEIVE command to
  261. ;   0261  1    !        ensure that KERMSG doesn't perform a GET.
  262. ;   0262  1    !
  263. ;   0263  1    ! 3.1.056    By: Nick Bush                On: 28-August-1984
  264. ;   0264  1    !        Add a TAKE (or @) command.  Also perform an initialization
  265. ;   0265  1    !        file on startup.  This file is either VMSKERMIT.INI or
  266. ;   0266  1    !        whatever file is pointed to by the logical name VMSKERMIT.
  267. ;   0267  1    !
  268. ;   0268  1    ! 3.1.057    By: Nick Bush                On: 21-Feb-1985
  269. ;   0269  1    !        Determine VMS version on startup and remember for later
  270. ;   0270  1    !        use.  Use it in KERSYS to determine whether we will need
  271. ;   0271  1    !        to force an end-of-file on the mailbox when the subprocess
  272. ;   0272  1    !        on the other end goes away.
  273. ;   0273  1    !
  274. ;   0274  1    ! 3.1.060    By: Nick Bush                On: 16-March-1985
  275. ;   0275  1    !        Increase size of terminal name buffers to account for large
  276. ;   0276  1    !        unit numbers (most likely seen with VTA's).
  277. ;   0277  1    !
  278. ;   0278  1    ! 3.1.061    By: Nick Bush                On: 16-March-1985
  279. ;   0279  1    !        Only attempt to set parity back when closing terminal.
  280. ;   0280  1    !
  281. ;   0281  1    ! 3.1.062    By: Nick Bush                On: 16-March-1985
  282. ;   0282  1    !        Previous edit broke remote commands - must post QIO's
  283. ;   0283  1    !        when opening terminals for these.
  284. ;   0284  1    !
  285. ;   0285  1    ! 3.1.063    By: Nick Bush                On: 16-March-1985
  286. ;   0286  1    !        Fix status command to output right headers over data.
  287. ;   0287  1    !
  288. ;   0288  1    ! 3.1.064    By: Nick Bush                On: 30-March-1985
  289. ;   0289  1    !        Fix LIB$SPAWN call to set SYS$INPUT for the subprocess
  290. ;   0290  1    !        to be NLA0: so that it doesn't try to input from the
  291. ;   0291  1    !        terminal.
  292. ;   0292  1    !
  293. ;   0293  1    ! 3.1.065    By: Nick Bush                On: 10-April-1985
  294. ;   0294  1    !        Split IBM handshaking from parity and local echo.  Allow
  295. ;   0295  1    !        link time setting of IBM_MODE defaults by defining symbols:
  296. ;   0296  1    !
  297. ;   0297  1    !        IBM_MODE_CHARACTER = character value of handshake character
  298. ;   0298  1    !        IBM_MODE_ECHO = 1 for local echo, 2 for no local echo
  299. ;   0299  1    !        IBM_MODE_PARITY = (0 = none), (1 = mark), (2 = even),
  300. ;   0300  1    !            (3 = odd), (4 = space).
  301. ;   0301  1    !
  302. ;   0302  1    !        If not specified, Kermit will continue to use DC1, local echo
  303. ;   0303  1    !        and odd parity for IBM_MODE.
  304. ;   0304  1    !
  305. ;   0305  1    ! 3.1.066    By: Nick Bush                On: 22-April-1985
  306. ;   0306  1    !        Don't use NLA0: as SYS$INPUT when spawning things under VMS 3.
  307. ;   0307  1    !
  308. ;   0308  1    !
  309. ;   0309  1    ! Start version 3.2 on 8-May-1985
  310. ;   0310  1    !
  311. ;   0311  1    ! 3.2.067    By: Robert McQueen            On: 8-May-1985
  312. ;   0312  1    !        Use $GETJPIW and $GETDVIW instead of $GETJPI and $GETDVI.
  313. ;   0313  1    !        Module: KERTRM, KERFIL
  314. ;   0314  1    !
  315. ;   0315  1    ! 3.2.070    By: Robert McQueen            On: 17-Dec-1985
  316. ;   0316  1    !        Fix a problem with CRC calculations when 8 bit data and not
  317. ;   0317  1    !        8 bit quoting.
  318. ;   0318  1    !
  319. ;   0319  1    ! 3.2.071    By: Robert McQueen            On: 11-March-1986
  320. ;   0320  1    !        Fix a problem were KERMSG didn't allow for a line termination
  321. ;   0321  1    !        character in the buffer.
  322. ;   0322  1    !
  323. ;   0323  1    ! 3.2.072    By: Robert McQueen            On: 11-March-1986
  324. ;   0324  1    !        Allow 0 as a valid value for SET SEND PADDING command.
  325. ;   0325  1    !
  326. ;   0326  1    ! 3.2.073    By: Robert McQueen            On: 11-March-1986
  327. ;   0327  1    !        Fix a problem restoring the terminal characteristics under
  328. ;   0328  1    !        VMS 4.x
  329. ;   0329  1    !
  330. ;   0330  1    ! 3.2.074    By: Robert McQueen            On: 11-March-1986
  331. ;   0331  1    !        Put MAX_MSG back the way it was and fix the problem correctly
  332. ;   0332  1    !        in KERMSG.
  333. ;   0333  1    !
  334. ;   0334  1    ! 3.2.075    By: Robert McQueen            On: 8-April-1986
  335. ;   0335  1    !        Change how the FINISH command works.  Cause it to go back to
  336. ;   0336  1    !        the Kermit-32 prompt, not exit.
  337. ;   0337  1    !
  338. ;   0338  1    ! 3.2.076    By: Robert McQueen            On: 17-April-1986
  339. ;   0339  1    !        Set PASSTHRU in addition to everything else we change in VMSTRM.
  340. ;   0340  1    !
  341. ;   0341  1    ! 3.2.077    By: Robert McQueen            On: 8-May-1986
  342. ;   0342  1    !        FIX FORTRAN CC!! (Once and for all I hope)
  343. ;   0343  1    !
  344. ;   0344  1    ! 3.2.100    By: Gregory P. Welsh            On: 1-June-1986
  345. ;   0345  1    !        Add TRANSMIT command along with set SET/SHOW TRANSMIT ECHO
  346. ;   0346  1    !               and DELAY commands.
  347. ;   0347  1    !
  348. ;   0348  1    ! Start of version 3.3
  349. ;   0349  1    !
  350. ;   0350  1    ! 3.3.101    By: Robert C. McQueen            On: 2-July-1986
  351. ;   0351  1    !        Change $TRNLOG system service calls to LIB$SYS_TRNLOG library
  352. ;   0352  1    !        routine.  Handle no translation properly in VMSTRM.BLI.
  353. ;   0353  1    !
  354. ;   0354  1    ! 3.3.102    By: Robert McQueen            On: 5-July-1986
  355. ;   0355  1    !        Add changes/fixes suggested by Art Guion and David Deley for
  356. ;   0356  1    !        VMSTRM.BLI
  357. ;   0357  1    !        - Turn off FALLBACK terminal characteristics for eightbit
  358. ;   0358  1    !          operations.
  359. ;   0359  1    !        - Decrease IBM timeouts when waiting for a handshake.
  360. ;   0360  1    !
  361. ;   0361  1    ! 3.3.103    By: Robert McQueen            On: 5-July-1986
  362. ;   0362  1    !        Add changes/fixes suggested by David Deley for VMSMIT.BLI
  363. ;   0363  1    !        - Problem with an infinite loop getting a command.
  364. ;   0364  1    !
  365. ;   0365  1    ! 3.3.104    By: Robert McQueen            On: 5-July-1986
  366. ;   0366  1    !        Add changes/fixes suggested by Art Guion and David Deley for
  367. ;   0367  1    !        KERMSG.BLI.
  368. ;   0368  1    !        - Always attempt a handshake in IBM mode.  Failing to handshake
  369. ;   0369  1    !          may cause 3704/5 style controller to hang a VM system.
  370. ;   0370  1    !        - Don't lose the last character in a buffer.   BFR_FILL logic
  371. ;   0371  1    !          forgets to send the last cahracters of a file when it doesn't
  372. ;   0372  1    !          fit into the current packet.
  373. ;   0373  1    !
  374. ;   0374  1    ! 3.3.105    By: Robert McQueen            On: 8-July-1986
  375. ;   0375  1    !        Attempt to fix the truncation errors that we now get from
  376. ;   0376  1    !        LINK with BLISS-32 v4.2.  Also do code clean up in VMSTRM and
  377. ;   0377  1    !        VMSFIL.
  378. ;   0378  1    !
  379. ;   0379  1    ! 3.3.106    By: Robert McQueen            On: 8-July-1986
  380. ;   0380  1    !        Fix problem of closing a fixed file and losing data.
  381. ;   0381  1    !
  382. ;   0382  1    ! 3.3.107    By: Antonino N. Mione            On: 8-Sep-1986
  383. ;   0383  1    !        Do not abort on ERROR packet while in SERVER mode. Instead,
  384. ;   0384  1    !        return to SERVER IDLE mode.
  385. ;   0385  1    !
  386. ;   0386  1    ! 3.3.110    By: Antonino N. Mione            On: 8-Sep-1986
  387. ;   0387  1    !        Make KERMIT-32 close the terminal (so the terminal
  388. ;   0388  1    !        parameters are appropriately reset) upon reciept of 
  389. ;   0389  1    !        a GENERIC LOGOUT packet.
  390. ;   0390  1    !
  391. ;   0391  1    ! 3.3.111    By: Robert McQueen            On: 2-Oct-1986
  392. ;   0392  1    !        Make Kermit-32 not eat the parity from a CR if a LF doesn't
  393. ;   0393  1    !        follow it when writing an ASCII file.
  394. ;   0394  1    !
  395. ;   0395  1    ! 3.3.112    JHW0001        Jonathan H. Welch,     28-Apr-1988 12:11
  396. ;   0396  1    !        Fix the message generated in NEXT_FILE so that the
  397. ;   0397  1    !        filenames displayed (i.e. Sending: foo.bar;1 as foo.bar)
  398. ;   0398  1    !        are always terminated by a null (ASCIZ).
  399. ;   0399  1    !
  400. ;   0400  1    ! 3.3.113    JHW0002        Jonathan H. Welch,    5-May-1988 11:48
  401. ;   0401  1    !        Modified SY_TIME to use $GETTIM as opposed to the LIB$timer
  402. ;   0402  1    !        routines (which broke when their method of calculating
  403. ;   0403  1    !        time differences changed in V4.4?).
  404. ;   0404  1    !
  405. ;   0405  1    !        Removed the call to LIB$INIT_TIMER in SY_INIT.
  406. ;   0406  1    !
  407. ;   0407  1    ! 3.3.114    JHW003        Jonathan H. Welch,    6-May-1988 9:41
  408. ;   0408  1    !        Modified MAIN_ROUTINE to return the status code from
  409. ;   0409  1    !        COMND when exiting.
  410. ;   0410  1    !
  411. ;   0411  1    !        Note: The error message codes returned are internal
  412. ;   0412  1    !        Kermit-32 error codes.
  413. ;   0413  1    !
  414. ;   0414  1    ! 3.3.115    JHW004        Jonathan H. Welch,    9-May-1988
  415. ;   0415  1    !        Added the ability to send a break character to
  416. ;   0416  1    !        the outgoing terminal session using the sequence
  417. ;   0417  1    !        esc-chr B.  The break will be sent after the next 
  418. ;   0418  1    !        character arrives.  This is because there must be
  419. ;   0419  1    !        no outstanding I/O on a channel in order to modify
  420. ;   0420  1    !        terminal characteristics (necessary to send a break).
  421. ;   0421  1    !
  422. ;   0422  1    ! 3.3.116    JHW005        Jonathan H. Welch,    12-May-1988 8:35
  423. ;   0423  1    !        Modified COMND_HELP to look for the kermit help
  424. ;   0424  1    !        file called KERMIT_HELP or pointed to by the logical
  425. ;   0425  1    !        name KERMIT_HELP.  Thus if a user wants to have the
  426. ;   0426  1    !        kermit help file in a directory other than SYS$HELP
  427. ;   0427  1    !        it is not necessary to define the logical name KERMIT
  428. ;   0428  1    !        (which causes problems: i.e. RUN KERMIT will fail).
  429. ;   0429  1    !
  430. ;   0430  1    ! 3.3.117    JHW006        Jonathan H. Welch,    12-May-1988
  431. ;   0431  1    !        Calls to LIB$SIGNAL with multiple arguments were
  432. ;   0432  1    !        not coded correctly.  For calls with multiple arguments
  433. ;   0433  1    !        an argument count was added.
  434. ;   0434  1    !        Minor changes to KERM_HANDLER to make use of the changed
  435. ;   0435  1    !        argument passing method.
  436. ;   0436  1    !        
  437. ;   0437  1    ! 3.3.118    By: Burt Johnson            On: 1-Feb-1990
  438. ;   0438  1    !        Added support for Extended Length packets;
  439. ;   0439  1    !
  440. ;   0440  1    ! 3.3.119    JHW007        Jonathan H. Welch,    4-Apr-1990 7:47
  441. ;   0441  1    !        Modified Final_Status to have an initial value of SS$_NORMAL.
  442. ;   0442  1    !        Previously, if all kermit operations were successful a
  443. ;   0443  1    !        return status of 0 was generated.
  444. ;   0444  1    !
  445. ;   0445  1    !        Added a compile-time test for BLISS32 systems in the three
  446. ;   0446  1    !        generic bliss files (GLB, MSG, TT) which didn't have this
  447. ;   0447  1    !        declaration so that references to data use longword offsets.
  448. ;   0448  1    !        Burt Johnson's solution (PSECT PLIT = $CODE$) was generating
  449. ;   0449  1    !        many link-time errors.
  450. ;   0450  1    !
  451. ;   0451  1    ! 3.3.120    JHW008        Jonathan H. Welch,    5-Apr-1990 10:57
  452. ;   0452  1    !        Modified the call to NORMALIZE_FILE in routine REC_FILE
  453. ;   0453  1    !        to adjust file name and type lengths downwards to 39
  454. ;   0454  1    !        characters each as opposed to the pre-VMS 4 format of
  455. ;   0455  1    !        9 for the name and 3 for the type.
  456. ;   0456  1    !
  457. ;   0457  1    ! 3.3.121    JHW009        Jonathan H. Welch,    12-Apr-1990 12:20
  458. ;   0458  1    !        Added and modified routines in vmstrm.bli to notify the
  459. ;   0459  1    !        user if SS$_HANGUP occurs on the outgoing terminal line.
  460. ;   0460  1    !        If the outgoing line is serviced by a decserver (LTA type
  461. ;   0461  1    !        terminal) the user must issue a CONNECT LTAnnn command
  462. ;   0462  1    !        to reestablish a LAT link to the decserver.
  463. ;   0463  1    !
  464. ;   0464  1    ! 3.3.122    JHW010        Jonathan H. Welch,    23-Apr-1990 09:42
  465. ;   0465  1    !        Added SET FILE BLOCKSIZE nnn (where nnn is the record size
  466. ;   0466  1    !        in bytes) command for incoming BINARY and FIXED file transfers.
  467. ;   0467  1    !        If no blocksize has been specified the old behavior (510 byte
  468. ;   0468  1    !        records plus 2 bytes (for CR/LF) for BINARY files and 512
  469. ;   0469  1    !        byte records for FIXED files will be used.
  470. ;   0470  1    !        Also modified SHOW FILE to display record size when appropriate.
  471. ;   0471  1    !
  472. ;   0472  1    ! 3.3.123    JHW011        Jonathan H. Welch,     17-May-1990 9:06
  473. ;   0473  1    !        Modified a miscoded call to send_packet in routine
  474. ;   0474  1    !        send_gencmd to correctly specify the length of the
  475. ;   0475  1    !        response packet to transmit.  This miscoding only
  476. ;   0476  1    !        affected long packet support, in particular, when
  477. ;   0477  1    !        GETting files standard length packets were being used
  478. ;   0478  1    !        when long packet support was available in both kermit
  479. ;   0479  1    !        programs.
  480. ;   0480  1    !
  481. ;   0481  1    ! 3.3.124    JHW012        Jonathan H. Welch,     18-May-1990 7:56
  482. ;   0482  1    !        Modified asn_wth_mbx to obtain the master PID in the
  483. ;   0483  1    !        process tree before asking for JPI$_TERMINAL.  $GETJPI
  484. ;   0484  1    !        was returning a null string for this item when called
  485. ;   0485  1    !        from a subprocess resulting in a "No default terminal 
  486. ;   0486  1    !        line for transfers" message.
  487. ;   0487  1    !
  488. ;   0488  1    ! 3.3.125    JHW013        Jonathan H. Welch,    18-May-1990 13:00
  489. ;   0489  1    !        Extended the buffer size for terminal names from 20 
  490. ;   0490  1    !        characters to 255 to make sure any terminal name can
  491. ;   0491  1    !        be accomodated.
  492. ;   0492  1    !
  493. ;   0493  1    ! 3.3.126    JHW014        Jonathan H. Welch,    5-Jun-1990 12:38
  494. ;   0494  1    !        Modified asn_wth_mbx to add a ':' to the end of the
  495. ;   0495  1    !               terminal name is one is not returned by VMS.
  496. ;   0496  1    !               This will keep LIB$GETDVI from failing with an
  497. ;   0497  1    !               "invalid device name" which results in the kermit
  498. ;   0498  1    !               error "no default terminal line for transfers."
  499. ;   0499  1    !
  500. ;   0500  1    ! 3.3.127    JHW015        Jonathan H. Welch,    16-Jul-1990 15:30
  501. ;   0501  1    !        Fixed the logic in GET_ASCII which was causing an infinite
  502. ;   0502  1    !        loop for files with print file carriage control.
  503. ;   0503  1    !
  504. ;   0504  1    ! 3.3.128    JHW016        Jonathan H. Welch,    17-Oct-1990 9:42
  505. ;   0505  1    !        Modified asn_wth_mbx to work properly in non-interactive mode.
  506. ;   0506  1    !--
  507. ;   0507  1     
  508. ;   0508  1     %SBTTL 'Routine definitions -- Forwards'
  509. ;   0509  1    !<BLF/NOFORMAT>
  510. ;   0510  1    !
  511. ;   0511  1    ! Forward definitions
  512. ;   0512  1    !
  513. ;   0513  1     
  514. ;   0514  1    ! Command processing routines
  515. ;   0515  1     
  516. ;   0516  1    FORWARD ROUTINE
  517. ;   0517  1        COMND,            ! Process a command
  518. ;   0518  1        COMND_ERROR : NOVALUE,    ! Give error for command
  519. ;   0519  1        COMND_FILE,            ! Process command file
  520. ;   0520  1        DO_COMND,            ! Parse and dispatch one command
  521. ;   0521  1        COMND_HELP    : NOVALUE,    ! Process the HELP command
  522. ;   0522  1        COMND_SHOW    : NOVALUE,    ! Process the SHOW command
  523. ;   0523  1        COMND_STATUS : NOVALUE,    ! Process the STATUS command
  524. ;   0524  1        COMND_REMOTE : NOVALUE,    ! Process the REMOTE command
  525. ;   0525  1        COMND_LOCAL : NOVALUE,    ! Process the LOCAL commands
  526. ;   0526  1        GET_REM_ARGS,        ! Get arguments for REMOTE/LOCAL commands
  527. ;   0527  1        STORE_TEXT,            ! Routine to store a file name
  528. ;   0528  1        COPY_TERM_NAME,        ! Copy device name (TERM_xxxx)
  529. ;   0529  1        COPY_DESC,            ! Copy file name (FILE_xxx)
  530. ;   0530  1        COPY_ALT_FILE,        ! Copy to alternate file name (ALT_FILE_xxx)
  531. ;   0531  1        COPY_GEN_1DATA,        ! Copy to GEN_1DATA (generic command argument)
  532. ;   0532  1        STORE_BLOCKSIZE,         ! Store the blocksize value
  533. ;   0533  1        STORE_DEBUG,        ! Store the debuging flag
  534. ;   0534  1        STORE_TR_ECHO,        ! Store the transmit echo flag  [078]
  535. ;   0535  1        STORE_TR_DELAY,        ! Store the transmit delay  [078]
  536. ;   0536  1        STORE_FTP,            ! Store the file type
  537. ;   0537  1        STORE_FNM,            ! Store the file name form
  538. ;   0538  1        STORE_ECHO,            ! Store the local echo flag
  539. ;   0539  1        STORE_PARITY,        ! Store the parity type
  540. ;   0540  1        STORE_CHK,            ! This routine will store the checksum type.
  541. ;   0541  1        STORE_ABT,            ! This routine will store the aborted file disposition
  542. ;   0542  1        STORE_IBM,            ! Store IBM flag
  543. ;   0543  1        STORE_MSG_FIL,        ! Store TY_FIL
  544. ;   0544  1        STORE_MSG_PKT,        ! Store TY_PKT
  545. ;   0545  1        CHECK_PACKET_LEN,        ! Validate PACKET length given
  546. ;   0546  1        CHECK_NPAD,            ! Validate the number of pad characters
  547. ;   0547  1        CHECK_PAD_CHAR,        ! Validate the padding character being set
  548. ;   0548  1        CHECK_EOL,            ! Validate EOL character given.
  549. ;   0549  1        CHECK_QUOTE,        ! Validate quoting character
  550. ;   0550  1        CHECK_SOH,            ! Validate the start of packet character given
  551. ;   0551  1        KEY_ERROR;            ! Return correct keyword error value
  552. ;   0552  1     
  553. ;   0553  1    !
  554. ;   0554  1    ! Error handling routines
  555. ;   0555  1    !
  556. ;   0556  1     
  557. ;   0557  1    FORWARD ROUTINE
  558. ;   0558  1        KERM_HANDLER;            ! Condition handler
  559. ;   0559  1         %SBTTL    'Include files'
  560. ;   0560  1     
  561. ;   0561  1    !
  562. ;   0562  1    ! INCLUDE FILES:
  563. ;   0563  1    !
  564. ;   0564  1     
  565. ;   0565  1    LIBRARY 'SYS$LIBRARY:STARLET';
  566. ;   0566  1     
  567. ;   0567  1    LIBRARY 'SYS$LIBRARY:TPAMAC';
  568. ;   0568  1     
  569. ;   0569  1    REQUIRE 'KERCOM';                ! Common definitions
  570. ;   0778  1     
  571. ;   0779  1    REQUIRE 'KERERR';                ! Error message symbol definitions
  572. ;   0845  1     
  573. ;   0846  1     %SBTTL 'Macro definitions'
  574. ;   0847  1     
  575. ;   0848  1    !
  576. ;   0849  1    ! MACROS:
  577. ;   0850  1    !
  578. ;   0851  1     
  579. ;   0852  1    MACRO
  580. ; M 0853  1        TPARSE_ARGS =
  581. ; M 0854  1            BUILTIN AP;
  582. ; M 0855  1            MAP AP : REF BLOCK [,BYTE];
  583. ;   0856  1        %;
  584. ;   0857  1     
  585. ;   0858  1    !
  586. ;   0859  1    ! Macro to initialize a string descriptor
  587. ;   0860  1    !
  588. ;   0861  1    MACRO
  589. ; M 0862  1        INIT_STR_DESC (DESC, BUFFER, SIZE) =
  590. ; M 0863  1        BEGIN
  591. ; M 0864  1    !    MAP
  592. ; M 0865  1    !    DESC : BLOCK [8, BYTE];
  593. ; M 0866  1        DESC [DSC$B_CLASS] = DSC$K_CLASS_S;
  594. ; M 0867  1        DESC [DSC$B_DTYPE] = DSC$K_DTYPE_T;
  595. ; M 0868  1        DESC [DSC$W_LENGTH] = SIZE;
  596. ; M 0869  1        DESC [DSC$A_POINTER] = BUFFER;
  597. ; M 0870  1        END
  598. ;   0871  1        %;
  599. ;   0872  1         %SBTTL    'Equated symbols -- Command types'
  600. ;   0873  1     
  601. ;   0874  1    !
  602. ;   0875  1    ! EQUATED SYMBOLS:
  603. ;   0876  1    !
  604. ;   0877  1    ! Command offsets
  605. ;   0878  1     
  606. ;   0879  1    LITERAL
  607. ;   0880  1        CMD_MIN = 1,                ! Minimum value
  608. ;   0881  1        CMD_CONN = 1,                ! Connect command
  609. ;   0882  1        CMD_EXIT = 2,                ! Exit command
  610. ;   0883  1        CMD_HELP = 3,                ! Help command
  611. ;   0884  1        CMD_RECEIVE = 4,                ! Receive command
  612. ;   0885  1        CMD_SET = 5,                ! Set command
  613. ;   0886  1        CMD_SEND = 6,                ! Send command
  614. ;   0887  1        CMD_SHOW = 7,                ! Show command
  615. ;   0888  1        CMD_SERVER = 8,                ! SERVER command
  616. ;   0889  1        CMD_STATUS = 9,                ! STATUS command
  617. ;   0890  1        CMD_LOGOUT = 10,                ! Generic LOGOUT command
  618. ;   0891  1        CMD_BYE = 11,                ! Generic LOGOUT command and EXIT
  619. ;   0892  1        CMD_FINISH = 12,                ! Generic EXIT command
  620. ;   0893  1        CMD_GET = 13,                ! Get command
  621. ;   0894  1        CMD_REMOTE = 14,                ! Remote command
  622. ;   0895  1        CMD_LOCAL = 15,                ! Local command
  623. ;   0896  1        CMD_PUSH = 16,                ! PUSH command (spawn new DCL)
  624. ;   0897  1        CMD_NULL = 17,                ! Any command which is done
  625. ;   0898  1                                ! totally by the LIB$TPARSE call
  626. ;   0899  1        CMD_TAKE = 18,                ! Take command
  627. ;   0900  1        CMD_TRANSMIT = 19,                          ! Transmit command [078]
  628. ;   0901  1        CMD_MAX = 19;                               ! Maximum command value [078]
  629. ;   0902  1     
  630. ;   0903  1    ! Items to show
  631. ;   0904  1     
  632. ;   0905  1    LITERAL
  633. ;   0906  1        SHOW_ALL = 1,                ! Show everything
  634. ;   0907  1        SHOW_DEB = 2,                ! Show debugging flag
  635. ;   0908  1        SHOW_DEL = 3,                ! Show delay
  636. ;   0909  1        SHOW_ESC = 4,                ! Show ESCAPE character
  637. ;   0910  1        SHOW_TIM = 5,                ! Show random timing
  638. ;   0911  1        SHOW_LIN = 6,                ! Show the line we are using
  639. ;   0912  1        SHOW_ECH = 7,                ! Show the echo flag
  640. ;   0913  1        SHOW_SEN = 8,                ! Show send parameters
  641. ;   0914  1        SHOW_REC = 9,                ! Show the receive parameters
  642. ;   0915  1        SHOW_PAR = 10,                ! Show the parity setting
  643. ;   0916  1        SHOW_RTY = 11,                ! Show retry counters
  644. ;   0917  1        SHOW_CHK = 12,                ! Show block-check-type
  645. ;   0918  1        SHOW_ABT = 13,                ! Show aborted file disposition
  646. ;   0919  1        SHOW_FIL = 14,                ! Show file parameters
  647. ;   0920  1        SHOW_PAC = 15,                ! Show packet parameters
  648. ;   0921  1        SHOW_COM = 16,                ! Show communications parameters
  649. ;   0922  1        SHOW_VER = 17,                ! Show version
  650. ;   0923  1        SHOW_TRN = 18;                              ! Show transmit delay and echo 
  651. ;   0924  1         %SBTTL    'Equated symbols -- Constants'
  652. ;   0925  1     
  653. ;   0926  1    ! Constants
  654. ;   0927  1     
  655. ;   0928  1    LITERAL
  656. ;   0929  1        CMD_BFR_LENGTH = 132,            ! Command buffer length
  657. ;   0930  1        OUT_BFR_LENGTH = 80,            ! Output buffer length (SHOW cmd)
  658. ;   0931  1        HELP_LENGTH = 132,                ! Length of the help buffer
  659. ;   0932  1        TEMP_LENGTH = 132;                ! Length of the temporary area
  660. ;   0933  1    !
  661. ;   0934  1    ! The default prompt
  662. ;   0935  1    !
  663. ;   0936  1    BIND
  664. ;   0937  1        DEFAULT_PROMPT = %ASCID'Kermit-32>';
  665. ;   0938  1     
  666. ;   0939  1    MAP
  667. ;   0940  1        DEFAULT_PROMPT : BLOCK [8, BYTE];    ! This is a descriptor
  668. ;   0941  1         %SBTTL    'Storage -- Global'
  669. ;   0942  1     
  670. ;   0943  1    !<BLF/NOFORMAT>
  671. ;   0944  1    !
  672. ;   0945  1    ! GLOBAL STORAGE:
  673. ;   0946  1    !
  674. ;   0947  1     
  675. ;   0948  1        GLOBAL
  676. ;   0949  1        TRANSACTION_DESC : BLOCK [8, BYTE],    ! Descriptor for transaction log file
  677. ;   0950  1        TRANSACTION_OPEN,            ! File open flag
  678. ;   0951  1        TRANSACTION_FAB : $FAB_DECL,        ! Transaction file FAB
  679. ;   0952  1        TRANSACTION_RAB : $RAB_DECL,        ! Transaction file RAB
  680. ;   0953  1        ESCAPE_CHR,                ! Escape character for CONNECT
  681. ;   0954  1        ALT_FILE_SIZE,                ! Number of characters in FILE_NAME
  682. ;   0955  1        ALT_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)]; ! Storage
  683. ;   0956  1         %SBTTL    'Storage -- Local'
  684. ;   0957  1     
  685. ;   0958  1    !
  686. ;   0959  1    ! OWN STORAGE:
  687. ;   0960  1    !
  688. ;   0961  1     
  689. ;   0962  1        OWN
  690. ;   0963  1     
  691. ;   0964  1    ! Command scanning information
  692. ;   0965  1     
  693. ;   0966  1        TPARSE_BLOCK    : BLOCK [TPA$K_LENGTH0, BYTE]
  694. ;   0967  1            INITIAL (TPA$K_COUNT0,        ! Longword count
  695. ;   0968  1                TPA$M_ABBREV),        ! Allow abbreviations
  696. ;   0969  1        BAD_CMD_DESC : BLOCK [8, BYTE],        ! Descriptor for bad command field
  697. ;   0970  1        COMMAND,                ! Type of command we are doing
  698. ;   0971  1        SHOW_TYPE,                ! Type of show command
  699. ;   0972  1        REM_TYPE,                ! Type of REMOTE command
  700. ;   0973  1        TAKE_DISPLAY,                ! Display commands being TAKEn
  701. ;   0974  1    !
  702. ;   0975  1    ! Output data area
  703. ;   0976  1    !
  704. ;   0977  1        OUTPUT_LINE : VECTOR [OUT_BFR_LENGTH, BYTE, UNSIGNED],
  705. ;   0978  1        OUTPUT_DESC : BLOCK [8, BYTE],
  706. ;   0979  1        OUTPUT_SIZE : WORD UNSIGNED,
  707. ;   0980  1     
  708. ;   0981  1    ! Misc constants.
  709. ;   0982  1     
  710. ;   0983  1        Final_Status : LONG UNSIGNED INITIAL(SS$_NORMAL), ! Status from within condition handler routine.
  711. ;   0984  1        TRANSACTION_NAME : VECTOR [CH$ALLOCATION(MAX_FILE_NAME)],
  712. ;   0985  1        PROMPT_DESC : BLOCK [8, BYTE],        ! Descriptor for prompt
  713. ;   0986  1        PROMPT_TEXT : VECTOR [CH$ALLOCATION(TEMP_LENGTH)], ! Storage for prompt
  714. ;   0987  1        CRC_TABLE : BLOCK [16, LONG],        ! CRC-CCITT table
  715. ;   0988  1        TAK_FIL_DESC    : BLOCK [8, BYTE],    ! Take file descriptor
  716. ;   0989  1        TAK_FIL_NAME    : BLOCK [CH$ALLOCATION(MAX_FILE_NAME)],
  717. ;   0990  1        TEMP_DESC    : BLOCK [8, BYTE],    ! Temporary descriptor
  718. ;   0991  1        TEMP_NAME    : VECTOR [CH$ALLOCATION(TEMP_LENGTH)];
  719. ;   0992  1     
  720. ;   0993  1     
  721. ;   0994  1    !<BLF/FORMAT>
  722. ;   0995  1     %SBTTL 'External routines'
  723. ;   0996  1    !
  724. ;   0997  1    ! EXTERNAL REFERENCES:
  725. ;   0998  1    !
  726. ;   0999  1     
  727. ;   1000  1    EXTERNAL ROUTINE
  728. ;   1001  1    !
  729. ;   1002  1    ! Library routines
  730. ;   1003  1    !
  731. ;   1004  1        LIB$GET_INPUT : ADDRESSING_MODE (GENERAL),
  732. ;   1005  1        LIB$PUT_OUTPUT : ADDRESSING_MODE (GENERAL),
  733. ;   1006  1        LIB$TPARSE : ADDRESSING_MODE (GENERAL),
  734. ;   1007  1        LIB$CRC_TABLE : ADDRESSING_MODE (GENERAL),
  735. ;   1008  1        LIB$CRC : ADDRESSING_MODE (GENERAL),
  736. ;   1009  1        LIB$SIGNAL : ADDRESSING_MODE (GENERAL) NOVALUE,
  737. ;   1010  1        LIB$ESTABLISH : ADDRESSING_MODE (GENERAL),
  738. ;   1011  1        LIB$ATTACH : ADDRESSING_MODE (GENERAL),
  739. ;   1012  1        LIB$SPAWN : ADDRESSING_MODE (GENERAL),
  740. ;   1013  1    !
  741. ;   1014  1    ! KERMSG - KERMIT Message processing routines
  742. ;   1015  1    !
  743. ;   1016  1        SEND_SWITCH,                ! Send a file
  744. ;   1017  1        REC_SWITCH,                    ! Receive a file
  745. ;   1018  1        DO_GENERIC,                    ! Send generic functions
  746. ;   1019  1        SERVER,                    ! Server mode processing
  747. ;   1020  1        SND_ERROR : NOVALUE,            ! Send E packet to remote
  748. ;   1021  1        MSG_INIT : NOVALUE,                ! Initialization routine
  749. ;   1022  1    !
  750. ;   1023  1    ! KERFIL - File processing.
  751. ;   1024  1    !
  752. ;   1025  1        FILE_INIT : NOVALUE,            ! Initialization routine
  753. ;   1026  1    !
  754. ;   1027  1    ! KERSYS - System subroutines for KERMSG
  755. ;   1028  1    !
  756. ;   1029  1        SY_INIT : NOVALUE,                ! Initialization routine
  757. ;   1030  1    !
  758. ;   1031  1    ! KERTRM - Terminal processing.
  759. ;   1032  1    !
  760. ;   1033  1        TERM_INIT : NOVALUE,            ! Initialize the terminal processing
  761. ;   1034  1        TERM_OPEN,                    ! Open the terminal line
  762. ;   1035  1        TERM_CLOSE,                    ! Close the terminal line
  763. ;   1036  1        TERM_CONNECT,                ! Impliments CONNECT command
  764. ;   1037  1        SET_TRANS_TERM,                ! Set new transfer terminal
  765. ;   1038  1        COMND_TRANSMIT,                             ! Transmit command code   in module KERTRM
  766. ;   1039  1    !
  767. ;   1040  1    ! KERTT - Text processing
  768. ;   1041  1    !
  769. ;   1042  1        TT_INIT : NOVALUE,                ! Initialization routine
  770. ;   1043  1        TT_TEXT : NOVALUE,                ! Output a text string
  771. ;   1044  1        TT_NUMBER : NOVALUE,            ! Output a number
  772. ;   1045  1        TT_CHAR : NOVALUE,                ! Output a single character
  773. ;   1046  1        TT_OUTPUT : NOVALUE,            ! Routine to dump the current
  774. ;   1047  1                                !  text line.
  775. ;   1048  1        TT_CRLF : NOVALUE;                ! Output the line
  776. ;   1049  1     
  777. ;   1050  1     %SBTTL 'External storage'
  778. ;   1051  1    !
  779. ;   1052  1    ! EXTERNAL Storage:
  780. ;   1053  1    !
  781. ;   1054  1     
  782. ;   1055  1    EXTERNAL
  783. ;   1056  1    !
  784. ;   1057  1    ! KERMSG storage
  785. ;   1058  1    !
  786. ;   1059  1    ! Receive parameters
  787. ;   1060  1        RCV_PKT_SIZE,                ! Receive packet size
  788. ;   1061  1        RCV_NPAD,                    ! Padding length
  789. ;   1062  1        RCV_PADCHAR,                ! Padding character
  790. ;   1063  1        RCV_TIMEOUT,                ! Time out
  791. ;   1064  1        RCV_EOL,                    ! EOL character
  792. ;   1065  1        RCV_QUOTE_CHR,                ! Quote character
  793. ;   1066  1        RCV_8QUOTE_CHR,                ! 8-bit quoting character
  794. ;   1067  1        RCV_SOH,                    ! Start of packet header
  795. ;   1068  1    !
  796. ;   1069  1    ! Send parameters
  797. ;   1070  1    !
  798. ;   1071  1        SND_PKT_SIZE,                ! Send packet size
  799. ;   1072  1        SND_NPAD,                    ! Padding length
  800. ;   1073  1        SND_PADCHAR,                ! Padding character
  801. ;   1074  1        SND_TIMEOUT,                ! Time out
  802. ;   1075  1        SND_EOL,                    ! EOL character
  803. ;   1076  1        SND_QUOTE_CHR,                ! Quote character
  804. ;   1077  1        SND_SOH,                    ! Packet start of header
  805. ;   1078  1    !
  806. ;   1079  1    ! Server parameters
  807. ;   1080  1    !
  808. ;   1081  1        SRV_TIMEOUT,                ! Time between idle naks in server
  809. ;   1082  1    !
  810. ;   1083  1    ! Misc. packet parameters
  811. ;   1084  1    !
  812. ;   1085  1        SET_REPT_CHR,                ! Desired repeat character
  813. ;   1086  1    !
  814. ;   1087  1    ! Statistics
  815. ;   1088  1    !
  816. ;   1089  1        SND_TOTAL_CHARS,                ! Total characters sent
  817. ;   1090  1        RCV_TOTAL_CHARS,                ! Total characters received
  818. ;   1091  1        SND_DATA_CHARS,                ! Total number of data characters sent
  819. ;   1092  1        RCV_DATA_CHARS,                ! Total number of data characters received
  820. ;   1093  1        SMSG_TOTAL_CHARS,                ! Total chars sent this file xfer
  821. ;   1094  1        RMSG_TOTAL_CHARS,                ! Total chars rcvd this file xfer
  822. ;   1095  1        SMSG_DATA_CHARS,                ! Total data chars this file xfer
  823. ;   1096  1        RMSG_DATA_CHARS,                ! Total data chars this file xfer
  824. ;   1097  1        RCV_NAKS,                    ! Total number of NAKs received
  825. ;   1098  1        SND_NAKS,                    ! Total number of NAKs sent
  826. ;   1099  1        RMSG_NAKS,                    ! Number of NAKs received
  827. ;   1100  1        SMSG_NAKS,                    ! Number of NAKs sent
  828. ;   1101  1        RCV_COUNT,                    ! Total number of packets received
  829. ;   1102  1        SND_COUNT,                    ! Total number of packets sent
  830. ;   1103  1        RMSG_COUNT,                    ! Number of packets received
  831. ;   1104  1        SMSG_COUNT,                    ! Number of packets sent
  832. ;   1105  1        XFR_TIME,                    ! Amount of time the last transfer took
  833. ;   1106  1        TOTAL_TIME,                    ! Total time the transfers have taken
  834. ;   1107  1        LAST_ERROR : VECTOR [CH$ALLOCATION (MAX_MSG + 1)],    ! Last error message
  835. ;   1108  1        TY_PKT,                    ! Flag that packet numbers should be typed
  836. ;   1109  1        TY_FIL,                    ! Flag that file names should be typed
  837. ;   1110  1        GEN_1DATA : VECTOR [CH$ALLOCATION (MAX_MSG)],    ! Data for generic command
  838. ;   1111  1        GEN_1SIZE,                    ! Size of data in GEN_1DATA
  839. ;   1112  1        GEN_2DATA : VECTOR [CH$ALLOCATION (MAX_MSG)],    ! Second argument for generic command
  840. ;   1113  1        GEN_2SIZE,                    ! Size of data in GEN_2DATA
  841. ;   1114  1        GEN_3DATA : VECTOR [CH$ALLOCATION (MAX_MSG)],    ! Third arg for generic command
  842. ;   1115  1        GEN_3SIZE,                    ! Size of data in GEN_3DATA
  843. ;   1116  1    !
  844. ;   1117  1    ! Misc constants.
  845. ;   1118  1    !
  846. ;   1119  1        FILE_SIZE,                    ! Number of characters in FILE_NAME
  847. ;   1120  1        FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)],
  848. ;   1121  1        SI_RETRIES,                    ! Initial connection max retries
  849. ;   1122  1        PKT_RETRIES,                ! Packet max retries
  850. ;   1123  1        DELAY,                    ! Amount of time to delay
  851. ;   1124  1        DEBUG_FLAG,                    ! Debugging mode on/off
  852. ;   1125  1        CHKTYPE,                    ! Type of block-check-type wanted
  853. ;   1126  1        ABT_FLAG,                    ! Aborted file disposition
  854. ;   1127  1    !    IBM_FLAG,                    ! IBM mode flag
  855. ;   1128  1        IBM_CHAR,                    ! Handshaking character
  856. ;   1129  1        WARN_FLAG,                    ! File warning flag
  857. ;   1130  1        FIL_NORMAL_FORM,                ! File name type to send
  858. ;   1131  1        PARITY_TYPE,                ! Type of parity we are using
  859. ;   1132  1        ECHO_FLAG,                    ! Local echo flag
  860. ;   1133  1        CONNECT_FLAG;                ! True if SYS$OUTPUT and line
  861. ;   1134  1     
  862. ;   1135  1                            ! xfering over are the same.
  863. ;   1136  1    !
  864. ;   1137  1    ! KERFIL storage
  865. ;   1138  1    !
  866. ;   1139  1     
  867. ;   1140  1    EXTERNAL
  868. ;   1141  1    
  869. ;   1142  1        file_blocksize,                             ! Blocksize for FIXED files
  870. ;   1143  1        file_blocksize_set,                ! Flag indicating a blocksize has been specified by the user.
  871. ;   1144  1        FILE_TYPE,                    ! Type of file being processed
  872. ;   1145  1        FILE_DESC : BLOCK [8, BYTE];        ! Descriptor for the file name
  873. ;   1146  1     
  874. ;   1147  1    !
  875. ;   1148  1    ! KERTRM storage
  876. ;   1149  1    !
  877. ;   1150  1     
  878. ;   1151  1    EXTERNAL
  879. ;   1152  1        SESSION_DESC : BLOCK [8, BYTE],        ! Session log file name
  880. ;   1153  1        DEBUG_DESC : BLOCK [8, BYTE],        ! Debugging log file name
  881. ;   1154  1        TERM_DESC : BLOCK [8, BYTE],        ! Terminal name descriptor
  882. ;   1155  1        TRANS_ECHO_FLAG,                            ! Transmit echo on/off   
  883. ;   1156  1        TRANS_DELAY,                                ! Transmit delay   
  884. ;   1157  1        TERM_FLAG;                    ! Terminal open flag
  885. ;   1158  1     
  886. ;   1159  1     %SBTTL 'Command parsing tables'
  887. ;   1160  1    !<BLF/NOFORMAT>
  888. ;   1161  1    !++
  889. ;   1162  1    !
  890. ;   1163  1    !The following are the command state tables for the KERMIT-32
  891. ;   1164  1    !command processing.
  892. ;   1165  1    !
  893. ;   1166  1    !--
  894. ;   1167  1     
  895. ;   1168  1    $INIT_STATE    (KERMIT_STATE,    KERMIT_KEY);
  896. ;   1169  1     
  897. ; P 1170  1    $STATE    (START,
  898. ; P 1171  1        ('BYE',        DONE_STATE,    ,    CMD_BYE,    COMMAND),
  899. ; P 1172  1        ('CONNECT',    CONN_STATE,    ,    CMD_CONN,    COMMAND),
  900. ; P 1173  1        ('EXIT',    DONE_STATE,    ,    CMD_EXIT,    COMMAND),
  901. ; P 1174  1        ('FINISH',    DONE_STATE,    ,    CMD_FINISH,    COMMAND),
  902. ; P 1175  1        ('GET',        GET_STATE,    ,    CMD_GET,    COMMAND),
  903. ; P 1176  1        ('HELP',    HELP_STATE,    ,    CMD_HELP,    COMMAND),
  904. ; P 1177  1        ('LOCAL',    REM_STATE,    ,    CMD_LOCAL,    COMMAND),
  905. ; P 1178  1        ('LOG',        LOG_STATE,    ,    CMD_NULL,    COMMAND),
  906. ; P 1179  1        ('LOGOUT',    DONE_STATE,    ,    CMD_LOGOUT,    COMMAND),
  907. ; P 1180  1        ('PUSH',    DONE_STATE,    ,    CMD_PUSH,    COMMAND),
  908. ; P 1181  1        ('QUIT',    DONE_STATE,    ,    CMD_EXIT,    COMMAND),
  909. ; P 1182  1        ('RECEIVE',    REC_STATE,    ,    CMD_RECEIVE,    COMMAND),
  910. ; P 1183  1        ('REMOTE',    REM_STATE,    ,    CMD_REMOTE,    COMMAND),
  911. ; P 1184  1        ('SET',        SET_STATE,    ,    CMD_SET,    COMMAND),
  912. ; P 1185  1        ('SEND',    SEND_STATE,    ,    CMD_SEND,    COMMAND),
  913. ; P 1186  1        ('SERVER',    DONE_STATE,    ,    CMD_SERVER,    COMMAND),
  914. ; P 1187  1        ('SHOW',    SHOW_STATE,    ,    CMD_SHOW,    COMMAND),
  915. ; P 1188  1        ('STATUS',    DONE_STATE,    ,    CMD_STATUS,    COMMAND),
  916. ; P 1189  1        ('TAKE',    TAKE_STATE,    ,    CMD_TAKE,    COMMAND),
  917. ; P 1190  1        ('@',        TAKE_STATE,    ,    CMD_TAKE,    COMMAND),
  918. ; P 1191  1            ('TRANSMIT',    TRANSMIT_STATE, ,       CMD_TRANSMIT,   COMMAND),  !
  919. ; P 1192  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  920. ;   1193  1        )
  921. ;   1194  1     
  922. ;   1195  1    !++
  923. ;   1196  1    ! CONNECT command.  Format is:
  924. ;   1197  1    !
  925. ;   1198  1    !    Kermit-32>CONNECT device
  926. ;   1199  1    !
  927. ;   1200  1    ! Where:
  928. ;   1201  1    !    Device - Terminal line to connect to
  929. ;   1202  1    !
  930. ;   1203  1    !--
  931. ;   1204  1     
  932. ; P 1205  1    $STATE    (CONN_STATE,
  933. ; P 1206  1        (TPA$_EOS, DONE_STATE),
  934. ; P 1207  1        (TPA$_LAMBDA, SET_LIN_STATE)
  935. ;   1208  1        )
  936. ;   1209  1     
  937. ;   1210  1    !++
  938. ;   1211  1    ! EXIT command.  Format is:
  939. ;   1212  1    !
  940. ;   1213  1    !    Kermit-32>EXIT
  941. ;   1214  1    !
  942. ;   1215  1    ! Just exit back to VMS.
  943. ;   1216  1    !
  944. ;   1217  1    !--
  945. ;   1218  1     
  946. ;   1219  1    !++
  947. ;   1220  1    ! HELP command.  Format is:
  948. ;   1221  1    !
  949. ;   1222  1    !    Kermit-32>HELP
  950. ;   1223  1    !
  951. ;   1224  1    ! Do HELP processing for KERMIT-32.
  952. ;   1225  1    !
  953. ;   1226  1    !--
  954. ;   1227  1     
  955. ; P 1228  1    $STATE    (HELP_STATE,
  956. ; P 1229  1        (TPA$_ANY,    HELP_STATE,    STORE_TEXT),
  957. ; P 1230  1        (TPA$_LAMBDA,    DONE_STATE)
  958. ;   1231  1    )
  959. ;   1232  1     
  960. ;   1233  1         %SBTTL    'QUIT command table'
  961. ;   1234  1     
  962. ;   1235  1    !++
  963. ;   1236  1    ! QUIT command.  Format is:
  964. ;   1237  1    !
  965. ;   1238  1    !    Kermit-32>QUIT
  966. ;   1239  1    !
  967. ;   1240  1    ! This command will just exit back to VMS.
  968. ;   1241  1    !
  969. ;   1242  1    !--
  970. ;   1243  1         %SBTTL    'GET command table'
  971. ;   1244  1     
  972. ;   1245  1    !++
  973. ;   1246  1    ! GET command.  Format is:
  974. ;   1247  1    !
  975. ;   1248  1    !    Kermit-32>GET file-specification
  976. ;   1249  1    !
  977. ;   1250  1    ! This command will cause KERMIT to get a file from the micro.
  978. ;   1251  1    ! It will assume that it is to used what ever line it currently is
  979. ;   1252  1    ! associated with (CONNECT or SET LINE).
  980. ;   1253  1    !
  981. ;   1254  1    !--
  982. ;   1255  1     
  983. ; P 1256  1    $STATE    (GET_STATE,
  984. ; P 1257  1        (TPA$_ANY,    GET_STATE,    STORE_TEXT),
  985. ; P 1258  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,FILE_DESC)
  986. ;   1259  1        )
  987. ;   1260  1         %SBTTL    'RECEIVE command table'
  988. ;   1261  1     
  989. ;   1262  1    !++
  990. ;   1263  1    ! RECEIVE command.  Format is:
  991. ;   1264  1    !
  992. ;   1265  1    !    Kermit-32>RECEIVE file-specification
  993. ;   1266  1    !
  994. ;   1267  1    ! This command will cause KERMIT to receive a file from the micro.
  995. ;   1268  1    ! It will assume that it is to used what ever line it currently is
  996. ;   1269  1    ! associated with (CONNECT or SET LINE).
  997. ;   1270  1    !
  998. ;   1271  1    !--
  999. ;   1272  1     
  1000. ; P 1273  1    $STATE    (REC_STATE,
  1001. ; P 1274  1        (TPA$_ANY,    REC1_STATE,    STORE_TEXT),
  1002. ; P 1275  1        (TPA$_LAMBDA,    DONE_STATE)
  1003. ;   1276  1        )
  1004. ;   1277  1     
  1005. ;   1278  1     
  1006. ; P 1279  1    $STATE    (REC1_STATE,
  1007. ; P 1280  1        (TPA$_ANY,    REC1_STATE,    STORE_TEXT),
  1008. ; P 1281  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_ALT_FILE)
  1009. ;   1282  1        )
  1010. ;   1283  1         %SBTTL    'REMOTE command tables'
  1011. ;   1284  1     
  1012. ;   1285  1    !++
  1013. ;   1286  1    ! REMOTE command.  This command will allow the local Kermit user to
  1014. ;   1287  1    ! request the server Kermit to perform some action.
  1015. ;   1288  1    !
  1016. ;   1289  1    !    Kermit-32>REMOTE keyword arguments
  1017. ;   1290  1    !
  1018. ;   1291  1    ! Where:
  1019. ;   1292  1    !
  1020. ;   1293  1    !    Keyword is one of:
  1021. ;   1294  1    !        DELETE
  1022. ;   1295  1    !        DIRECTORY
  1023. ;   1296  1    !        DISK_USAGE
  1024. ;   1297  1    !        HELP
  1025. ;   1298  1    !        SPACE
  1026. ;   1299  1    !        TYPE
  1027. ;   1300  1    !--
  1028. ; P 1301  1    $STATE    (REM_STATE,
  1029. ; P 1302  1        ('COPY',    REM2_STATE,    ,GC_COPY,    REM_TYPE),
  1030. ; P 1303  1        ('CWD',        REM1_STATE,    ,GC_CONNECT,    REM_TYPE),
  1031. ; P 1304  1        ('DELETE',    REM2_STATE,    ,GC_DELETE,    REM_TYPE),
  1032. ; P 1305  1        ('DIRECTORY',    REM1_STATE,    ,GC_DIRECTORY,    REM_TYPE),
  1033. ; P 1306  1        ('DISK_USAGE',    REM1_STATE,    ,GC_DISK_USAGE,    REM_TYPE),
  1034. ; P 1307  1        ('EXIT',    DONE_STATE,    ,GC_EXIT,    REM_TYPE),
  1035. ; P 1308  1        ('HELP',    REM1_STATE,    ,GC_HELP,    REM_TYPE),
  1036. ; P 1309  1        ('HOST',    REM2_STATE,    ,GC_COMMAND,    REM_TYPE),
  1037. ; P 1310  1        ('LOGIN',    REM2_STATE,    ,GC_LGN,    REM_TYPE),
  1038. ; P 1311  1        ('LOGOUT',    DONE_STATE,    ,GC_LOGOUT,    REM_TYPE),
  1039. ; P 1312  1        ('RENAME',    REM2_STATE,    ,GC_RENAME,    REM_TYPE),
  1040. ; P 1313  1        ('SEND_MESSAGE',REM2_STATE,    ,GC_SEND_MSG,    REM_TYPE),
  1041. ; P 1314  1        ('SPACE',    REM1_STATE,    ,GC_DISK_USAGE,    REM_TYPE),
  1042. ; P 1315  1        ('STATUS',    DONE_STATE,    ,GC_STATUS,    REM_TYPE),
  1043. ; P 1316  1        ('TYPE',    REM2_STATE,    ,GC_TYPE,    REM_TYPE),
  1044. ; P 1317  1        ('WHO',        REM1_STATE,    ,GC_WHO,    REM_TYPE),
  1045. ; P 1318  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1046. ;   1319  1        )
  1047. ;   1320  1     
  1048. ;   1321  1    ! State to allow for either no arguments or a text string
  1049. ;   1322  1     
  1050. ; P 1323  1    $STATE    (REM1_STATE,
  1051. ; P 1324  1        (TPA$_ANY,    REM2_STATE,    STORE_TEXT),
  1052. ; P 1325  1        (TPA$_LAMBDA,    DONE_STATE)
  1053. ;   1326  1        )
  1054. ;   1327  1     
  1055. ;   1328  1    ! State to require a text string argument
  1056. ;   1329  1     
  1057. ; P 1330  1    $STATE    (REM2_STATE,
  1058. ; P 1331  1        (TPA$_ANY,    REM2_STATE,    STORE_TEXT),
  1059. ; P 1332  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_GEN_1DATA)
  1060. ;   1333  1        )
  1061. ;   1334  1         %SBTTL    'SET command tables'
  1062. ;   1335  1     
  1063. ;   1336  1    !++
  1064. ;   1337  1    ! SET command.  Format is:
  1065. ;   1338  1    !
  1066. ;   1339  1    !    Kermit-32>SET parameter
  1067. ;   1340  1    !
  1068. ;   1341  1    ! Where:
  1069. ;   1342  1    !    Parameter - One of many keywords
  1070. ;   1343  1    !
  1071. ;   1344  1    !--
  1072. ;   1345  1     
  1073. ; P 1346  1    $STATE    (SET_STATE,
  1074. ; P 1347  1        ('BLOCK_CHECK_TYPE', SET_CHK_STATE),
  1075. ; P 1348  1        ('DEBUGGING',    SET_DEB_STATE),
  1076. ; P 1349  1        ('DELAY',    SET_DEL_STATE),
  1077. ; P 1350  1        ('ESCAPE',    SET_ESC_STATE),
  1078. ; P 1351  1        ('FILE',    SET_FIL_STATE),
  1079. ; P 1352  1        ('HANDSHAKE',    SET_HAN_STATE),
  1080. ; P 1353  1        ('IBM_MODE',    SET_IBM_STATE),
  1081. ; P 1354  1        ('INCOMPLETE_FILE_DISPOSITION', SET_ABT_STATE),
  1082. ; P 1355  1        ('LINE',    SET_LIN_STATE),
  1083. ; P 1356  1        ('LOCAL_ECHO',    SET_ECH_STATE),
  1084. ; P 1357  1        ('MESSAGE',    SET_MSG_STATE),
  1085. ; P 1358  1        ('PARITY',    SET_PAR_STATE),
  1086. ; P 1359  1        ('PROMPT',    SET_PMT_STATE),
  1087. ; P 1360  1        ('RECEIVE',    SET_REC_STATE),
  1088. ; P 1361  1        ('REPEAT_QUOTE',SET_RPT_STATE),
  1089. ; P 1362  1        ('RETRY',    SET_RTY_STATE),
  1090. ; P 1363  1        ('SEND',    SET_SND_STATE),
  1091. ; P 1364  1        ('SERVER_TIMER',SET_SRV_STATE),
  1092. ; P 1365  1        ('TRANSMIT',    SET_TRN_STATE),  !
  1093. ; P 1366  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1094. ;   1367  1        )
  1095. ;   1368  1     
  1096. ;   1369  1    !++
  1097. ;   1370  1    !
  1098. ;   1371  1    ! SET INCOMPLETE_FILE [disposition] command.  The possible arguments are
  1099. ;   1372  1    !    KEEP or DISCARD.
  1100. ;   1373  1    !
  1101. ;   1374  1    !--
  1102. ;   1375  1     
  1103. ; P 1376  1    $STATE    (SET_ABT_STATE,
  1104. ; P 1377  1        ('DISCARD', DONE_STATE,    STORE_ABT,,    ,TRUE),
  1105. ; P 1378  1        ('KEEP',    DONE_STATE,    STORE_ABT,,    ,FALSE),
  1106. ; P 1379  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1107. ;   1380  1        )
  1108. ;   1381  1     
  1109. ;   1382  1    !++
  1110. ;   1383  1    !
  1111. ;   1384  1    ! SET BLOCK_CHECK_TYPE [type] command.  The format is:
  1112. ;   1385  1    !
  1113. ;   1386  1    !    Kermit-32>SET BLOCK_CHECK_TYPE [1_CHARACTER_CHECKSUM | ....]
  1114. ;   1387  1    !
  1115. ;   1388  1    !--
  1116. ;   1389  1     
  1117. ; P 1390  1    $STATE    (SET_CHK_STATE,
  1118. ; P 1391  1        ('1_CHARACTER_CHECKSUM', DONE_STATE,    STORE_CHK,,    ,CHK_1CHAR),
  1119. ; P 1392  1        ('2_CHARACTER_CHECKSUM', DONE_STATE,    STORE_CHK,,    ,CHK_2CHAR),
  1120. ; P 1393  1        ('3_CHARACTER_CRC_CCITT', DONE_STATE,    STORE_CHK,,    ,CHK_CRC),
  1121. ; P 1394  1        ('ONE_CHARACTER_CHECKSUM', DONE_STATE,    STORE_CHK,,    ,CHK_1CHAR),
  1122. ; P 1395  1        ('THREE_CHARACTER_CRC_CCITT', DONE_STATE, STORE_CHK,,    ,CHK_CRC),
  1123. ; P 1396  1        ('TWO_CHARACTER_CHECKSUM', DONE_STATE,    STORE_CHK,,    ,CHK_2CHAR),
  1124. ; P 1397  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1125. ;   1398  1        )
  1126. ;   1399  1     
  1127. ;   1400  1    !++
  1128. ;   1401  1    !
  1129. ;   1402  1    ! SET DEBUGGING command.  The format is:
  1130. ;   1403  1    !
  1131. ;   1404  1    !    Kermit-32>SET DEBUGGING (on/off)
  1132. ;   1405  1    !
  1133. ;   1406  1    ! Where:
  1134. ;   1407  1    !    on/off is either the ON or OFF keyword.
  1135. ;   1408  1    !
  1136. ;   1409  1    !--
  1137. ;   1410  1     
  1138. ; P 1411  1    $STATE    (SET_DEB_STATE,
  1139. ; P 1412  1        ('OFF',        DONE_STATE,    STORE_DEBUG,    ,    ,FALSE),
  1140. ; P 1413  1        ('ON',        DONE_STATE,    STORE_DEBUG,    ,    ,TRUE),
  1141. ; P 1414  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1142. ;   1415  1        )
  1143. ;   1416  1     
  1144. ;   1417  1    !++
  1145. ;   1418  1    !
  1146. ;   1419  1    ! SET IBM_MODE command.  The format is:
  1147. ;   1420  1    !
  1148. ;   1421  1    !    Kermit-32>SET IBM_MODE (on/off)
  1149. ;   1422  1    !
  1150. ;   1423  1    ! Where:
  1151. ;   1424  1    !    on/off is either the ON or OFF keyword.
  1152. ;   1425  1    !
  1153. ;   1426  1    !--
  1154. ;   1427  1     
  1155. ; P 1428  1    $STATE    (SET_IBM_STATE,
  1156. ; P 1429  1        ('OFF',        DONE_STATE,    STORE_IBM,    ,    ,FALSE),
  1157. ; P 1430  1        ('ON',        DONE_STATE,    STORE_IBM,    ,    ,TRUE),
  1158. ; P 1431  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1159. ;   1432  1        )
  1160. ;   1433  1    !++
  1161. ;   1434  1    !
  1162. ;   1435  1    ! SET HANDSHAKE command.  The format is:
  1163. ;   1436  1    !
  1164. ;   1437  1    !    Kermit-32>SET HANDSHAKE <octal>
  1165. ;   1438  1    !
  1166. ;   1439  1    ! Where:
  1167. ;   1440  1    !    <octal> is the octal number representing the handshake character
  1168. ;   1441  1    !    for file transfers.
  1169. ;   1442  1    !
  1170. ;   1443  1    ! Negative values indicate no handshaking.
  1171. ;   1444  1    !--
  1172. ;   1445  1     
  1173. ; P 1446  1    $STATE    (SET_HAN_STATE,
  1174. ; P 1447  1        ('NONE',    DONE_STATE,    ,   -1    ,IBM_CHAR),
  1175. ; P 1448  1        (TPA$_OCTAL,    DONE_STATE,    ,    ,IBM_CHAR)
  1176. ;   1449  1        )
  1177. ;   1450  1     
  1178. ;   1451  1    !++
  1179. ;   1452  1    !
  1180. ;   1453  1    ! SET DELAY command.  The format is:
  1181. ;   1454  1    !
  1182. ;   1455  1    !    Kermit-32>SET DELAY <dec>
  1183. ;   1456  1    !
  1184. ;   1457  1    ! Where:
  1185. ;   1458  1    !    <dec> is the number of seconds to delay before sending the
  1186. ;   1459  1    !    SEND-INIT packet.
  1187. ;   1460  1    !--
  1188. ;   1461  1     
  1189. ; P 1462  1    $STATE    (SET_DEL_STATE,
  1190. ; P 1463  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,DELAY)
  1191. ;   1464  1        )
  1192. ;   1465  1     
  1193. ;   1466  1    !++
  1194. ;   1467  1    !
  1195. ;   1468  1    ! SET FILE BLOCKSIZE command.  The format is:
  1196. ;   1469  1    !
  1197. ;   1470  1    !    Kermit-32>SET FILE BLOCKSIZE <size>
  1198. ;   1471  1    !
  1199. ;   1472  1    ! Where:
  1200. ;   1473  1    !    <size> is the number of bytes per fixed-length record for BINARY
  1201. ;   1474  1    !    and FIXED files.
  1202. ;   1475  1    !--
  1203. ;   1476  1    
  1204. ; P 1477  1    $STATE    (SET_BLK_STATE,
  1205. ; P 1478  1        (TPA$_DECIMAL, DONE_STATE, store_blocksize, , file_blocksize)
  1206. ;   1479  1            )
  1207. ;   1480  1     
  1208. ;   1481  1    !++
  1209. ;   1482  1    !
  1210. ;   1483  1    ! SET ESCAPE command.  The format is:
  1211. ;   1484  1    !
  1212. ;   1485  1    !    Kermit-32>SET ESCAPE <octal>
  1213. ;   1486  1    !
  1214. ;   1487  1    ! Where:
  1215. ;   1488  1    !    <octal> is the octal number representing the escape character
  1216. ;   1489  1    !    for the CONNECT command processing.  The default escape character
  1217. ;   1490  1    !    is Control-].
  1218. ;   1491  1    !--
  1219. ;   1492  1     
  1220. ; P 1493  1    $STATE    (SET_ESC_STATE,
  1221. ; P 1494  1        (TPA$_OCTAL,    DONE_STATE,    ,    ,ESCAPE_CHR)
  1222. ;   1495  1        )
  1223. ;   1496  1    !++
  1224. ;   1497  1    !
  1225. ;   1498  1    ! SET FILE xxx command.  The format is:
  1226. ;   1499  1    !
  1227. ;   1500  1    !    Kermit-32>SET FILE <item> <args>
  1228. ;   1501  1    !
  1229. ;   1502  1    ! Where:
  1230. ;   1503  1    !    <item> is one of:
  1231. ;   1504  1    !        NAMING - Type of file name to send
  1232. ;   1505  1    !        TYPE - Type of file to create on receive (or send in certain cases)
  1233. ;   1506  1    !               BLOCKSIZE - Size of blocks (in bytes) for (FIXED and BINARY 
  1234. ;   1507  1    !                           type) output files.
  1235. ;   1508  1    !
  1236. ;   1509  1    !--
  1237. ; P 1510  1    $STATE    (SET_FIL_STATE,
  1238. ; P 1511  1        ('NAMING',    SET_FNM_STATE),
  1239. ; P 1512  1        ('TYPE',    SET_FTP_STATE),
  1240. ; P 1513  1        ('BLOCKSIZE',    SET_BLK_STATE),
  1241. ; P 1514  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1242. ;   1515  1        ) 
  1243. ;   1516  1    !++
  1244. ;   1517  1    !
  1245. ;   1518  1    ! SET FILE NAMING command.  The format is:
  1246. ;   1519  1    !
  1247. ;   1520  1    !    Kermit-32>SET FILE NAMING <type>
  1248. ;   1521  1    !
  1249. ;   1522  1    ! Where:
  1250. ;   1523  1    !    <type> is one of:
  1251. ;   1524  1    !        FULL   - Send complete file specification, including device and
  1252. ;   1525  1    !            directory
  1253. ;   1526  1    !        NORMAL_FORM - Send only name.type
  1254. ;   1527  1    !        UNTRANSLATED - Send name.type, but don't do any fixups on it
  1255. ;   1528  1    !--
  1256. ;   1529  1     
  1257. ; P 1530  1    $STATE (SET_FNM_STATE,
  1258. ; P 1531  1        ('FULL',    DONE_STATE,    STORE_FNM,    ,    ,FNM_FULL),
  1259. ; P 1532  1        ('NORMAL_FORM',    DONE_STATE,    STORE_FNM,    ,    ,FNM_NORMAL),
  1260. ; P 1533  1        ('UNTRANSLATED',DONE_STATE,    STORE_FNM,    ,    ,FNM_UNTRAN),
  1261. ; P 1534  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1262. ;   1535  1        )
  1263. ;   1536  1    !++
  1264. ;   1537  1    !
  1265. ;   1538  1    ! SET FILE TYPE command.  The format is:
  1266. ;   1539  1    !
  1267. ;   1540  1    !    Kermit-32>SET FILE TYPE <type>
  1268. ;   1541  1    !
  1269. ;   1542  1    ! Where:
  1270. ;   1543  1    !    <Type> is one of the following:
  1271. ;   1544  1    !        ASCII - Normal ASCII file (stream ascii)
  1272. ;   1545  1    !        BINARY - Micro binary file.
  1273. ;   1546  1    !--
  1274. ;   1547  1     
  1275. ; P 1548  1    $STATE    (SET_FTP_STATE,
  1276. ; P 1549  1        ('ASCII',    DONE_STATE,    STORE_FTP,    ,    ,FILE_ASC),
  1277. ; P 1550  1        ('BINARY',    DONE_STATE,    STORE_FTP,    ,    ,FILE_BIN),
  1278. ; P 1551  1        ('BLOCK',    DONE_STATE,    STORE_FTP,    ,    ,FILE_BLK),
  1279. ; P 1552  1        ('FIXED',    DONE_STATE,    STORE_FTP,    ,    ,FILE_FIX),
  1280. ; P 1553  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1281. ;   1554  1        )
  1282. ;   1555  1     
  1283. ;   1556  1    !++
  1284. ;   1557  1    ! SET LINE command.  Format is:
  1285. ;   1558  1    !
  1286. ;   1559  1    !    Kermit-32>SET LINE terminal-device:
  1287. ;   1560  1    !
  1288. ;   1561  1    ! Where:
  1289. ;   1562  1    !    Terminal-device: is the terminal line to use to the transfer of
  1290. ;   1563  1    !    the data and to use in the CONNECT command.
  1291. ;   1564  1    !
  1292. ;   1565  1    !--
  1293. ;   1566  1     
  1294. ; P 1567  1    $STATE    (SET_LIN_STATE,
  1295. ; P 1568  1        (TPA$_ANY,    SET_LIN_STATE,    STORE_TEXT),
  1296. ; P 1569  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_TERM_NAME)
  1297. ;   1570  1        )
  1298. ;   1571  1     
  1299. ;   1572  1    !++
  1300. ;   1573  1    ! SET LOCAL-ECHO command.  Format is:
  1301. ;   1574  1    !
  1302. ;   1575  1    !    Kermit-32>SET LOCAL-ECHO state
  1303. ;   1576  1    !
  1304. ;   1577  1    ! Where:
  1305. ;   1578  1    !    STATE is either the keyword ON or OFF.
  1306. ;   1579  1    !
  1307. ;   1580  1    !-
  1308. ;   1581  1     
  1309. ; P 1582  1    $STATE    (SET_ECH_STATE,
  1310. ; P 1583  1        ('OFF',        DONE_STATE,    STORE_ECHO,    ,    ,FALSE),
  1311. ; P 1584  1        ('ON',        DONE_STATE,    STORE_ECHO,    ,    ,TRUE),
  1312. ; P 1585  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1313. ;   1586  1        )
  1314. ;   1587  1     
  1315. ;   1588  1     
  1316. ;   1589  1    !++
  1317. ;   1590  1    ! SET MESSAGE command. Format is:
  1318. ;   1591  1    !
  1319. ;   1592  1    !    Kermit-32>SET MESSAGE <keyword>
  1320. ;   1593  1    !
  1321. ;   1594  1    ! Where the keyword is:
  1322. ;   1595  1    !
  1323. ;   1596  1    !    FILE_NAMES - Type out file names being transferred
  1324. ;   1597  1    !    PACKET_NUMBERS - Type out packet counts
  1325. ;   1598  1    !--
  1326. ;   1599  1     
  1327. ; P 1600  1    $STATE    (SET_MSG_STATE,
  1328. ; P 1601  1        ('FILE_NAMES',        SET_MSG_FIL_STATE),
  1329. ; P 1602  1        ('PACKET_NUMBERS',    SET_MSG_PKT_STATE),
  1330. ; P 1603  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1331. ;   1604  1        )
  1332. ;   1605  1     
  1333. ; P 1606  1    $STATE    (SET_MSG_FIL_STATE,
  1334. ; P 1607  1        ('OFF',        DONE_STATE,    STORE_MSG_FIL,    ,    ,FALSE),
  1335. ; P 1608  1        ('ON',        DONE_STATE,    STORE_MSG_FIL,    ,    ,TRUE),
  1336. ; P 1609  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1337. ;   1610  1        )
  1338. ;   1611  1     
  1339. ; P 1612  1    $STATE    (SET_MSG_PKT_STATE,
  1340. ; P 1613  1        ('OFF',        DONE_STATE,    STORE_MSG_PKT,    ,    ,FALSE),
  1341. ; P 1614  1        ('ON',        DONE_STATE,    STORE_MSG_PKT,    ,    ,TRUE),
  1342. ; P 1615  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1343. ;   1616  1        )
  1344. ;   1617  1     
  1345. ;   1618  1    !++
  1346. ;   1619  1    ! SET PROMPT command.
  1347. ;   1620  1    !
  1348. ;   1621  1    !    Kermit-32>SET PROMPT new-prompt-text
  1349. ;   1622  1    !
  1350. ;   1623  1    !--
  1351. ;   1624  1     
  1352. ; P 1625  1    $STATE    (SET_PMT_STATE,
  1353. ; P 1626  1        (TPA$_ANY,    SET_PMT_STATE,    STORE_TEXT),
  1354. ; P 1627  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,PROMPT_DESC)
  1355. ;   1628  1        )
  1356. ;   1629  1     
  1357. ;   1630  1    !++
  1358. ;   1631  1    ! SET REPEAT_QUOTE command.  Format is:
  1359. ;   1632  1    !
  1360. ;   1633  1    !    Kermit-32>SET REPEAT_QUOTE <character value>
  1361. ;   1634  1    !
  1362. ;   1635  1    !--
  1363. ;   1636  1     
  1364. ; P 1637  1    $STATE    (SET_RPT_STATE,
  1365. ; P 1638  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_QUOTE,    ,SET_REPT_CHR)
  1366. ;   1639  1        )
  1367. ;   1640  1     
  1368. ;   1641  1    !++
  1369. ;   1642  1    ! SET RETRY command.  Format is:
  1370. ;   1643  1    !
  1371. ;   1644  1    !    Kermit-32>SET RETRY <keyword>
  1372. ;   1645  1    !
  1373. ;   1646  1    ! Where the keyword is:
  1374. ;   1647  1    !
  1375. ;   1648  1    !    INITIAL_CONNECTION - set number of initial connection retries.
  1376. ;   1649  1    !    PACKET - set the number of packet retries.
  1377. ;   1650  1    !--
  1378. ;   1651  1     
  1379. ; P 1652  1    $STATE    (SET_RTY_STATE,
  1380. ; P 1653  1        ('INITIAL_CONNECTION',    SET_RTY_INI_STATE),
  1381. ; P 1654  1        ('PACKET',        SET_RTY_PKT_STATE),
  1382. ; P 1655  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1383. ;   1656  1        )
  1384. ;   1657  1     
  1385. ;   1658  1     
  1386. ; P 1659  1    $STATE    (SET_RTY_INI_STATE,
  1387. ; P 1660  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,SI_RETRIES)
  1388. ;   1661  1        )
  1389. ;   1662  1     
  1390. ; P 1663  1    $STATE    (SET_RTY_PKT_STATE,
  1391. ; P 1664  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,PKT_RETRIES)
  1392. ;   1665  1        )
  1393. ;   1666  1         %SBTTL    'SET PARITY type'
  1394. ;   1667  1     
  1395. ;   1668  1    !++
  1396. ;   1669  1    ! SET PARITY command.  Format is:
  1397. ;   1670  1    !
  1398. ;   1671  1    !    Kermit-32>SET PARITY type
  1399. ;   1672  1    !
  1400. ;   1673  1    ! The type can be:
  1401. ;   1674  1    !
  1402. ;   1675  1    !    NONE - No parity processing
  1403. ;   1676  1    !    MARK - Mark parity
  1404. ;   1677  1    !    SPACE - Space parity
  1405. ;   1678  1    !    EVEN - Even parity
  1406. ;   1679  1    !    ODD - Odd parity
  1407. ;   1680  1    !
  1408. ;   1681  1    !--
  1409. ;   1682  1     
  1410. ; P 1683  1    $STATE    (SET_PAR_STATE,
  1411. ; P 1684  1        ('EVEN',    DONE_STATE,    STORE_PARITY,    ,    ,PR_EVEN),
  1412. ; P 1685  1        ('MARK',    DONE_STATE,    STORE_PARITY,    ,    ,PR_MARK),
  1413. ; P 1686  1        ('NONE',    DONE_STATE,    STORE_PARITY,    ,    ,PR_NONE),
  1414. ; P 1687  1        ('ODD',        DONE_STATE,    STORE_PARITY,    ,    ,PR_ODD),
  1415. ; P 1688  1        ('SPACE',    DONE_STATE,    STORE_PARITY,    ,    ,PR_SPACE),
  1416. ; P 1689  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1417. ;   1690  1        )
  1418. ;   1691  1         %SBTTL    'SET RECEIVE table'
  1419. ;   1692  1     
  1420. ;   1693  1    !++
  1421. ;   1694  1    ! SET RECEIVE command.  Format is:
  1422. ;   1695  1    !
  1423. ;   1696  1    !    Kermit-32>SET RECEIVE item
  1424. ;   1697  1    !
  1425. ;   1698  1    ! Where:
  1426. ;   1699  1    !    Item - One of the following:
  1427. ;   1700  1    !        PACKET-LENGTH <dec>
  1428. ;   1701  1    !        PADDING <dec>
  1429. ;   1702  1    !        PADCHAR <chr>
  1430. ;   1703  1    !        TIMEOUT <dec>
  1431. ;   1704  1    !        END-OF-LINE <oct>
  1432. ;   1705  1    !        QUOTE <chr>
  1433. ;   1706  1    !
  1434. ;   1707  1    !--
  1435. ;   1708  1     
  1436. ; P 1709  1    $STATE    (SET_REC_STATE,
  1437. ; P 1710  1        ('EIGHT-BIT-QUOTE',    SR_8QU_STATE),
  1438. ; P 1711  1        ('END_OF_LINE',        SR_EOL_STATE),
  1439. ; P 1712  1        ('PACKET_LENGTH',    SR_PKT_STATE),
  1440. ; P 1713  1        ('PADCHAR',        SR_PDC_STATE),
  1441. ; P 1714  1        ('PADDING',        SR_PAD_STATE),
  1442. ; P 1715  1        ('QUOTE',        SR_QUO_STATE),
  1443. ; P 1716  1        ('START_OF_PACKET',    SR_SOH_STATE),
  1444. ; P 1717  1        ('TIMEOUT',        SR_TIM_STATE),
  1445. ; P 1718  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1446. ;   1719  1        )
  1447. ;   1720  1     
  1448. ;   1721  1    !++
  1449. ;   1722  1    !
  1450. ;   1723  1    ! SET RECEIVE PACKET-LENGTH command.  Format is:
  1451. ;   1724  1    !
  1452. ;   1725  1    !    Kermit-32>SET RECEIVE PACKET-LENGTH <dec>
  1453. ;   1726  1    !
  1454. ;   1727  1    ! Where:
  1455. ;   1728  1    !    <Dec> is a decimal number that specifies the length of a
  1456. ;   1729  1    !    receive packet.
  1457. ;   1730  1    !
  1458. ;   1731  1    !--
  1459. ;   1732  1     
  1460. ; P 1733  1    $STATE    (SR_PKT_STATE,
  1461. ; P 1734  1        (TPA$_DECIMAL,    DONE_STATE,    CHECK_PACKET_LEN,    ,RCV_PKT_SIZE)
  1462. ;   1735  1        )
  1463. ;   1736  1     
  1464. ;   1737  1     
  1465. ;   1738  1    !++
  1466. ;   1739  1    !
  1467. ;   1740  1    ! SET RECEIVE PADDING command.  The format of this command is:
  1468. ;   1741  1    !
  1469. ;   1742  1    !    Kermit-32>SET RECEIVE PADDING <dec>
  1470. ;   1743  1    !
  1471. ;   1744  1    ! Where:
  1472. ;   1745  1    !    <dec> is the decimal number of padding characters to output.
  1473. ;   1746  1    !
  1474. ;   1747  1    !--
  1475. ;   1748  1     
  1476. ; P 1749  1    $STATE    (SR_PAD_STATE,
  1477. ; P 1750  1        (TPA$_DECIMAL,    DONE_STATE,    CHECK_NPAD,    ,RCV_NPAD)
  1478. ;   1751  1        )
  1479. ;   1752  1     
  1480. ;   1753  1    !++
  1481. ;   1754  1    !
  1482. ;   1755  1    ! SET RECEIVE PADCHAR command.  Format is:
  1483. ;   1756  1    !
  1484. ;   1757  1    !    Kermit-32>SET RECEIVE PADCHAR <oct>
  1485. ;   1758  1    !
  1486. ;   1759  1    ! Where:
  1487. ;   1760  1    !    <oct> is the octal representation of the padding character
  1488. ;   1761  1    !    that is to be used.
  1489. ;   1762  1    !
  1490. ;   1763  1    !--
  1491. ;   1764  1     
  1492. ; P 1765  1    $STATE    (SR_PDC_STATE,
  1493. ; P 1766  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_PAD_CHAR,    ,RCV_PADCHAR)
  1494. ;   1767  1        )
  1495. ;   1768  1    !++
  1496. ;   1769  1    !
  1497. ;   1770  1    ! SET RECEIVE START_OF_PACKET command.  Format is:
  1498. ;   1771  1    !
  1499. ;   1772  1    !    Kermit-32>SET RECEIVE START_OF_PACKET <oct>
  1500. ;   1773  1    !
  1501. ;   1774  1    ! Where:
  1502. ;   1775  1    !    <oct> is the octal representation of the padding character
  1503. ;   1776  1    !    that is to be used.
  1504. ;   1777  1    !
  1505. ;   1778  1    !--
  1506. ;   1779  1     
  1507. ; P 1780  1    $STATE    (SR_SOH_STATE,
  1508. ; P 1781  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_SOH,    ,RCV_SOH)
  1509. ;   1782  1        )
  1510. ;   1783  1     
  1511. ;   1784  1    !++
  1512. ;   1785  1    !
  1513. ;   1786  1    ! SET RECEIVE TIMEOUT command.  The format is:
  1514. ;   1787  1    !
  1515. ;   1788  1    !    Kermit-32>SET RECEIVE TIMEOUT <dec>
  1516. ;   1789  1    !
  1517. ;   1790  1    ! Where:
  1518. ;   1791  1    !    <dec> is the number of seconds before KERMIT-32 should time out
  1519. ;   1792  1    !    attempting to receive a correct message.
  1520. ;   1793  1    !
  1521. ;   1794  1    !--
  1522. ;   1795  1     
  1523. ; P 1796  1    $STATE    (SR_TIM_STATE,
  1524. ; P 1797  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,RCV_TIMEOUT)
  1525. ;   1798  1        )
  1526. ;   1799  1     
  1527. ;   1800  1    !++
  1528. ;   1801  1    ! SET END-OF-LINE command.  Format is:
  1529. ;   1802  1    !
  1530. ;   1803  1    !    Kermit-32>SET RECEIVE END-OF-LINE <octal>
  1531. ;   1804  1    !
  1532. ;   1805  1    ! Where:
  1533. ;   1806  1    !    <octal> is the octal number representation of the character
  1534. ;   1807  1    !    that is the end of line character.
  1535. ;   1808  1    !
  1536. ;   1809  1    !--
  1537. ;   1810  1     
  1538. ; P 1811  1    $STATE    (SR_EOL_STATE,
  1539. ; P 1812  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_EOL,    ,RCV_EOL)
  1540. ;   1813  1        )
  1541. ;   1814  1     
  1542. ;   1815  1    !++
  1543. ;   1816  1    ! SET RECEIVE QUOTE command.  The format is:
  1544. ;   1817  1    !
  1545. ;   1818  1    !    Kermit-32>SET RECEIVE QUOTE <octal>
  1546. ;   1819  1    !
  1547. ;   1820  1    ! Where:
  1548. ;   1821  1    !    <octal> is the octal number representing the quoting character.
  1549. ;   1822  1    !
  1550. ;   1823  1    !--
  1551. ;   1824  1     
  1552. ; P 1825  1    $STATE    (SR_QUO_STATE,
  1553. ; P 1826  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_QUOTE,    ,RCV_QUOTE_CHR)
  1554. ;   1827  1        )
  1555. ;   1828  1         %SBTTL    'SET RECEIVE EIGHT-BIT-QUOTE'
  1556. ;   1829  1     
  1557. ;   1830  1    !++
  1558. ;   1831  1    ! This routine will handle the setting of the eight bit quoting character.
  1559. ;   1832  1    !
  1560. ;   1833  1    !    Kermit-32>SET RECEIVE EIGHT-BIT-QUOTE <octal>
  1561. ;   1834  1    !
  1562. ;   1835  1    ! Where:
  1563. ;   1836  1    !    <octal> is the octal number representing the quoting character.
  1564. ;   1837  1    !
  1565. ;   1838  1    !--
  1566. ;   1839  1     
  1567. ; P 1840  1    $STATE    (SR_8QU_STATE,
  1568. ; P 1841  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_QUOTE,    ,RCV_8QUOTE_CHR)
  1569. ;   1842  1        )
  1570. ;   1843  1         %SBTTL    'SET SEND tables'
  1571. ;   1844  1     
  1572. ;   1845  1    !++
  1573. ;   1846  1    ! SET SEND command.  Format is:
  1574. ;   1847  1    !
  1575. ;   1848  1    !    Kermit-32>SET SEND item
  1576. ;   1849  1    !
  1577. ;   1850  1    ! Where:
  1578. ;   1851  1    !    Item - One of the following:
  1579. ;   1852  1    !        PACKET-LENGTH <dec>
  1580. ;   1853  1    !        PADDING <dec>
  1581. ;   1854  1    !        PADCHAR <chr>
  1582. ;   1855  1    !        TIMEOUT <dec>
  1583. ;   1856  1    !        END-OF-LINE <oct>
  1584. ;   1857  1    !        QUOTE <chr>
  1585. ;   1858  1    !
  1586. ;   1859  1    !--
  1587. ;   1860  1     
  1588. ; P 1861  1    $STATE    (SET_SND_STATE,
  1589. ; P 1862  1        ('END_OF_LINE',        SS_EOL_STATE),
  1590. ; P 1863  1        ('PACKET_LENGTH',    SS_PKT_STATE),
  1591. ; P 1864  1        ('PADCHAR',        SS_PDC_STATE),
  1592. ; P 1865  1        ('PADDING',        SS_PAD_STATE),
  1593. ; P 1866  1        ('QUOTE',        SS_QUO_STATE),
  1594. ; P 1867  1        ('START_OF_PACKET',    SS_SOH_STATE),
  1595. ; P 1868  1        ('TIMEOUT',        SS_TIM_STATE),
  1596. ; P 1869  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1597. ;   1870  1        )
  1598. ;   1871  1     
  1599. ;   1872  1     
  1600. ;   1873  1     
  1601. ;   1874  1    !++
  1602. ;   1875  1    !
  1603. ;   1876  1    ! SET SEND PACKET-LENGTH command.  Format is:
  1604. ;   1877  1    !
  1605. ;   1878  1    !    Kermit-32>SET SEND PACKET-LENGTH <dec>
  1606. ;   1879  1    !
  1607. ;   1880  1    ! Where:
  1608. ;   1881  1    !    <Dec> is a decimal number that specifies the length of a
  1609. ;   1882  1    !    receive packet.
  1610. ;   1883  1    !
  1611. ;   1884  1    !--
  1612. ;   1885  1     
  1613. ; P 1886  1    $STATE    (SS_PKT_STATE,
  1614. ; P 1887  1        (TPA$_DECIMAL,    DONE_STATE,    CHECK_PACKET_LEN,    ,SND_PKT_SIZE)
  1615. ;   1888  1        )
  1616. ;   1889  1     
  1617. ;   1890  1     
  1618. ;   1891  1    !++
  1619. ;   1892  1    !
  1620. ;   1893  1    ! SET SEND PADDING command.  The format of this command is:
  1621. ;   1894  1    !
  1622. ;   1895  1    !    Kermit-32>SET SEND PADDING <dec>
  1623. ;   1896  1    !
  1624. ;   1897  1    ! Where:
  1625. ;   1898  1    !    <dec> is the decimal number of padding characters to output.
  1626. ;   1899  1    !
  1627. ;   1900  1    !--
  1628. ;   1901  1     
  1629. ; P 1902  1    $STATE    (SS_PAD_STATE,
  1630. ; P 1903  1        (TPA$_DECIMAL,    DONE_STATE,    CHECK_NPAD,    ,SND_NPAD)
  1631. ;   1904  1        )
  1632. ;   1905  1     
  1633. ;   1906  1    !++
  1634. ;   1907  1    !
  1635. ;   1908  1    ! SET SEND PADCHAR command.  Format is:
  1636. ;   1909  1    !
  1637. ;   1910  1    !    Kermit-32>SET SEND PADCHAR <oct>
  1638. ;   1911  1    !
  1639. ;   1912  1    ! Where:
  1640. ;   1913  1    !    <oct> is the octal representation of the padding character
  1641. ;   1914  1    !    that is to be used.
  1642. ;   1915  1    !
  1643. ;   1916  1    !--
  1644. ;   1917  1     
  1645. ; P 1918  1    $STATE    (SS_PDC_STATE,
  1646. ; P 1919  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_PAD_CHAR,    ,SND_PADCHAR)
  1647. ;   1920  1        )
  1648. ;   1921  1    !++
  1649. ;   1922  1    !
  1650. ;   1923  1    ! SET RECEIVE START_OF_PACKET command.  Format is:
  1651. ;   1924  1    !
  1652. ;   1925  1    !    Kermit-32>SET RECEIVE START_OF_PACKET <oct>
  1653. ;   1926  1    !
  1654. ;   1927  1    ! Where:
  1655. ;   1928  1    !    <oct> is the octal representation of the padding character
  1656. ;   1929  1    !    that is to be used.
  1657. ;   1930  1    !
  1658. ;   1931  1    !--
  1659. ;   1932  1     
  1660. ; P 1933  1    $STATE    (SS_SOH_STATE,
  1661. ; P 1934  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_SOH,    ,SND_SOH)
  1662. ;   1935  1        )
  1663. ;   1936  1     
  1664. ;   1937  1    !++
  1665. ;   1938  1    !
  1666. ;   1939  1    ! SET SEND TIMEOUT command.  The format is:
  1667. ;   1940  1    !
  1668. ;   1941  1    !    Kermit-32>SET SEND TIMEOUT <dec>
  1669. ;   1942  1    !
  1670. ;   1943  1    ! Where:
  1671. ;   1944  1    !    <dec> is the number of seconds before KERMIT-32 should time out
  1672. ;   1945  1    !    attempting to receive a correct message.
  1673. ;   1946  1    !
  1674. ;   1947  1    !--
  1675. ;   1948  1     
  1676. ; P 1949  1    $STATE    (SS_TIM_STATE,
  1677. ; P 1950  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,SND_TIMEOUT)
  1678. ;   1951  1        )
  1679. ;   1952  1     
  1680. ;   1953  1    !++
  1681. ;   1954  1    ! SET SEND END-OF-LINE command.  Format is:
  1682. ;   1955  1    !
  1683. ;   1956  1    !    Kermit-32>SET SEND END-OF-LINE <octal>
  1684. ;   1957  1    !
  1685. ;   1958  1    ! Where:
  1686. ;   1959  1    !    <octal> is the octal number representation of the character
  1687. ;   1960  1    !    that is the end of line character.
  1688. ;   1961  1    !
  1689. ;   1962  1    !--
  1690. ;   1963  1     
  1691. ; P 1964  1    $STATE    (SS_EOL_STATE,
  1692. ; P 1965  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_EOL,    ,SND_EOL)
  1693. ;   1966  1        )
  1694. ;   1967  1     
  1695. ;   1968  1    !++
  1696. ;   1969  1    ! SET SEND QUOTA command.  The format is:
  1697. ;   1970  1    !
  1698. ;   1971  1    !    Kermit-32>SET SEND QUOTA <octal>
  1699. ;   1972  1    !
  1700. ;   1973  1    ! Where:
  1701. ;   1974  1    !    <octal> is the octal number representing the quoting character.
  1702. ;   1975  1    !
  1703. ;   1976  1    !--
  1704. ;   1977  1     
  1705. ; P 1978  1    $STATE    (SS_QUO_STATE,
  1706. ; P 1979  1        (TPA$_OCTAL,    DONE_STATE,    CHECK_QUOTE,    ,SND_QUOTE_CHR)
  1707. ;   1980  1        )
  1708. ;   1981  1     
  1709. ;   1982  1    !++
  1710. ;   1983  1    ! SET SERVER_TIMER command.
  1711. ;   1984  1    !
  1712. ;   1985  1    ! This sets the time between naks send when server is idle.
  1713. ;   1986  1    !--
  1714. ;   1987  1     
  1715. ; P 1988  1    $STATE    (SET_SRV_STATE,
  1716. ; P 1989  1        (TPA$_DECIMAL,    DONE_STATE,    ,    ,SRV_TIMEOUT)
  1717. ;   1990  1        )
  1718. ;   1991  1     
  1719. ;   1992  1     !++
  1720. ;   1993  1    !
  1721. ;   1994  1    ! SET TRANSMIT xxx command.  The format is:     !  and below
  1722. ;   1995  1    !
  1723. ;   1996  1    !    Kermit-32>SET TRANSMIT <item> <args>
  1724. ;   1997  1    !
  1725. ;   1998  1    ! Where:
  1726. ;   1999  1    !    <item> is one of:
  1727. ;   2000  1    !        DELAY - Time to delay after each carriage return
  1728. ;   2001  1    !            ECHO - Echo from terminal line or just print line numbers
  1729. ;   2002  1    !
  1730. ;   2003  1    !--
  1731. ; P 2004  1    $STATE    (SET_TRN_STATE,                                                !
  1732. ; P 2005  1        ('DELAY',    SET_TRD_STATE),                                !
  1733. ; P 2006  1        ('ECHO',    SET_TRE_STATE),                                !
  1734. ; P 2007  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)                     !
  1735. ;   2008  1        )                                                              !
  1736. ;   2009  1     
  1737. ;   2010  1    !++
  1738. ;   2011  1    !
  1739. ;   2012  1    ! SET TRANSMIT DELAY command.  Format is:          ! and below
  1740. ;   2013  1    !
  1741. ;   2014  1    !    Kermit-32>SET TRANSMIT DELAY <digit>
  1742. ;   2015  1    !
  1743. ;   2016  1    ! Where:
  1744. ;   2017  1    !    <digit> is a decimal digit that specifies the length of time in
  1745. ;   2018  1    !    tenths of a second to delay after transmitting a carriage return.
  1746. ;   2019  1    !
  1747. ;   2020  1    !--
  1748. ;   2021  1     
  1749. ; P 2022  1    $STATE    (SET_TRD_STATE,                                                       !
  1750. ; P 2023  1        (TPA$_DIGIT,    DONE_STATE,    STORE_TR_DELAY,     ,TRANS_DELAY) !
  1751. ;   2024  1        )                                                                     !
  1752. ;   2025  1     
  1753. ;   2026  1    !++
  1754. ;   2027  1    !
  1755. ;   2028  1    ! SET TRANSMIT ECHO command.  The format is:         !  and below
  1756. ;   2029  1    !
  1757. ;   2030  1    !    Kermit-32>SET TRANSMIT ECHO (on/off)
  1758. ;   2031  1    !
  1759. ;   2032  1    ! Where:
  1760. ;   2033  1    !    on/off is either the ON or OFF keyword.
  1761. ;   2034  1    !
  1762. ;   2035  1    !--
  1763. ;   2036  1     
  1764. ; P 2037  1    $STATE    (SET_TRE_STATE,                                                 !
  1765. ; P 2038  1        ('ON',        DONE_STATE,    STORE_TR_ECHO,    ,    ,TRUE), !
  1766. ; P 2039  1        ('OFF',        DONE_STATE,    STORE_TR_ECHO,    ,    ,FALSE),!
  1767. ; P 2040  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)                      !
  1768. ;   2041  1        )                                                               !
  1769. ;   2042  1         %SBTTL    'SEND command'
  1770. ;   2043  1     
  1771. ;   2044  1    !++
  1772. ;   2045  1    ! SEND command.  The format is:
  1773. ;   2046  1    !
  1774. ;   2047  1    !    Kermit-32>SEND file-specification
  1775. ;   2048  1    !
  1776. ;   2049  1    ! Where:
  1777. ;   2050  1    !    FILE-SPECIFICATION is any valid VAX/VMS file specification.
  1778. ;   2051  1    !
  1779. ;   2052  1    !--
  1780. ;   2053  1     
  1781. ; P 2054  1    $STATE    (SEND_STATE,
  1782. ; P 2055  1        (TPA$_ANY,    SEND_STATE,    STORE_TEXT),
  1783. ; P 2056  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,FILE_DESC)
  1784. ;   2057  1        )
  1785. ;   2058  1         %SBTTL    'SHOW command'
  1786. ;   2059  1     
  1787. ;   2060  1    !++
  1788. ;   2061  1    ! SHOW command.  The format is:
  1789. ;   2062  1    !
  1790. ;   2063  1    !    Kermit-32>SHOW <parameter>
  1791. ;   2064  1    !
  1792. ;   2065  1    ! Where:
  1793. ;   2066  1    !    <Parameter> is one of the following:
  1794. ;   2067  1    !        SEND - Send parameters
  1795. ;   2068  1    !        RECEIVE - Receive parameters
  1796. ;   2069  1    !        DEBUGGING - State of the debugging flag
  1797. ;   2070  1    !        FILE-TYPE - Type of the file
  1798. ;   2071  1    !        LOCAL-ECHO - Local echo flag
  1799. ;   2072  1    !        LINE - Current line associated
  1800. ;   2073  1    !        ESCAPE - Current escape character
  1801. ;   2074  1    !        DELAY  - Delay parameter.
  1802. ;   2075  1    !
  1803. ;   2076  1    !--
  1804. ;   2077  1     
  1805. ; P 2078  1    $STATE    (SHOW_STATE,
  1806. ; P 2079  1        ('ALL',            DONE_STATE,    ,SHOW_ALL,    SHOW_TYPE),
  1807. ; P 2080  1        ('BLOCK_CHECK_TYPE',    DONE_STATE,    ,SHOW_CHK,    SHOW_TYPE),
  1808. ; P 2081  1        ('COMMUNICATIONS',    DONE_STATE,    ,SHOW_COM,    SHOW_TYPE),
  1809. ; P 2082  1        ('DEBUGGING',        DONE_STATE,    ,SHOW_DEB,    SHOW_TYPE),
  1810. ; P 2083  1        ('DELAY',        DONE_STATE,    ,SHOW_DEL,    SHOW_TYPE),
  1811. ; P 2084  1        ('ESCAPE',        DONE_STATE,    ,SHOW_ESC,    SHOW_TYPE),
  1812. ; P 2085  1        ('FILE_PARAMETERS',    DONE_STATE,    ,SHOW_FIL,    SHOW_TYPE),
  1813. ; P 2086  1        ('INCOMPLETE_FILE_DISPOSITION',DONE_STATE,    ,SHOW_ABT,    SHOW_TYPE),
  1814. ; P 2087  1        ('LINE',        DONE_STATE,    ,SHOW_LIN,    SHOW_TYPE),
  1815. ; P 2088  1        ('LOCAL_ECHO',        DONE_STATE,    ,SHOW_ECH,    SHOW_TYPE),
  1816. ; P 2089  1        ('PACKET',        DONE_STATE,    ,SHOW_PAC,    SHOW_TYPE),
  1817. ; P 2090  1        ('PARITY',        DONE_STATE,    ,SHOW_PAR,    SHOW_TYPE),
  1818. ; P 2091  1        ('SEND',        DONE_STATE,    ,SHOW_SEN,    SHOW_TYPE),
  1819. ; P 2092  1        ('TIMING',        DONE_STATE,    ,SHOW_TIM,    SHOW_TYPE),
  1820. ; P 2093  1        ('RECEIVE',        DONE_STATE,    ,SHOW_REC,    SHOW_TYPE),
  1821. ; P 2094  1        ('RETRY',        DONE_STATE,    ,SHOW_RTY,    SHOW_TYPE),
  1822. ; P 2095  1        ('VERSION',        DONE_STATE,    ,SHOW_VER,    SHOW_TYPE),
  1823. ; P 2096  1        ('TRANSMIT',        DONE_STATE,    ,SHOW_TRN,    SHOW_TYPE),   !
  1824. ; P 2097  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1825. ;   2098  1        )
  1826. ;   2099  1         %SBTTL    'LOG command'
  1827. ;   2100  1     
  1828. ;   2101  1    !++
  1829. ;   2102  1    ! The LOG command allows the specification of a session or transaction
  1830. ;   2103  1    !log file.
  1831. ;   2104  1    !--
  1832. ;   2105  1     
  1833. ; P 2106  1    $STATE    (LOG_STATE,
  1834. ; P 2107  1        ('DEBUGGING',    DBG_STATE),
  1835. ; P 2108  1        ('SESSION',    SES_STATE),
  1836. ; P 2109  1        ('TRANSACTIONS',TRN_STATE),
  1837. ; P 2110  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1838. ;   2111  1        )
  1839. ;   2112  1     
  1840. ; P 2113  1    $STATE    (DBG_STATE,
  1841. ; P 2114  1        (TPA$_ANY,    DBG_STATE,    STORE_TEXT),
  1842. ; P 2115  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,DEBUG_DESC)
  1843. ;   2116  1        )
  1844. ;   2117  1     
  1845. ; P 2118  1    $STATE    (SES_STATE,
  1846. ; P 2119  1        (TPA$_ANY,    SES_STATE,    STORE_TEXT),
  1847. ; P 2120  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,SESSION_DESC)
  1848. ;   2121  1        )
  1849. ;   2122  1     
  1850. ; P 2123  1    $STATE    (TRN_STATE,
  1851. ; P 2124  1        (TPA$_ANY,    TRN_STATE,    STORE_TEXT),
  1852. ; P 2125  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,TRANSACTION_DESC)
  1853. ;   2126  1        )
  1854. ;   2127  1     
  1855. ;   2128  1     
  1856. ;   2129  1         %SBTTL    'Take command tables'
  1857. ;   2130  1     
  1858. ;   2131  1    !++
  1859. ;   2132  1    ! The following describes the TAKE (or @) command.
  1860. ;   2133  1    !--
  1861. ;   2134  1     
  1862. ; P 2135  1    $STATE    (TAKE_STATE,
  1863. ; P 2136  1        ('/',        TAK_SWT_STATE,    COPY_DESC,    ,    ,TAK_FIL_DESC),
  1864. ; P 2137  1        (TPA$_ANY,    TAKE_STATE,    STORE_TEXT),
  1865. ; P 2138  1        (TPA$_LAMBDA,    DONE_STATE,    COPY_DESC,    ,    ,TAK_FIL_DESC)
  1866. ;   2139  1        )
  1867. ;   2140  1     
  1868. ; P 2141  1    $STATE    (TAK_SWT_STATE,
  1869. ; P 2142  1        ('DISPLAY',        DONE_STATE,    ,TRUE,        TAKE_DISPLAY),
  1870. ; P 2143  1        (TPA$_SYMBOL,    TPA$_FAIL,    KEY_ERROR)
  1871. ;   2144  1        )
  1872. ;   2145  1     
  1873. ;   2146  1           %SBTTL  'TRANSMIT command'                                         !
  1874. ;   2147  1                                                                             !
  1875. ;   2148  1    !++                                                                      !
  1876. ;   2149  1    ! TRANSMIT command.  The format is:                                      !
  1877. ;   2150  1    !                                                                        !
  1878. ;   2151  1    !     Kermit-32>TRANSMIT file-specification                              !
  1879. ;   2152  1    !                                                                        !
  1880. ;   2153  1    ! Where:                                                                 !
  1881. ;   2154  1    !     FILE-SPECIFICATION is any valid VAX/VMS file specification.        !
  1882. ;   2155  1    !                                                                        !
  1883. ;   2156  1    !--                                                                      !
  1884. ;   2157  1                                                                             ! 
  1885. ; P 2158  1    $STATE  (TRANSMIT_STATE,                                                 !
  1886. ; P 2159  1          (TPA$_ANY,  TRANSMIT_STATE,          STORE_TEXT),                  !
  1887. ; P 2160  1          (TPA$_LAMBDA, DONE_STATE,        COPY_DESC,                       , ,FILE_DESC)  !
  1888. ;   2161  1          )                                                                  !
  1889. ;   2162  1     
  1890. ;   2163  1         %SBTTL    'Done state'
  1891. ;   2164  1     
  1892. ;   2165  1    !++
  1893. ;   2166  1    ! This is the single state that is the required CONFIRM for the end
  1894. ;   2167  1    ! of the commands.
  1895. ;   2168  1    !--
  1896. ;   2169  1     
  1897. ; P 2170  1    $STATE    (DONE_STATE,
  1898. ; P 2171  1        (TPA$_EOS,    TPA$_EXIT)
  1899. ;   2172  1        )
  1900. ;   2173  1     
  1901. ;   2174  1     !++
  1902. ;   2175  1    !
  1903. ;   2176  1    ! End of the KERMIT-32 command definitions
  1904. ;   2177  1    !
  1905. ;   2178  1    !--
  1906. ;   2179  1     
  1907. ;   2180  1    PSECT    OWN = $OWN$;
  1908. ;   2181  1    PSECT    GLOBAL = $GLOBAL$;
  1909. ;   2182  1     
  1910. ;   2183  1     !<BLF/FORMAT>
  1911. ;   2184  1    ROUTINE MAIN_ROUTINE =
  1912. ;   2185  1     
  1913. ;   2186  1    !++
  1914. ;   2187  1    ! FUNCTIONAL DESCRIPTION:
  1915. ;   2188  1    !
  1916. ;   2189  1    !    This is the main routine for KERMIT-32.  This routine will
  1917. ;   2190  1    !    initialize the various parameters and then call the command
  1918. ;   2191  1    !    scanner to process commands.
  1919. ;   2192  1    !
  1920. ;   2193  1    ! FORMAL PARAMETERS:
  1921. ;   2194  1    !
  1922. ;   2195  1    !    None.
  1923. ;   2196  1    !
  1924. ;   2197  1    ! IMPLICIT INPUTS:
  1925. ;   2198  1    !
  1926. ;   2199  1    !    None.
  1927. ;   2200  1    !
  1928. ;   2201  1    ! IMPLICIT OUTPUTS:
  1929. ;   2202  1    !
  1930. ;   2203  1    !    None.
  1931. ;   2204  1    !
  1932. ;   2205  1    ! ROUTINE VALUE and
  1933. ;   2206  1    ! COMPLETION CODES:
  1934. ;   2207  1    !
  1935. ;   2208  1    !    Return status from last command.
  1936. ;   2209  1    !
  1937. ;   2210  1    ! SIDE EFFECTS:
  1938. ;   2211  1    !
  1939. ;   2212  1    !    None.
  1940. ;   2213  1    !
  1941. ;   2214  1    !--
  1942. ;   2215  1     
  1943. ;   2216  2        BEGIN
  1944. ;   2217  2     
  1945. ;   2218  2        LOCAL
  1946. ;   2219  2        STATUS,                    ! Returned status
  1947. ;   2220  2        CRC_BIT_MASK,                ! Bit mask for CRC initialization
  1948. ;   2221  2        LOOP_FLAG;
  1949. ;   2222  2     
  1950. ;   2223  2    !
  1951. ;   2224  2    ! Initialize some variables
  1952. ;   2225  2    !
  1953. ;   2226  2        STATUS = LIB$PUT_OUTPUT (IDENT_STRING);    ! Say who we are
  1954. ;   2227  2        MSG_INIT ();                ! Initialize message processing
  1955. ;   2228  2        TERM_INIT ();                ! Init terminal processing
  1956. ;   2229  2        TT_INIT ();                    ! Init text processing
  1957. ;   2230  2        FILE_INIT ();                ! Init file processing
  1958. ;   2231  2        SY_INIT ();                    ! Init system routines
  1959. ;   2232  2        ESCAPE_CHR = CHR_ESCAPE;
  1960. ;   2233  2    !
  1961. ;   2234  2    ! Initialize some VAX/VMS interface items
  1962. ;   2235  2    !
  1963. ;   2236  2        CRC_BIT_MASK = %O'102010';            ! CRC bit mask
  1964. ;   2237  2        LIB$CRC_TABLE (CRC_BIT_MASK, CRC_TABLE);
  1965. ;   2238  2        LIB$ESTABLISH (KERM_HANDLER);
  1966. ;   2239  2    !
  1967. ;   2240  2    ! Initialize transaction log file descriptor
  1968. ;   2241  2    !
  1969. ;   2242  2        INIT_STR_DESC (TRANSACTION_DESC, TRANSACTION_NAME, 0);
  1970. ;   2243  2    !
  1971. ;   2244  2    ! Initialize take file descriptor
  1972. ;   2245  2    !
  1973. ;   2246  2        INIT_STR_DESC (TAK_FIL_DESC, TAK_FIL_NAME, 0);
  1974. ;   2247  2    !
  1975. ;   2248  2    ! Initialize prompt descriptor
  1976. ;   2249  2    !
  1977. ;   2250  2        INIT_STR_DESC (PROMPT_DESC, PROMPT_TEXT, 0);
  1978. ;   2251  2    !
  1979. ;   2252  2    ! Take initialization file
  1980. ;   2253  2    !
  1981. ;   2254  2        COMND_FILE (%ASCID'VMSKERMIT', %ASCID'.INI;0', TRUE, FALSE);
  1982. ;   2255  2    !
  1983. ;   2256  2    ! Main command loop
  1984. ;   2257  2    !
  1985. ;   2258  2        Status = COMND ();
  1986. ;   2259  2        RETURN .Final_Status OR STS$M_INHIB_MSG;
  1987. ;   2260  1        END;                    ! end of routine MAIN_ROUTINE
  1988.  
  1989.  
  1990.     .TITLE  KERMIT
  1991.     .IDENT  \3.3.128\
  1992.  
  1993.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  1994.  
  1995. P.AAB:    .ASCII  \VMS Kermit-32 version 3.3.128\<0><0><0>
  1996.                          ;                                6D  72  65  4B  20  53  4D  56  00000
  1997.                          ;                          65  76  20  32  33  2D  74  69  00008
  1998.                          ;                          2E  33  20  6E  6F  69  73  72  00010
  1999.                          ;                          00  00  00  38  32  31  2E  33  00018
  2000. P.AAA:    .LONG   17694749             ;                                              010E001D  00020
  2001.     .ADDRESS P.AAB                 ;                                              00000000' 00024
  2002. P.AAD:    .ASCII  \Kermit-32>\<0><0>         ;                                33  2D  74  69  6D  72  65  4B  00028
  2003.                          ;                                      00  00  3E  32  00030
  2004. P.AAC:    .LONG   17694730             ;                                              010E000A  00034
  2005.     .ADDRESS P.AAD                 ;                                              00000000' 00038
  2006. P.AAF:    .ASCII  \VMSKERMIT\<0><0><0>         ;                                49  4D  52  45  4B  53  4D  56  0003C
  2007.                          ;                                      00  00  00  54  00044
  2008. P.AAE:    .LONG   17694729             ;                                              010E0009  00048
  2009.     .ADDRESS P.AAF                 ;                                              00000000' 0004C
  2010. P.AAH:    .ASCII  \.INI;0\<0><0>             ;                                00  00  30  3B  49  4E  49  2E  00050
  2011. P.AAG:    .LONG   17694726             ;                                              010E0006  00058
  2012.     .ADDRESS P.AAH                 ;                                              00000000' 0005C
  2013.  
  2014.     .PSECT  $GLOBAL$,NOEXE,2
  2015.  
  2016. TRANSACTION_DESC::
  2017.     .BLKB   8                                       ;                      00000
  2018. TRANSACTION_OPEN::
  2019.     .BLKB   4                                       ;                      00008
  2020. TRANSACTION_FAB::
  2021.     .BLKB   80                                       ;                      0000C
  2022. TRANSACTION_RAB::
  2023.     .BLKB   68                                       ;                      0005C
  2024. ESCAPE_CHR::
  2025.     .BLKB   4                                       ;                      000A0
  2026. ALT_FILE_SIZE::
  2027.     .BLKB   4                                       ;                      000A4
  2028. ALT_FILE_NAME::
  2029.     .BLKB   132                                       ;                      000A8
  2030.  
  2031.     .PSECT  $OWN$,NOEXE,2
  2032.  
  2033. ;TPARSE_BLOCK
  2034. U.47:    .LONG   8, 2                 ;                                        00000002  00000008  00000
  2035.     .BLKB   28                                       ;                      00008
  2036. ;BAD_CMD_DESC
  2037. U.48:    .BLKB   8                                       ;                      00024
  2038. ;COMMAND
  2039. U.49:    .BLKB   4                                       ;                      0002C
  2040. ;SHOW_TYPE
  2041. U.50:    .BLKB   4                                       ;                      00030
  2042. ;REM_TYPE
  2043. U.51:    .BLKB   4                                       ;                      00034
  2044. ;TAKE_DISPLAY
  2045. U.52:    .BLKB   4                                       ;                      00038
  2046. ;OUTPUT_LINE
  2047. U.53:    .BLKB   80                                       ;                      0003C
  2048. ;OUTPUT_DESC
  2049. U.54:    .BLKB   8                                       ;                      0008C
  2050. ;OUTPUT_SIZE
  2051. U.55:    .BLKB   2                                       ;                      00094
  2052.     .BLKB   2                                       ;                      00096
  2053. ;FINAL_STATUS
  2054. U.56:    .LONG   1                 ;                                              00000001  00098
  2055. ;TRANSACTION_NAME
  2056. U.57:    .BLKB   132                                       ;                      0009C
  2057. ;PROMPT_DESC
  2058. U.58:    .BLKB   8                                       ;                      00120
  2059. ;PROMPT_TEXT
  2060. U.59:    .BLKB   132                                       ;                      00128
  2061. ;CRC_TABLE
  2062. U.60:    .BLKB   64                                       ;                      001AC
  2063. ;TAK_FIL_DESC
  2064. U.61:    .BLKB   8                                       ;                      001EC
  2065. ;TAK_FIL_NAME
  2066. U.62:    .BLKB   132                                       ;                      001F4
  2067. ;TEMP_DESC
  2068. U.63:    .BLKB   8                                       ;                      00278
  2069. ;TEMP_NAME
  2070. U.64:    .BLKB   132                                       ;                      00280
  2071.  
  2072.     .PSECT  _LIB$KEY0$,NOWRT,  SHR,  PIC,1
  2073.  
  2074. KERMIT_KEY::
  2075.     .BLKB   0                                       ;                      00000
  2076. ;TPA$KEY0
  2077. U.66:    .BLKB   0                                       ;                      00000
  2078. ;TPA$KEY
  2079. U.70:    .WORD   <U.69-U.66>             ;                                              0000* 00000
  2080. ;TPA$KEY
  2081. U.78:    .WORD   <U.77-U.66>             ;                                              0000* 00002
  2082. ;TPA$KEY
  2083. U.86:    .WORD   <U.85-U.66>             ;                                              0000* 00004
  2084. ;TPA$KEY
  2085. U.93:    .WORD   <U.92-U.66>             ;                                              0000* 00006
  2086. ;TPA$KEY
  2087. U.100:    .WORD   <U.99-U.66>             ;                                              0000* 00008
  2088. ;TPA$KEY
  2089. U.108:    .WORD   <U.107-U.66>             ;                                              0000* 0000A
  2090. ;TPA$KEY
  2091. U.116:    .WORD   <U.115-U.66>             ;                                              0000* 0000C
  2092. ;TPA$KEY
  2093. U.124:    .WORD   <U.123-U.66>             ;                                              0000* 0000E
  2094. ;TPA$KEY
  2095. U.132:    .WORD   <U.131-U.66>             ;                                              0000* 00010
  2096. ;TPA$KEY
  2097. U.139:    .WORD   <U.138-U.66>             ;                                              0000* 00012
  2098. ;TPA$KEY
  2099. U.146:    .WORD   <U.145-U.66>             ;                                              0000* 00014
  2100. ;TPA$KEY
  2101. U.153:    .WORD   <U.152-U.66>             ;                                              0000* 00016
  2102. ;TPA$KEY
  2103. U.161:    .WORD   <U.160-U.66>             ;                                              0000* 00018
  2104. ;TPA$KEY
  2105. U.168:    .WORD   <U.167-U.66>             ;                                              0000* 0001A
  2106. ;TPA$KEY
  2107. U.176:    .WORD   <U.175-U.66>             ;                                              0000* 0001C
  2108. ;TPA$KEY
  2109. U.184:    .WORD   <U.183-U.66>             ;                                              0000* 0001E
  2110. ;TPA$KEY
  2111. U.191:    .WORD   <U.190-U.66>             ;                                              0000* 00020
  2112. ;TPA$KEY
  2113. U.199:    .WORD   <U.198-U.66>             ;                                              0000* 00022
  2114. ;TPA$KEY
  2115. U.206:    .WORD   <U.205-U.66>             ;                                              0000* 00024
  2116. ;TPA$KEY
  2117. U.218:    .WORD   <U.217-U.66>             ;                                              0000* 00026
  2118. ;TPA$KEY
  2119. U.260:    .WORD   <U.259-U.66>             ;                                              0000* 00028
  2120. ;TPA$KEY
  2121. U.268:    .WORD   <U.267-U.66>             ;                                              0000* 0002A
  2122. ;TPA$KEY
  2123. U.276:    .WORD   <U.275-U.66>             ;                                              0000* 0002C
  2124. ;TPA$KEY
  2125. U.283:    .WORD   <U.282-U.66>             ;                                              0000* 0002E
  2126. ;TPA$KEY
  2127. U.290:    .WORD   <U.289-U.66>             ;                                              0000* 00030
  2128. ;TPA$KEY
  2129. U.297:    .WORD   <U.296-U.66>             ;                                              0000* 00032
  2130. ;TPA$KEY
  2131. U.304:    .WORD   <U.303-U.66>             ;                                              0000* 00034
  2132. ;TPA$KEY
  2133. U.311:    .WORD   <U.310-U.66>             ;                                              0000* 00036
  2134. ;TPA$KEY
  2135. U.318:    .WORD   <U.317-U.66>             ;                                              0000* 00038
  2136. ;TPA$KEY
  2137. U.325:    .WORD   <U.324-U.66>             ;                                              0000* 0003A
  2138. ;TPA$KEY
  2139. U.332:    .WORD   <U.331-U.66>             ;                                              0000* 0003C
  2140. ;TPA$KEY
  2141. U.339:    .WORD   <U.338-U.66>             ;                                              0000* 0003E
  2142. ;TPA$KEY
  2143. U.346:    .WORD   <U.345-U.66>             ;                                              0000* 00040
  2144. ;TPA$KEY
  2145. U.353:    .WORD   <U.352-U.66>             ;                                              0000* 00042
  2146. ;TPA$KEY
  2147. U.360:    .WORD   <U.359-U.66>             ;                                              0000* 00044
  2148. ;TPA$KEY
  2149. U.367:    .WORD   <U.366-U.66>             ;                                              0000* 00046
  2150. ;TPA$KEY
  2151. U.389:    .WORD   <U.388-U.66>             ;                                              0000* 00048
  2152. ;TPA$KEY
  2153. U.395:    .WORD   <U.394-U.66>             ;                                              0000* 0004A
  2154. ;TPA$KEY
  2155. U.401:    .WORD   <U.400-U.66>             ;                                              0000* 0004C
  2156. ;TPA$KEY
  2157. U.407:    .WORD   <U.406-U.66>             ;                                              0000* 0004E
  2158. ;TPA$KEY
  2159. U.413:    .WORD   <U.412-U.66>             ;                                              0000* 00050
  2160. ;TPA$KEY
  2161. U.419:    .WORD   <U.418-U.66>             ;                                              0000* 00052
  2162. ;TPA$KEY
  2163. U.425:    .WORD   <U.424-U.66>             ;                                              0000* 00054
  2164. ;TPA$KEY
  2165. U.431:    .WORD   <U.430-U.66>             ;                                              0000* 00056
  2166. ;TPA$KEY
  2167. U.437:    .WORD   <U.436-U.66>             ;                                              0000* 00058
  2168. ;TPA$KEY
  2169. U.442:    .WORD   <U.441-U.66>             ;                                              0000* 0005A
  2170. ;TPA$KEY
  2171. U.448:    .WORD   <U.447-U.66>             ;                                              0000* 0005C
  2172. ;TPA$KEY
  2173. U.454:    .WORD   <U.453-U.66>             ;                                              0000* 0005E
  2174. ;TPA$KEY
  2175. U.460:    .WORD   <U.459-U.66>             ;                                              0000* 00060
  2176. ;TPA$KEY
  2177. U.466:    .WORD   <U.465-U.66>             ;                                              0000* 00062
  2178. ;TPA$KEY
  2179. U.472:    .WORD   <U.471-U.66>             ;                                              0000* 00064
  2180. ;TPA$KEY
  2181. U.478:    .WORD   <U.477-U.66>             ;                                              0000* 00066
  2182. ;TPA$KEY
  2183. U.484:    .WORD   <U.483-U.66>             ;                                              0000* 00068
  2184. ;TPA$KEY
  2185. U.490:    .WORD   <U.489-U.66>             ;                                              0000* 0006A
  2186. ;TPA$KEY
  2187. U.496:    .WORD   <U.495-U.66>             ;                                              0000* 0006C
  2188. ;TPA$KEY
  2189. U.506:    .WORD   <U.505-U.66>             ;                                              0000* 0006E
  2190. ;TPA$KEY
  2191. U.514:    .WORD   <U.513-U.66>             ;                                              0000* 00070
  2192. ;TPA$KEY
  2193. U.526:    .WORD   <U.525-U.66>             ;                                              0000* 00072
  2194. ;TPA$KEY
  2195. U.534:    .WORD   <U.533-U.66>             ;                                              0000* 00074
  2196. ;TPA$KEY
  2197. U.542:    .WORD   <U.541-U.66>             ;                                              0000* 00076
  2198. ;TPA$KEY
  2199. U.550:    .WORD   <U.549-U.66>             ;                                              0000* 00078
  2200. ;TPA$KEY
  2201. U.558:    .WORD   <U.557-U.66>             ;                                              0000* 0007A
  2202. ;TPA$KEY
  2203. U.566:    .WORD   <U.565-U.66>             ;                                              0000* 0007C
  2204. ;TPA$KEY
  2205. U.578:    .WORD   <U.577-U.66>             ;                                              0000* 0007E
  2206. ;TPA$KEY
  2207. U.586:    .WORD   <U.585-U.66>             ;                                              0000* 00080
  2208. ;TPA$KEY
  2209. U.598:    .WORD   <U.597-U.66>             ;                                              0000* 00082
  2210. ;TPA$KEY
  2211. U.606:    .WORD   <U.605-U.66>             ;                                              0000* 00084
  2212. ;TPA$KEY
  2213. U.618:    .WORD   <U.617-U.66>             ;                                              0000* 00086
  2214. ;TPA$KEY
  2215. U.640:    .WORD   <U.639-U.66>             ;                                              0000* 00088
  2216. ;TPA$KEY
  2217. U.646:    .WORD   <U.645-U.66>             ;                                              0000* 0008A
  2218. ;TPA$KEY
  2219. U.652:    .WORD   <U.651-U.66>             ;                                              0000* 0008C
  2220. ;TPA$KEY
  2221. U.661:    .WORD   <U.660-U.66>             ;                                              0000* 0008E
  2222. ;TPA$KEY
  2223. U.669:    .WORD   <U.668-U.66>             ;                                              0000* 00090
  2224. ;TPA$KEY
  2225. U.677:    .WORD   <U.676-U.66>             ;                                              0000* 00092
  2226. ;TPA$KEY
  2227. U.689:    .WORD   <U.688-U.66>             ;                                              0000* 00094
  2228. ;TPA$KEY
  2229. U.697:    .WORD   <U.696-U.66>             ;                                              0000* 00096
  2230. ;TPA$KEY
  2231. U.705:    .WORD   <U.704-U.66>             ;                                              0000* 00098
  2232. ;TPA$KEY
  2233. U.713:    .WORD   <U.712-U.66>             ;                                              0000* 0009A
  2234. ;TPA$KEY
  2235. U.731:    .WORD   <U.730-U.66>             ;                                              0000* 0009C
  2236. ;TPA$KEY
  2237. U.739:    .WORD   <U.738-U.66>             ;                                              0000* 0009E
  2238. ;TPA$KEY
  2239. U.751:    .WORD   <U.750-U.66>             ;                                              0000* 000A0
  2240. ;TPA$KEY
  2241. U.757:    .WORD   <U.756-U.66>             ;                                              0000* 000A2
  2242. ;TPA$KEY
  2243. U.767:    .WORD   <U.766-U.66>             ;                                              0000* 000A4
  2244. ;TPA$KEY
  2245. U.775:    .WORD   <U.774-U.66>             ;                                              0000* 000A6
  2246. ;TPA$KEY
  2247. U.787:    .WORD   <U.786-U.66>             ;                                              0000* 000A8
  2248. ;TPA$KEY
  2249. U.795:    .WORD   <U.794-U.66>             ;                                              0000* 000AA
  2250. ;TPA$KEY
  2251. U.819:    .WORD   <U.818-U.66>             ;                                              0000* 000AC
  2252. ;TPA$KEY
  2253. U.825:    .WORD   <U.824-U.66>             ;                                              0000* 000AE
  2254. ;TPA$KEY
  2255. U.841:    .WORD   <U.840-U.66>             ;                                              0000* 000B0
  2256. ;TPA$KEY
  2257. U.849:    .WORD   <U.848-U.66>             ;                                              0000* 000B2
  2258. ;TPA$KEY
  2259. U.857:    .WORD   <U.856-U.66>             ;                                              0000* 000B4
  2260. ;TPA$KEY
  2261. U.865:    .WORD   <U.864-U.66>             ;                                              0000* 000B6
  2262. ;TPA$KEY
  2263. U.873:    .WORD   <U.872-U.66>             ;                                              0000* 000B8
  2264. ;TPA$KEY
  2265. U.885:    .WORD   <U.884-U.66>             ;                                              0000* 000BA
  2266. ;TPA$KEY
  2267. U.891:    .WORD   <U.890-U.66>             ;                                              0000* 000BC
  2268. ;TPA$KEY
  2269. U.897:    .WORD   <U.896-U.66>             ;                                              0000* 000BE
  2270. ;TPA$KEY
  2271. U.903:    .WORD   <U.902-U.66>             ;                                              0000* 000C0
  2272. ;TPA$KEY
  2273. U.909:    .WORD   <U.908-U.66>             ;                                              0000* 000C2
  2274. ;TPA$KEY
  2275. U.915:    .WORD   <U.914-U.66>             ;                                              0000* 000C4
  2276. ;TPA$KEY
  2277. U.921:    .WORD   <U.920-U.66>             ;                                              0000* 000C6
  2278. ;TPA$KEY
  2279. U.927:    .WORD   <U.926-U.66>             ;                                              0000* 000C8
  2280. ;TPA$KEY
  2281. U.968:    .WORD   <U.967-U.66>             ;                                              0000* 000CA
  2282. ;TPA$KEY
  2283. U.974:    .WORD   <U.973-U.66>             ;                                              0000* 000CC
  2284. ;TPA$KEY
  2285. U.980:    .WORD   <U.979-U.66>             ;                                              0000* 000CE
  2286. ;TPA$KEY
  2287. U.986:    .WORD   <U.985-U.66>             ;                                              0000* 000D0
  2288. ;TPA$KEY
  2289. U.992:    .WORD   <U.991-U.66>             ;                                              0000* 000D2
  2290. ;TPA$KEY
  2291. U.998:    .WORD   <U.997-U.66>             ;                                              0000* 000D4
  2292. ;TPA$KEY
  2293. U.1004: .WORD   <U.1003-U.66>             ;                                              0000* 000D6
  2294. ;TPA$KEY
  2295. U.1044: .WORD   <U.1043-U.66>             ;                                              0000* 000D8
  2296. ;TPA$KEY
  2297. U.1050: .WORD   <U.1049-U.66>             ;                                              0000* 000DA
  2298. ;TPA$KEY
  2299. U.1064: .WORD   <U.1063-U.66>             ;                                              0000* 000DC
  2300. ;TPA$KEY
  2301. U.1072: .WORD   <U.1071-U.66>             ;                                              0000* 000DE
  2302. ;TPA$KEY
  2303. U.1092: .WORD   <U.1091-U.66>             ;                                              0000* 000E0
  2304. ;TPA$KEY
  2305. U.1099: .WORD   <U.1098-U.66>             ;                                              0000* 000E2
  2306. ;TPA$KEY
  2307. U.1106: .WORD   <U.1105-U.66>             ;                                              0000* 000E4
  2308. ;TPA$KEY
  2309. U.1113: .WORD   <U.1112-U.66>             ;                                              0000* 000E6
  2310. ;TPA$KEY
  2311. U.1120: .WORD   <U.1119-U.66>             ;                                              0000* 000E8
  2312. ;TPA$KEY
  2313. U.1127: .WORD   <U.1126-U.66>             ;                                              0000* 000EA
  2314. ;TPA$KEY
  2315. U.1134: .WORD   <U.1133-U.66>             ;                                              0000* 000EC
  2316. ;TPA$KEY
  2317. U.1141: .WORD   <U.1140-U.66>             ;                                              0000* 000EE
  2318. ;TPA$KEY
  2319. U.1148: .WORD   <U.1147-U.66>             ;                                              0000* 000F0
  2320. ;TPA$KEY
  2321. U.1155: .WORD   <U.1154-U.66>             ;                                              0000* 000F2
  2322. ;TPA$KEY
  2323. U.1162: .WORD   <U.1161-U.66>             ;                                              0000* 000F4
  2324. ;TPA$KEY
  2325. U.1169: .WORD   <U.1168-U.66>             ;                                              0000* 000F6
  2326. ;TPA$KEY
  2327. U.1176: .WORD   <U.1175-U.66>             ;                                              0000* 000F8
  2328. ;TPA$KEY
  2329. U.1183: .WORD   <U.1182-U.66>             ;                                              0000* 000FA
  2330. ;TPA$KEY
  2331. U.1190: .WORD   <U.1189-U.66>             ;                                              0000* 000FC
  2332. ;TPA$KEY
  2333. U.1197: .WORD   <U.1196-U.66>             ;                                              0000* 000FE
  2334. ;TPA$KEY
  2335. U.1204: .WORD   <U.1203-U.66>             ;                                              0000* 00100
  2336. ;TPA$KEY
  2337. U.1211: .WORD   <U.1210-U.66>             ;                                              0000* 00102
  2338. ;TPA$KEY
  2339. U.1222: .WORD   <U.1221-U.66>             ;                                              0000* 00104
  2340. ;TPA$KEY
  2341. U.1228: .WORD   <U.1227-U.66>             ;                                              0000* 00106
  2342. ;TPA$KEY
  2343. U.1234: .WORD   <U.1233-U.66>             ;                                              0000* 00108
  2344. ;TPA$KEY
  2345. U.1282: .WORD   <U.1281-U.66>             ;                                              0000* 0010A
  2346.  
  2347.     .PSECT  _LIB$STATE$,NOWRT,  SHR,  PIC,1
  2348.  
  2349. KERMIT_STATE::
  2350.     .BLKB   0                                       ;                      00000
  2351. ;START
  2352. U.68:    .BLKB   0                                       ;                      00000
  2353. ;TPA$TYPE
  2354. U.72:    .WORD   28928                 ;                                              7100  00000
  2355. ;TPA$ADDR
  2356. U.73:    .LONG   <<U.49-U.73>-4>             ;                                              00000000* 00002
  2357. ;TPA$MASK
  2358. U.74:    .LONG   11                 ;                                              0000000B  00006
  2359. ;TPA$TARGET
  2360. U.76:    .WORD   <<U.75-U.76>-2>             ;                                              0000* 0000A
  2361. ;TPA$TYPE
  2362. U.80:    .WORD   28929                 ;                                              7101  0000C
  2363. ;TPA$ADDR
  2364. U.81:    .LONG   <<U.49-U.81>-4>             ;                                              00000000* 0000E
  2365. ;TPA$MASK
  2366. U.82:    .LONG   1                 ;                                              00000001  00012
  2367. ;TPA$TARGET
  2368. U.84:    .WORD   <<U.83-U.84>-2>             ;                                              0000* 00016
  2369. ;TPA$TYPE
  2370. U.88:    .WORD   28930                 ;                                              7102  00018
  2371. ;TPA$ADDR
  2372. U.89:    .LONG   <<U.49-U.89>-4>             ;                                              00000000* 0001A
  2373. ;TPA$MASK
  2374. U.90:    .LONG   2                 ;                                              00000002  0001E
  2375. ;TPA$TARGET
  2376. U.91:    .WORD   <<U.75-U.91>-2>             ;                                              0000* 00022
  2377. ;TPA$TYPE
  2378. U.95:    .WORD   28931                 ;                                              7103  00024
  2379. ;TPA$ADDR
  2380. U.96:    .LONG   <<U.49-U.96>-4>             ;                                              00000000* 00026
  2381. ;TPA$MASK
  2382. U.97:    .LONG   12                 ;                                              0000000C  0002A
  2383. ;TPA$TARGET
  2384. U.98:    .WORD   <<U.75-U.98>-2>             ;                                              0000* 0002E
  2385. ;TPA$TYPE
  2386. U.102:    .WORD   28932                 ;                                              7104  00030
  2387. ;TPA$ADDR
  2388. U.103:    .LONG   <<U.49-U.103>-4>         ;                                              00000000* 00032
  2389. ;TPA$MASK
  2390. U.104:    .LONG   13                 ;                                              0000000D  00036
  2391. ;TPA$TARGET
  2392. U.106:    .WORD   <<U.105-U.106>-2>         ;                                              0000* 0003A
  2393. ;TPA$TYPE
  2394. U.110:    .WORD   28933                 ;                                              7105  0003C
  2395. ;TPA$ADDR
  2396. U.111:    .LONG   <<U.49-U.111>-4>         ;                                              00000000* 0003E
  2397. ;TPA$MASK
  2398. U.112:    .LONG   3                 ;                                              00000003  00042
  2399. ;TPA$TARGET
  2400. U.114:    .WORD   <<U.113-U.114>-2>         ;                                              0000* 00046
  2401. ;TPA$TYPE
  2402. U.118:    .WORD   28934                 ;                                              7106  00048
  2403. ;TPA$ADDR
  2404. U.119:    .LONG   <<U.49-U.119>-4>         ;                                              00000000* 0004A
  2405. ;TPA$MASK
  2406. U.120:    .LONG   15                 ;                                              0000000F  0004E
  2407. ;TPA$TARGET
  2408. U.122:    .WORD   <<U.121-U.122>-2>         ;                                              0000* 00052
  2409. ;TPA$TYPE
  2410. U.126:    .WORD   28935                 ;                                              7107  00054
  2411. ;TPA$ADDR
  2412. U.127:    .LONG   <<U.49-U.127>-4>         ;                                              00000000* 00056
  2413. ;TPA$MASK
  2414. U.128:    .LONG   17                 ;                                              00000011  0005A
  2415. ;TPA$TARGET
  2416. U.130:    .WORD   <<U.129-U.130>-2>         ;                                              0000* 0005E
  2417. ;TPA$TYPE
  2418. U.134:    .WORD   28936                 ;                                              7108  00060
  2419. ;TPA$ADDR
  2420. U.135:    .LONG   <<U.49-U.135>-4>         ;                                              00000000* 00062
  2421. ;TPA$MASK
  2422. U.136:    .LONG   10                 ;                                              0000000A  00066
  2423. ;TPA$TARGET
  2424. U.137:    .WORD   <<U.75-U.137>-2>         ;                                              0000* 0006A
  2425. ;TPA$TYPE
  2426. U.141:    .WORD   28937                 ;                                              7109  0006C
  2427. ;TPA$ADDR
  2428. U.142:    .LONG   <<U.49-U.142>-4>         ;                                              00000000* 0006E
  2429. ;TPA$MASK
  2430. U.143:    .LONG   16                 ;                                              00000010  00072
  2431. ;TPA$TARGET
  2432. U.144:    .WORD   <<U.75-U.144>-2>         ;                                              0000* 00076
  2433. ;TPA$TYPE
  2434. U.148:    .WORD   28938                 ;                                              710A  00078
  2435. ;TPA$ADDR
  2436. U.149:    .LONG   <<U.49-U.149>-4>         ;                                              00000000* 0007A
  2437. ;TPA$MASK
  2438. U.150:    .LONG   2                 ;                                              00000002  0007E
  2439. ;TPA$TARGET
  2440. U.151:    .WORD   <<U.75-U.151>-2>         ;                                              0000* 00082
  2441. ;TPA$TYPE
  2442. U.155:    .WORD   28939                 ;                                              710B  00084
  2443. ;TPA$ADDR
  2444. U.156:    .LONG   <<U.49-U.156>-4>         ;                                              00000000* 00086
  2445. ;TPA$MASK
  2446. U.157:    .LONG   4                 ;                                              00000004  0008A
  2447. ;TPA$TARGET
  2448. U.159:    .WORD   <<U.158-U.159>-2>         ;                                              0000* 0008E
  2449. ;TPA$TYPE
  2450. U.163:    .WORD   28940                 ;                                              710C  00090
  2451. ;TPA$ADDR
  2452. U.164:    .LONG   <<U.49-U.164>-4>         ;                                              00000000* 00092
  2453. ;TPA$MASK
  2454. U.165:    .LONG   14                 ;                                              0000000E  00096
  2455. ;TPA$TARGET
  2456. U.166:    .WORD   <<U.121-U.166>-2>         ;                                              0000* 0009A
  2457. ;TPA$TYPE
  2458. U.170:    .WORD   28941                 ;                                              710D  0009C
  2459. ;TPA$ADDR
  2460. U.171:    .LONG   <<U.49-U.171>-4>         ;                                              00000000* 0009E
  2461. ;TPA$MASK
  2462. U.172:    .LONG   5                 ;                                              00000005  000A2
  2463. ;TPA$TARGET
  2464. U.174:    .WORD   <<U.173-U.174>-2>         ;                                              0000* 000A6
  2465. ;TPA$TYPE
  2466. U.178:    .WORD   28942                 ;                                              710E  000A8
  2467. ;TPA$ADDR
  2468. U.179:    .LONG   <<U.49-U.179>-4>         ;                                              00000000* 000AA
  2469. ;TPA$MASK
  2470. U.180:    .LONG   6                 ;                                              00000006  000AE
  2471. ;TPA$TARGET
  2472. U.182:    .WORD   <<U.181-U.182>-2>         ;                                              0000* 000B2
  2473. ;TPA$TYPE
  2474. U.186:    .WORD   28943                 ;                                              710F  000B4
  2475. ;TPA$ADDR
  2476. U.187:    .LONG   <<U.49-U.187>-4>         ;                                              00000000* 000B6
  2477. ;TPA$MASK
  2478. U.188:    .LONG   8                 ;                                              00000008  000BA
  2479. ;TPA$TARGET
  2480. U.189:    .WORD   <<U.75-U.189>-2>         ;                                              0000* 000BE
  2481. ;TPA$TYPE
  2482. U.193:    .WORD   28944                 ;                                              7110  000C0
  2483. ;TPA$ADDR
  2484. U.194:    .LONG   <<U.49-U.194>-4>         ;                                              00000000* 000C2
  2485. ;TPA$MASK
  2486. U.195:    .LONG   7                 ;                                              00000007  000C6
  2487. ;TPA$TARGET
  2488. U.197:    .WORD   <<U.196-U.197>-2>         ;                                              0000* 000CA
  2489. ;TPA$TYPE
  2490. U.201:    .WORD   28945                 ;                                              7111  000CC
  2491. ;TPA$ADDR
  2492. U.202:    .LONG   <<U.49-U.202>-4>         ;                                              00000000* 000CE
  2493. ;TPA$MASK
  2494. U.203:    .LONG   9                 ;                                              00000009  000D2
  2495. ;TPA$TARGET
  2496. U.204:    .WORD   <<U.75-U.204>-2>         ;                                              0000* 000D6
  2497. ;TPA$TYPE
  2498. U.208:    .WORD   28946                 ;                                              7112  000D8
  2499. ;TPA$ADDR
  2500. U.209:    .LONG   <<U.49-U.209>-4>         ;                                              00000000* 000DA
  2501. ;TPA$MASK
  2502. U.210:    .LONG   18                 ;                                              00000012  000DE
  2503. ;TPA$TARGET
  2504. U.212:    .WORD   <<U.211-U.212>-2>         ;                                              0000* 000E2
  2505. ;TPA$TYPE
  2506. U.213:    .WORD   28736                 ;                                              7040  000E4
  2507. ;TPA$ADDR
  2508. U.214:    .LONG   <<U.49-U.214>-4>         ;                                              00000000* 000E6
  2509. ;TPA$MASK
  2510. U.215:    .LONG   18                 ;                                              00000012  000EA
  2511. ;TPA$TARGET
  2512. U.216:    .WORD   <<U.211-U.216>-2>         ;                                              0000* 000EE
  2513. ;TPA$TYPE
  2514. U.220:    .WORD   28947                 ;                                              7113  000F0
  2515. ;TPA$ADDR
  2516. U.221:    .LONG   <<U.49-U.221>-4>         ;                                              00000000* 000F2
  2517. ;TPA$MASK
  2518. U.222:    .LONG   19                 ;                                              00000013  000F6
  2519. ;TPA$TARGET
  2520. U.224:    .WORD   <<U.223-U.224>-2>         ;                                              0000* 000FA
  2521. ;TPA$TYPE
  2522. U.225:    .WORD   -27151                 ;                                              95F1  000FC
  2523. ;TPA$ACTION
  2524. U.226:    .LONG   <<U.36-U.226>-4>         ;                                              00000000V 000FE
  2525. ;TPA$TARGET
  2526. U.227:    .WORD   -2                 ;                                              FFFE  00102
  2527. ;CONN_STATE
  2528. U.83:    .BLKB   0                                       ;                      00104
  2529. ;TPA$TYPE
  2530. U.229:    .WORD   4599                 ;                                              11F7  00104
  2531. ;TPA$TARGET
  2532. U.230:    .WORD   <<U.75-U.230>-2>         ;                                              0000* 00106
  2533. ;TPA$TYPE
  2534. U.231:    .WORD   5622                 ;                                              15F6  00108
  2535. ;TPA$TARGET
  2536. U.233:    .WORD   <<U.232-U.233>-2>         ;                                              0000* 0010A
  2537. ;HELP_STATE
  2538. U.113:    .BLKB   0                                       ;                      0010C
  2539. ;TPA$TYPE
  2540. U.234:    .WORD   -28179                 ;                                              91ED  0010C
  2541. ;TPA$ACTION
  2542. U.235:    .LONG   <<U.12-U.235>-4>         ;                                              00000000V 0010E
  2543. ;TPA$TARGET
  2544. U.236:    .WORD   <<U.113-U.236>-2>         ;                                              0000* 00112
  2545. ;TPA$TYPE
  2546. U.237:    .WORD   5622                 ;                                              15F6  00114
  2547. ;TPA$TARGET
  2548. U.238:    .WORD   <<U.75-U.238>-2>         ;                                              0000* 00116
  2549. ;GET_STATE
  2550. U.105:    .BLKB   0                                       ;                      00118
  2551. ;TPA$TYPE
  2552. U.239:    .WORD   -28179                 ;                                              91ED  00118
  2553. ;TPA$ACTION
  2554. U.240:    .LONG   <<U.12-U.240>-4>         ;                                              00000000V 0011A
  2555. ;TPA$TARGET
  2556. U.241:    .WORD   <<U.105-U.241>-2>         ;                                              0000* 0011E
  2557. ;TPA$TYPE
  2558. U.242:    .WORD   -26634                 ;                                              97F6  00120
  2559. ;TPA$FLAGS2
  2560. U.243:    .BYTE   1                 ;                                                01  00122
  2561. ;TPA$PARAM
  2562. U.244:    .ADDRESS FILE_DESC             ;                                              00000000G 00123
  2563. ;TPA$ACTION
  2564. U.245:    .LONG   <<U.14-U.245>-4>         ;                                              00000000V 00127
  2565. ;TPA$TARGET
  2566. U.246:    .WORD   <<U.75-U.246>-2>         ;                                              0000* 0012B
  2567. ;REC_STATE
  2568. U.158:    .BLKB   0                                       ;                      0012D
  2569. ;TPA$TYPE
  2570. U.247:    .WORD   -28179                 ;                                              91ED  0012D
  2571. ;TPA$ACTION
  2572. U.248:    .LONG   <<U.12-U.248>-4>         ;                                              00000000V 0012F
  2573. ;TPA$TARGET
  2574. U.250:    .WORD   <<U.249-U.250>-2>         ;                                              0000* 00133
  2575. ;TPA$TYPE
  2576. U.251:    .WORD   5622                 ;                                              15F6  00135
  2577. ;TPA$TARGET
  2578. U.252:    .WORD   <<U.75-U.252>-2>         ;                                              0000* 00137
  2579. ;REC1_STATE
  2580. U.249:    .BLKB   0                                       ;                      00139
  2581. ;TPA$TYPE
  2582. U.253:    .WORD   -28179                 ;                                              91ED  00139
  2583. ;TPA$ACTION
  2584. U.254:    .LONG   <<U.12-U.254>-4>         ;                                              00000000V 0013B
  2585. ;TPA$TARGET
  2586. U.255:    .WORD   <<U.249-U.255>-2>         ;                                              0000* 0013F
  2587. ;TPA$TYPE
  2588. U.256:    .WORD   -27146                 ;                                              95F6  00141
  2589. ;TPA$ACTION
  2590. U.257:    .LONG   <<U.15-U.257>-4>         ;                                              00000000V 00143
  2591. ;TPA$TARGET
  2592. U.258:    .WORD   <<U.75-U.258>-2>         ;                                              0000* 00147
  2593. ;REM_STATE
  2594. U.121:    .BLKB   0                                       ;                      00149
  2595. ;TPA$TYPE
  2596. U.262:    .WORD   28948                 ;                                              7114  00149
  2597. ;TPA$ADDR
  2598. U.263:    .LONG   <<U.51-U.263>-4>         ;                                              00000000* 0014B
  2599. ;TPA$MASK
  2600. U.264:    .LONG   11                 ;                                              0000000B  0014F
  2601. ;TPA$TARGET
  2602. U.266:    .WORD   <<U.265-U.266>-2>         ;                                              0000* 00153
  2603. ;TPA$TYPE
  2604. U.270:    .WORD   28949                 ;                                              7115  00155
  2605. ;TPA$ADDR
  2606. U.271:    .LONG   <<U.51-U.271>-4>         ;                                              00000000* 00157
  2607. ;TPA$MASK
  2608. U.272:    .LONG   9                 ;                                              00000009  0015B
  2609. ;TPA$TARGET
  2610. U.274:    .WORD   <<U.273-U.274>-2>         ;                                              0000* 0015F
  2611. ;TPA$TYPE
  2612. U.278:    .WORD   28950                 ;                                              7116  00161
  2613. ;TPA$ADDR
  2614. U.279:    .LONG   <<U.51-U.279>-4>         ;                                              00000000* 00163
  2615. ;TPA$MASK
  2616. U.280:    .LONG   4                 ;                                              00000004  00167
  2617. ;TPA$TARGET
  2618. U.281:    .WORD   <<U.265-U.281>-2>         ;                                              0000* 0016B
  2619. ;TPA$TYPE
  2620. U.285:    .WORD   28951                 ;                                              7117  0016D
  2621. ;TPA$ADDR
  2622. U.286:    .LONG   <<U.51-U.286>-4>         ;                                              00000000* 0016F
  2623. ;TPA$MASK
  2624. U.287:    .LONG   2                 ;                                              00000002  00173
  2625. ;TPA$TARGET
  2626. U.288:    .WORD   <<U.273-U.288>-2>         ;                                              0000* 00177
  2627. ;TPA$TYPE
  2628. U.292:    .WORD   28952                 ;                                              7118  00179
  2629. ;TPA$ADDR
  2630. U.293:    .LONG   <<U.51-U.293>-4>         ;                                              00000000* 0017B
  2631. ;TPA$MASK
  2632. U.294:    .LONG   3                 ;                                              00000003  0017F
  2633. ;TPA$TARGET
  2634. U.295:    .WORD   <<U.273-U.295>-2>         ;                                              0000* 00183
  2635. ;TPA$TYPE
  2636. U.299:    .WORD   28953                 ;                                              7119  00185
  2637. ;TPA$ADDR
  2638. U.300:    .LONG   <<U.51-U.300>-4>         ;                                              00000000* 00187
  2639. ;TPA$MASK
  2640. U.301:    .LONG   1                 ;                                              00000001  0018B
  2641. ;TPA$TARGET
  2642. U.302:    .WORD   <<U.75-U.302>-2>         ;                                              0000* 0018F
  2643. ;TPA$TYPE
  2644. U.306:    .WORD   28954                 ;                                              711A  00191
  2645. ;TPA$ADDR
  2646. U.307:    .LONG   <<U.51-U.307>-4>         ;                                              00000000* 00193
  2647. ;TPA$MASK
  2648. U.308:    .LONG   6                 ;                                              00000006  00197
  2649. ;TPA$TARGET
  2650. U.309:    .WORD   <<U.273-U.309>-2>         ;                                              0000* 0019B
  2651. ;TPA$TYPE
  2652. U.313:    .WORD   28955                 ;                                              711B  0019D
  2653. ;TPA$ADDR
  2654. U.314:    .LONG   <<U.51-U.314>-4>         ;                                              00000000* 0019F
  2655. ;TPA$MASK
  2656. U.315:    .LONG   15                 ;                                              0000000F  001A3
  2657. ;TPA$TARGET
  2658. U.316:    .WORD   <<U.265-U.316>-2>         ;                                              0000* 001A7
  2659. ;TPA$TYPE
  2660. U.320:    .WORD   28956                 ;                                              711C  001A9
  2661. ;TPA$ADDR
  2662. U.321:    .LONG   <<U.51-U.321>-4>         ;                                              00000000* 001AB
  2663. ;TPA$MASK
  2664. U.322:    .LONG   8                 ;                                              00000008  001AF
  2665. ;TPA$TARGET
  2666. U.323:    .WORD   <<U.265-U.323>-2>         ;                                              0000* 001B3
  2667. ;TPA$TYPE
  2668. U.327:    .WORD   28957                 ;                                              711D  001B5
  2669. ;TPA$ADDR
  2670. U.328:    .LONG   <<U.51-U.328>-4>         ;                                              00000000* 001B7
  2671. ;TPA$MASK
  2672. U.329:    .LONG   7                 ;                                              00000007  001BB
  2673. ;TPA$TARGET
  2674. U.330:    .WORD   <<U.75-U.330>-2>         ;                                              0000* 001BF
  2675. ;TPA$TYPE
  2676. U.334:    .WORD   28958                 ;                                              711E  001C1
  2677. ;TPA$ADDR
  2678. U.335:    .LONG   <<U.51-U.335>-4>         ;                                              00000000* 001C3
  2679. ;TPA$MASK
  2680. U.336:    .LONG   10                 ;                                              0000000A  001C7
  2681. ;TPA$TARGET
  2682. U.337:    .WORD   <<U.265-U.337>-2>         ;                                              0000* 001CB
  2683. ;TPA$TYPE
  2684. U.341:    .WORD   28959                 ;                                              711F  001CD
  2685. ;TPA$ADDR
  2686. U.342:    .LONG   <<U.51-U.342>-4>         ;                                              00000000* 001CF
  2687. ;TPA$MASK
  2688. U.343:    .LONG   13                 ;                                              0000000D  001D3
  2689. ;TPA$TARGET
  2690. U.344:    .WORD   <<U.265-U.344>-2>         ;                                              0000* 001D7
  2691. ;TPA$TYPE
  2692. U.348:    .WORD   28960                 ;                                              7120  001D9
  2693. ;TPA$ADDR
  2694. U.349:    .LONG   <<U.51-U.349>-4>         ;                                              00000000* 001DB
  2695. ;TPA$MASK
  2696. U.350:    .LONG   3                 ;                                              00000003  001DF
  2697. ;TPA$TARGET
  2698. U.351:    .WORD   <<U.273-U.351>-2>         ;                                              0000* 001E3
  2699. ;TPA$TYPE
  2700. U.355:    .WORD   28961                 ;                                              7121  001E5
  2701. ;TPA$ADDR
  2702. U.356:    .LONG   <<U.51-U.356>-4>         ;                                              00000000* 001E7
  2703. ;TPA$MASK
  2704. U.357:    .LONG   14                 ;                                              0000000E  001EB
  2705. ;TPA$TARGET
  2706. U.358:    .WORD   <<U.75-U.358>-2>         ;                                              0000* 001EF
  2707. ;TPA$TYPE
  2708. U.362:    .WORD   28962                 ;                                              7122  001F1
  2709. ;TPA$ADDR
  2710. U.363:    .LONG   <<U.51-U.363>-4>         ;                                              00000000* 001F3
  2711. ;TPA$MASK
  2712. U.364:    .LONG   5                 ;                                              00000005  001F7
  2713. ;TPA$TARGET
  2714. U.365:    .WORD   <<U.265-U.365>-2>         ;                                              0000* 001FB
  2715. ;TPA$TYPE
  2716. U.369:    .WORD   28963                 ;                                              7123  001FD
  2717. ;TPA$ADDR
  2718. U.370:    .LONG   <<U.51-U.370>-4>         ;                                              00000000* 001FF
  2719. ;TPA$MASK
  2720. U.371:    .LONG   12                 ;                                              0000000C  00203
  2721. ;TPA$TARGET
  2722. U.372:    .WORD   <<U.273-U.372>-2>         ;                                              0000* 00207
  2723. ;TPA$TYPE
  2724. U.373:    .WORD   -27151                 ;                                              95F1  00209
  2725. ;TPA$ACTION
  2726. U.374:    .LONG   <<U.36-U.374>-4>         ;                                              00000000V 0020B
  2727. ;TPA$TARGET
  2728. U.375:    .WORD   -2                 ;                                              FFFE  0020F
  2729. ;REM1_STATE
  2730. U.273:    .BLKB   0                                       ;                      00211
  2731. ;TPA$TYPE
  2732. U.377:    .WORD   -28179                 ;                                              91ED  00211
  2733. ;TPA$ACTION
  2734. U.378:    .LONG   <<U.12-U.378>-4>         ;                                              00000000V 00213
  2735. ;TPA$TARGET
  2736. U.379:    .WORD   <<U.265-U.379>-2>         ;                                              0000* 00217
  2737. ;TPA$TYPE
  2738. U.380:    .WORD   5622                 ;                                              15F6  00219
  2739. ;TPA$TARGET
  2740. U.381:    .WORD   <<U.75-U.381>-2>         ;                                              0000* 0021B
  2741. ;REM2_STATE
  2742. U.265:    .BLKB   0                                       ;                      0021D
  2743. ;TPA$TYPE
  2744. U.382:    .WORD   -28179                 ;                                              91ED  0021D
  2745. ;TPA$ACTION
  2746. U.383:    .LONG   <<U.12-U.383>-4>         ;                                              00000000V 0021F
  2747. ;TPA$TARGET
  2748. U.384:    .WORD   <<U.265-U.384>-2>         ;                                              0000* 00223
  2749. ;TPA$TYPE
  2750. U.385:    .WORD   -27146                 ;                                              95F6  00225
  2751. ;TPA$ACTION
  2752. U.386:    .LONG   <<U.16-U.386>-4>         ;                                              00000000V 00227
  2753. ;TPA$TARGET
  2754. U.387:    .WORD   <<U.75-U.387>-2>         ;                                              0000* 0022B
  2755. ;SET_STATE
  2756. U.173:    .BLKB   0                                       ;                      0022D
  2757. ;TPA$TYPE
  2758. U.391:    .WORD   4388                 ;                                              1124  0022D
  2759. ;TPA$TARGET
  2760. U.393:    .WORD   <<U.392-U.393>-2>         ;                                              0000* 0022F
  2761. ;TPA$TYPE
  2762. U.397:    .WORD   4389                 ;                                              1125  00231
  2763. ;TPA$TARGET
  2764. U.399:    .WORD   <<U.398-U.399>-2>         ;                                              0000* 00233
  2765. ;TPA$TYPE
  2766. U.403:    .WORD   4390                 ;                                              1126  00235
  2767. ;TPA$TARGET
  2768. U.405:    .WORD   <<U.404-U.405>-2>         ;                                              0000* 00237
  2769. ;TPA$TYPE
  2770. U.409:    .WORD   4391                 ;                                              1127  00239
  2771. ;TPA$TARGET
  2772. U.411:    .WORD   <<U.410-U.411>-2>         ;                                              0000* 0023B
  2773. ;TPA$TYPE
  2774. U.415:    .WORD   4392                 ;                                              1128  0023D
  2775. ;TPA$TARGET
  2776. U.417:    .WORD   <<U.416-U.417>-2>         ;                                              0000* 0023F
  2777. ;TPA$TYPE
  2778. U.421:    .WORD   4393                 ;                                              1129  00241
  2779. ;TPA$TARGET
  2780. U.423:    .WORD   <<U.422-U.423>-2>         ;                                              0000* 00243
  2781. ;TPA$TYPE
  2782. U.427:    .WORD   4394                 ;                                              112A  00245
  2783. ;TPA$TARGET
  2784. U.429:    .WORD   <<U.428-U.429>-2>         ;                                              0000* 00247
  2785. ;TPA$TYPE
  2786. U.433:    .WORD   4395                 ;                                              112B  00249
  2787. ;TPA$TARGET
  2788. U.435:    .WORD   <<U.434-U.435>-2>         ;                                              0000* 0024B
  2789. ;TPA$TYPE
  2790. U.439:    .WORD   4396                 ;                                              112C  0024D
  2791. ;TPA$TARGET
  2792. U.440:    .WORD   <<U.232-U.440>-2>         ;                                              0000* 0024F
  2793. ;TPA$TYPE
  2794. U.444:    .WORD   4397                 ;                                              112D  00251
  2795. ;TPA$TARGET
  2796. U.446:    .WORD   <<U.445-U.446>-2>         ;                                              0000* 00253
  2797. ;TPA$TYPE
  2798. U.450:    .WORD   4398                 ;                                              112E  00255
  2799. ;TPA$TARGET
  2800. U.452:    .WORD   <<U.451-U.452>-2>         ;                                              0000* 00257
  2801. ;TPA$TYPE
  2802. U.456:    .WORD   4399                 ;                                              112F  00259
  2803. ;TPA$TARGET
  2804. U.458:    .WORD   <<U.457-U.458>-2>         ;                                              0000* 0025B
  2805. ;TPA$TYPE
  2806. U.462:    .WORD   4400                 ;                                              1130  0025D
  2807. ;TPA$TARGET
  2808. U.464:    .WORD   <<U.463-U.464>-2>         ;                                              0000* 0025F
  2809. ;TPA$TYPE
  2810. U.468:    .WORD   4401                 ;                                              1131  00261
  2811. ;TPA$TARGET
  2812. U.470:    .WORD   <<U.469-U.470>-2>         ;                                              0000* 00263
  2813. ;TPA$TYPE
  2814. U.474:    .WORD   4402                 ;                                              1132  00265
  2815. ;TPA$TARGET
  2816. U.476:    .WORD   <<U.475-U.476>-2>         ;                                              0000* 00267
  2817. ;TPA$TYPE
  2818. U.480:    .WORD   4403                 ;                                              1133  00269
  2819. ;TPA$TARGET
  2820. U.482:    .WORD   <<U.481-U.482>-2>         ;                                              0000* 0026B
  2821. ;TPA$TYPE
  2822. U.486:    .WORD   4404                 ;                                              1134  0026D
  2823. ;TPA$TARGET
  2824. U.488:    .WORD   <<U.487-U.488>-2>         ;                                              0000* 0026F
  2825. ;TPA$TYPE
  2826. U.492:    .WORD   4405                 ;                                              1135  00271
  2827. ;TPA$TARGET
  2828. U.494:    .WORD   <<U.493-U.494>-2>         ;                                              0000* 00273
  2829. ;TPA$TYPE
  2830. U.498:    .WORD   4406                 ;                                              1136  00275
  2831. ;TPA$TARGET
  2832. U.500:    .WORD   <<U.499-U.500>-2>         ;                                              0000* 00277
  2833. ;TPA$TYPE
  2834. U.501:    .WORD   -27151                 ;                                              95F1  00279
  2835. ;TPA$ACTION
  2836. U.502:    .LONG   <<U.36-U.502>-4>         ;                                              00000000V 0027B
  2837. ;TPA$TARGET
  2838. U.503:    .WORD   -2                 ;                                              FFFE  0027F
  2839. ;SET_ABT_STATE
  2840. U.434:    .BLKB   0                                       ;                      00281
  2841. ;TPA$TYPE
  2842. U.508:    .WORD   -27849                 ;                                              9337  00281
  2843. ;TPA$FLAGS2
  2844. U.509:    .BYTE   1                 ;                                                01  00283
  2845. ;TPA$PARAM
  2846. U.510:    .LONG   1                 ;                                              00000001  00284
  2847. ;TPA$ACTION
  2848. U.511:    .LONG   <<U.26-U.511>-4>         ;                                              00000000V 00288
  2849. ;TPA$TARGET
  2850. U.512:    .WORD   <<U.75-U.512>-2>         ;                                              0000* 0028C
  2851. ;TPA$TYPE
  2852. U.516:    .WORD   -27848                 ;                                              9338  0028E
  2853. ;TPA$FLAGS2
  2854. U.517:    .BYTE   1                 ;                                                01  00290
  2855. ;TPA$PARAM
  2856. U.518:    .LONG   0                 ;                                              00000000  00291
  2857. ;TPA$ACTION
  2858. U.519:    .LONG   <<U.26-U.519>-4>         ;                                              00000000V 00295
  2859. ;TPA$TARGET
  2860. U.520:    .WORD   <<U.75-U.520>-2>         ;                                              0000* 00299
  2861. ;TPA$TYPE
  2862. U.521:    .WORD   -27151                 ;                                              95F1  0029B
  2863. ;TPA$ACTION
  2864. U.522:    .LONG   <<U.36-U.522>-4>         ;                                              00000000V 0029D
  2865. ;TPA$TARGET
  2866. U.523:    .WORD   -2                 ;                                              FFFE  002A1
  2867. ;SET_CHK_STATE
  2868. U.392:    .BLKB   0                                       ;                      002A3
  2869. ;TPA$TYPE
  2870. U.528:    .WORD   -27847                 ;                                              9339  002A3
  2871. ;TPA$FLAGS2
  2872. U.529:    .BYTE   1                 ;                                                01  002A5
  2873. ;TPA$PARAM
  2874. U.530:    .LONG   49                 ;                                              00000031  002A6
  2875. ;TPA$ACTION
  2876. U.531:    .LONG   <<U.25-U.531>-4>         ;                                              00000000V 002AA
  2877. ;TPA$TARGET
  2878. U.532:    .WORD   <<U.75-U.532>-2>         ;                                              0000* 002AE
  2879. ;TPA$TYPE
  2880. U.536:    .WORD   -27846                 ;                                              933A  002B0
  2881. ;TPA$FLAGS2
  2882. U.537:    .BYTE   1                 ;                                                01  002B2
  2883. ;TPA$PARAM
  2884. U.538:    .LONG   50                 ;                                              00000032  002B3
  2885. ;TPA$ACTION
  2886. U.539:    .LONG   <<U.25-U.539>-4>         ;                                              00000000V 002B7
  2887. ;TPA$TARGET
  2888. U.540:    .WORD   <<U.75-U.540>-2>         ;                                              0000* 002BB
  2889. ;TPA$TYPE
  2890. U.544:    .WORD   -27845                 ;                                              933B  002BD
  2891. ;TPA$FLAGS2
  2892. U.545:    .BYTE   1                 ;                                                01  002BF
  2893. ;TPA$PARAM
  2894. U.546:    .LONG   51                 ;                                              00000033  002C0
  2895. ;TPA$ACTION
  2896. U.547:    .LONG   <<U.25-U.547>-4>         ;                                              00000000V 002C4
  2897. ;TPA$TARGET
  2898. U.548:    .WORD   <<U.75-U.548>-2>         ;                                              0000* 002C8
  2899. ;TPA$TYPE
  2900. U.552:    .WORD   -27844                 ;                                              933C  002CA
  2901. ;TPA$FLAGS2
  2902. U.553:    .BYTE   1                 ;                                                01  002CC
  2903. ;TPA$PARAM
  2904. U.554:    .LONG   49                 ;                                              00000031  002CD
  2905. ;TPA$ACTION
  2906. U.555:    .LONG   <<U.25-U.555>-4>         ;                                              00000000V 002D1
  2907. ;TPA$TARGET
  2908. U.556:    .WORD   <<U.75-U.556>-2>         ;                                              0000* 002D5
  2909. ;TPA$TYPE
  2910. U.560:    .WORD   -27843                 ;                                              933D  002D7
  2911. ;TPA$FLAGS2
  2912. U.561:    .BYTE   1                 ;                                                01  002D9
  2913. ;TPA$PARAM
  2914. U.562:    .LONG   51                 ;                                              00000033  002DA
  2915. ;TPA$ACTION
  2916. U.563:    .LONG   <<U.25-U.563>-4>         ;                                              00000000V 002DE
  2917. ;TPA$TARGET
  2918. U.564:    .WORD   <<U.75-U.564>-2>         ;                                              0000* 002E2
  2919. ;TPA$TYPE
  2920. U.568:    .WORD   -27842                 ;                                              933E  002E4
  2921. ;TPA$FLAGS2
  2922. U.569:    .BYTE   1                 ;                                                01  002E6
  2923. ;TPA$PARAM
  2924. U.570:    .LONG   50                 ;                                              00000032  002E7
  2925. ;TPA$ACTION
  2926. U.571:    .LONG   <<U.25-U.571>-4>         ;                                              00000000V 002EB
  2927. ;TPA$TARGET
  2928. U.572:    .WORD   <<U.75-U.572>-2>         ;                                              0000* 002EF
  2929. ;TPA$TYPE
  2930. U.573:    .WORD   -27151                 ;                                              95F1  002F1
  2931. ;TPA$ACTION
  2932. U.574:    .LONG   <<U.36-U.574>-4>         ;                                              00000000V 002F3
  2933. ;TPA$TARGET
  2934. U.575:    .WORD   -2                 ;                                              FFFE  002F7
  2935. ;SET_DEB_STATE
  2936. U.398:    .BLKB   0                                       ;                      002F9
  2937. ;TPA$TYPE
  2938. U.580:    .WORD   -27841                 ;                                              933F  002F9
  2939. ;TPA$FLAGS2
  2940. U.581:    .BYTE   1                 ;                                                01  002FB
  2941. ;TPA$PARAM
  2942. U.582:    .LONG   0                 ;                                              00000000  002FC
  2943. ;TPA$ACTION
  2944. U.583:    .LONG   <<U.18-U.583>-4>         ;                                              00000000V 00300
  2945. ;TPA$TARGET
  2946. U.584:    .WORD   <<U.75-U.584>-2>         ;                                              0000* 00304
  2947. ;TPA$TYPE
  2948. U.588:    .WORD   -27840                 ;                                              9340  00306
  2949. ;TPA$FLAGS2
  2950. U.589:    .BYTE   1                 ;                                                01  00308
  2951. ;TPA$PARAM
  2952. U.590:    .LONG   1                 ;                                              00000001  00309
  2953. ;TPA$ACTION
  2954. U.591:    .LONG   <<U.18-U.591>-4>         ;                                              00000000V 0030D
  2955. ;TPA$TARGET
  2956. U.592:    .WORD   <<U.75-U.592>-2>         ;                                              0000* 00311
  2957. ;TPA$TYPE
  2958. U.593:    .WORD   -27151                 ;                                              95F1  00313
  2959. ;TPA$ACTION
  2960. U.594:    .LONG   <<U.36-U.594>-4>         ;                                              00000000V 00315
  2961. ;TPA$TARGET
  2962. U.595:    .WORD   -2                 ;                                              FFFE  00319
  2963. ;SET_IBM_STATE
  2964. U.428:    .BLKB   0                                       ;                      0031B
  2965. ;TPA$TYPE
  2966. U.600:    .WORD   -27839                 ;                                              9341  0031B
  2967. ;TPA$FLAGS2
  2968. U.601:    .BYTE   1                 ;                                                01  0031D
  2969. ;TPA$PARAM
  2970. U.602:    .LONG   0                 ;                                              00000000  0031E
  2971. ;TPA$ACTION
  2972. U.603:    .LONG   <<U.27-U.603>-4>         ;                                              00000000V 00322
  2973. ;TPA$TARGET
  2974. U.604:    .WORD   <<U.75-U.604>-2>         ;                                              0000* 00326
  2975. ;TPA$TYPE
  2976. U.608:    .WORD   -27838                 ;                                              9342  00328
  2977. ;TPA$FLAGS2
  2978. U.609:    .BYTE   1                 ;                                                01  0032A
  2979. ;TPA$PARAM
  2980. U.610:    .LONG   1                 ;                                              00000001  0032B
  2981. ;TPA$ACTION
  2982. U.611:    .LONG   <<U.27-U.611>-4>         ;                                              00000000V 0032F
  2983. ;TPA$TARGET
  2984. U.612:    .WORD   <<U.75-U.612>-2>         ;                                              0000* 00333
  2985. ;TPA$TYPE
  2986. U.613:    .WORD   -27151                 ;                                              95F1  00335
  2987. ;TPA$ACTION
  2988. U.614:    .LONG   <<U.36-U.614>-4>         ;                                              00000000V 00337
  2989. ;TPA$TARGET
  2990. U.615:    .WORD   -2                 ;                                              FFFE  0033B
  2991. ;SET_HAN_STATE
  2992. U.422:    .BLKB   0                                       ;                      0033D
  2993. ;TPA$TYPE
  2994. U.620:    .WORD   28995                 ;                                              7143  0033D
  2995. ;TPA$ADDR
  2996. U.621:    .LONG   <<IBM_CHAR-U.621>-4>         ;                                              00000000* 0033F
  2997. ;TPA$MASK
  2998. U.622:    .LONG   -1                 ;                                              FFFFFFFF  00343
  2999. ;TPA$TARGET
  3000. U.623:    .WORD   <<U.75-U.623>-2>         ;                                              0000* 00347
  3001. ;TPA$TYPE
  3002. U.624:    .WORD   22004                 ;                                              55F4  00349
  3003. ;TPA$ADDR
  3004. U.625:    .LONG   <<IBM_CHAR-U.625>-4>         ;                                              00000000* 0034B
  3005. ;TPA$TARGET
  3006. U.626:    .WORD   <<U.75-U.626>-2>         ;                                              0000* 0034F
  3007. ;SET_DEL_STATE
  3008. U.404:    .BLKB   0                                       ;                      00351
  3009. ;TPA$TYPE
  3010. U.628:    .WORD   22003                 ;                                              55F3  00351
  3011. ;TPA$ADDR
  3012. U.629:    .LONG   <<DELAY-U.629>-4>         ;                                              00000000* 00353
  3013. ;TPA$TARGET
  3014. U.630:    .WORD   <<U.75-U.630>-2>         ;                                              0000* 00357
  3015. ;SET_BLK_STATE
  3016. U.631:    .BLKB   0                                       ;                      00359
  3017. ;TPA$TYPE
  3018. U.632:    .WORD   -10765                 ;                                              D5F3  00359
  3019. ;TPA$ACTION
  3020. U.633:    .LONG   <<U.17-U.633>-4>         ;                                              00000000V 0035B
  3021. ;TPA$ADDR
  3022. U.634:    .LONG   <<FILE_BLOCKSIZE-U.634>-4>     ;                                              00000000* 0035F
  3023. ;TPA$TARGET
  3024. U.635:    .WORD   <<U.75-U.635>-2>         ;                                              0000* 00363
  3025. ;SET_ESC_STATE
  3026. U.410:    .BLKB   0                                       ;                      00365
  3027. ;TPA$TYPE
  3028. U.636:    .WORD   22004                 ;                                              55F4  00365
  3029. ;TPA$ADDR
  3030. U.637:    .LONG   <<ESCAPE_CHR-U.637>-4>         ;                                              00000000* 00367
  3031. ;TPA$TARGET
  3032. U.638:    .WORD   <<U.75-U.638>-2>         ;                                              0000* 0036B
  3033. ;SET_FIL_STATE
  3034. U.416:    .BLKB   0                                       ;                      0036D
  3035. ;TPA$TYPE
  3036. U.642:    .WORD   4420                 ;                                              1144  0036D
  3037. ;TPA$TARGET
  3038. U.644:    .WORD   <<U.643-U.644>-2>         ;                                              0000* 0036F
  3039. ;TPA$TYPE
  3040. U.648:    .WORD   4421                 ;                                              1145  00371
  3041. ;TPA$TARGET
  3042. U.650:    .WORD   <<U.649-U.650>-2>         ;                                              0000* 00373
  3043. ;TPA$TYPE
  3044. U.654:    .WORD   4422                 ;                                              1146  00375
  3045. ;TPA$TARGET
  3046. U.655:    .WORD   <<U.631-U.655>-2>         ;                                              0000* 00377
  3047. ;TPA$TYPE
  3048. U.656:    .WORD   -27151                 ;                                              95F1  00379
  3049. ;TPA$ACTION
  3050. U.657:    .LONG   <<U.36-U.657>-4>         ;                                              00000000V 0037B
  3051. ;TPA$TARGET
  3052. U.658:    .WORD   -2                 ;                                              FFFE  0037F
  3053. ;SET_FNM_STATE
  3054. U.643:    .BLKB   0                                       ;                      00381
  3055. ;TPA$TYPE
  3056. U.663:    .WORD   -27833                 ;                                              9347  00381
  3057. ;TPA$FLAGS2
  3058. U.664:    .BYTE   1                 ;                                                01  00383
  3059. ;TPA$PARAM
  3060. U.665:    .LONG   2                 ;                                              00000002  00384
  3061. ;TPA$ACTION
  3062. U.666:    .LONG   <<U.22-U.666>-4>         ;                                              00000000V 00388
  3063. ;TPA$TARGET
  3064. U.667:    .WORD   <<U.75-U.667>-2>         ;                                              0000* 0038C
  3065. ;TPA$TYPE
  3066. U.671:    .WORD   -27832                 ;                                              9348  0038E
  3067. ;TPA$FLAGS2
  3068. U.672:    .BYTE   1                 ;                                                01  00390
  3069. ;TPA$PARAM
  3070. U.673:    .LONG   1                 ;                                              00000001  00391
  3071. ;TPA$ACTION
  3072. U.674:    .LONG   <<U.22-U.674>-4>         ;                                              00000000V 00395
  3073. ;TPA$TARGET
  3074. U.675:    .WORD   <<U.75-U.675>-2>         ;                                              0000* 00399
  3075. ;TPA$TYPE
  3076. U.679:    .WORD   -27831                 ;                                              9349  0039B
  3077. ;TPA$FLAGS2
  3078. U.680:    .BYTE   1                 ;                                                01  0039D
  3079. ;TPA$PARAM
  3080. U.681:    .LONG   4                 ;                                              00000004  0039E
  3081. ;TPA$ACTION
  3082. U.682:    .LONG   <<U.22-U.682>-4>         ;                                              00000000V 003A2
  3083. ;TPA$TARGET
  3084. U.683:    .WORD   <<U.75-U.683>-2>         ;                                              0000* 003A6
  3085. ;TPA$TYPE
  3086. U.684:    .WORD   -27151                 ;                                              95F1  003A8
  3087. ;TPA$ACTION
  3088. U.685:    .LONG   <<U.36-U.685>-4>         ;                                              00000000V 003AA
  3089. ;TPA$TARGET
  3090. U.686:    .WORD   -2                 ;                                              FFFE  003AE
  3091. ;SET_FTP_STATE
  3092. U.649:    .BLKB   0                                       ;                      003B0
  3093. ;TPA$TYPE
  3094. U.691:    .WORD   -27830                 ;                                              934A  003B0
  3095. ;TPA$FLAGS2
  3096. U.692:    .BYTE   1                 ;                                                01  003B2
  3097. ;TPA$PARAM
  3098. U.693:    .LONG   1                 ;                                              00000001  003B3
  3099. ;TPA$ACTION
  3100. U.694:    .LONG   <<U.21-U.694>-4>         ;                                              00000000V 003B7
  3101. ;TPA$TARGET
  3102. U.695:    .WORD   <<U.75-U.695>-2>         ;                                              0000* 003BB
  3103. ;TPA$TYPE
  3104. U.699:    .WORD   -27829                 ;                                              934B  003BD
  3105. ;TPA$FLAGS2
  3106. U.700:    .BYTE   1                 ;                                                01  003BF
  3107. ;TPA$PARAM
  3108. U.701:    .LONG   2                 ;                                              00000002  003C0
  3109. ;TPA$ACTION
  3110. U.702:    .LONG   <<U.21-U.702>-4>         ;                                              00000000V 003C4
  3111. ;TPA$TARGET
  3112. U.703:    .WORD   <<U.75-U.703>-2>         ;                                              0000* 003C8
  3113. ;TPA$TYPE
  3114. U.707:    .WORD   -27828                 ;                                              934C  003CA
  3115. ;TPA$FLAGS2
  3116. U.708:    .BYTE   1                 ;                                                01  003CC
  3117. ;TPA$PARAM
  3118. U.709:    .LONG   3                 ;                                              00000003  003CD
  3119. ;TPA$ACTION
  3120. U.710:    .LONG   <<U.21-U.710>-4>         ;                                              00000000V 003D1
  3121. ;TPA$TARGET
  3122. U.711:    .WORD   <<U.75-U.711>-2>         ;                                              0000* 003D5
  3123. ;TPA$TYPE
  3124. U.715:    .WORD   -27827                 ;                                              934D  003D7
  3125. ;TPA$FLAGS2
  3126. U.716:    .BYTE   1                 ;                                                01  003D9
  3127. ;TPA$PARAM
  3128. U.717:    .LONG   4                 ;                                              00000004  003DA
  3129. ;TPA$ACTION
  3130. U.718:    .LONG   <<U.21-U.718>-4>         ;                                              00000000V 003DE
  3131. ;TPA$TARGET
  3132. U.719:    .WORD   <<U.75-U.719>-2>         ;                                              0000* 003E2
  3133. ;TPA$TYPE
  3134. U.720:    .WORD   -27151                 ;                                              95F1  003E4
  3135. ;TPA$ACTION
  3136. U.721:    .LONG   <<U.36-U.721>-4>         ;                                              00000000V 003E6
  3137. ;TPA$TARGET
  3138. U.722:    .WORD   -2                 ;                                              FFFE  003EA
  3139. ;SET_LIN_STATE
  3140. U.232:    .BLKB   0                                       ;                      003EC
  3141. ;TPA$TYPE
  3142. U.724:    .WORD   -28179                 ;                                              91ED  003EC
  3143. ;TPA$ACTION
  3144. U.725:    .LONG   <<U.12-U.725>-4>         ;                                              00000000V 003EE
  3145. ;TPA$TARGET
  3146. U.726:    .WORD   <<U.232-U.726>-2>         ;                                              0000* 003F2
  3147. ;TPA$TYPE
  3148. U.727:    .WORD   -27146                 ;                                              95F6  003F4
  3149. ;TPA$ACTION
  3150. U.728:    .LONG   <<U.13-U.728>-4>         ;                                              00000000V 003F6
  3151. ;TPA$TARGET
  3152. U.729:    .WORD   <<U.75-U.729>-2>         ;                                              0000* 003FA
  3153. ;SET_ECH_STATE
  3154. U.445:    .BLKB   0                                       ;                      003FC
  3155. ;TPA$TYPE
  3156. U.733:    .WORD   -27826                 ;                                              934E  003FC
  3157. ;TPA$FLAGS2
  3158. U.734:    .BYTE   1                 ;                                                01  003FE
  3159. ;TPA$PARAM
  3160. U.735:    .LONG   0                 ;                                              00000000  003FF
  3161. ;TPA$ACTION
  3162. U.736:    .LONG   <<U.23-U.736>-4>         ;                                              00000000V 00403
  3163. ;TPA$TARGET
  3164. U.737:    .WORD   <<U.75-U.737>-2>         ;                                              0000* 00407
  3165. ;TPA$TYPE
  3166. U.741:    .WORD   -27825                 ;                                              934F  00409
  3167. ;TPA$FLAGS2
  3168. U.742:    .BYTE   1                 ;                                                01  0040B
  3169. ;TPA$PARAM
  3170. U.743:    .LONG   1                 ;                                              00000001  0040C
  3171. ;TPA$ACTION
  3172. U.744:    .LONG   <<U.23-U.744>-4>         ;                                              00000000V 00410
  3173. ;TPA$TARGET
  3174. U.745:    .WORD   <<U.75-U.745>-2>         ;                                              0000* 00414
  3175. ;TPA$TYPE
  3176. U.746:    .WORD   -27151                 ;                                              95F1  00416
  3177. ;TPA$ACTION
  3178. U.747:    .LONG   <<U.36-U.747>-4>         ;                                              00000000V 00418
  3179. ;TPA$TARGET
  3180. U.748:    .WORD   -2                 ;                                              FFFE  0041C
  3181. ;SET_MSG_STATE
  3182. U.451:    .BLKB   0                                       ;                      0041E
  3183. ;TPA$TYPE
  3184. U.753:    .WORD   4432                 ;                                              1150  0041E
  3185. ;TPA$TARGET
  3186. U.755:    .WORD   <<U.754-U.755>-2>         ;                                              0000* 00420
  3187. ;TPA$TYPE
  3188. U.759:    .WORD   4433                 ;                                              1151  00422
  3189. ;TPA$TARGET
  3190. U.761:    .WORD   <<U.760-U.761>-2>         ;                                              0000* 00424
  3191. ;TPA$TYPE
  3192. U.762:    .WORD   -27151                 ;                                              95F1  00426
  3193. ;TPA$ACTION
  3194. U.763:    .LONG   <<U.36-U.763>-4>         ;                                              00000000V 00428
  3195. ;TPA$TARGET
  3196. U.764:    .WORD   -2                 ;                                              FFFE  0042C
  3197. ;SET_MSG_FIL_STATE
  3198. U.754:    .BLKB   0                                       ;                      0042E
  3199. ;TPA$TYPE
  3200. U.769:    .WORD   -27822                 ;                                              9352  0042E
  3201. ;TPA$FLAGS2
  3202. U.770:    .BYTE   1                 ;                                                01  00430
  3203. ;TPA$PARAM
  3204. U.771:    .LONG   0                 ;                                              00000000  00431
  3205. ;TPA$ACTION
  3206. U.772:    .LONG   <<U.28-U.772>-4>         ;                                              00000000V 00435
  3207. ;TPA$TARGET
  3208. U.773:    .WORD   <<U.75-U.773>-2>         ;                                              0000* 00439
  3209. ;TPA$TYPE
  3210. U.777:    .WORD   -27821                 ;                                              9353  0043B
  3211. ;TPA$FLAGS2
  3212. U.778:    .BYTE   1                 ;                                                01  0043D
  3213. ;TPA$PARAM
  3214. U.779:    .LONG   1                 ;                                              00000001  0043E
  3215. ;TPA$ACTION
  3216. U.780:    .LONG   <<U.28-U.780>-4>         ;                                              00000000V 00442
  3217. ;TPA$TARGET
  3218. U.781:    .WORD   <<U.75-U.781>-2>         ;                                              0000* 00446
  3219. ;TPA$TYPE
  3220. U.782:    .WORD   -27151                 ;                                              95F1  00448
  3221. ;TPA$ACTION
  3222. U.783:    .LONG   <<U.36-U.783>-4>         ;                                              00000000V 0044A
  3223. ;TPA$TARGET
  3224. U.784:    .WORD   -2                 ;                                              FFFE  0044E
  3225. ;SET_MSG_PKT_STATE
  3226. U.760:    .BLKB   0                                       ;                      00450
  3227. ;TPA$TYPE
  3228. U.789:    .WORD   -27820                 ;                                              9354  00450
  3229. ;TPA$FLAGS2
  3230. U.790:    .BYTE   1                 ;                                                01  00452
  3231. ;TPA$PARAM
  3232. U.791:    .LONG   0                 ;                                              00000000  00453
  3233. ;TPA$ACTION
  3234. U.792:    .LONG   <<U.29-U.792>-4>         ;                                              00000000V 00457
  3235. ;TPA$TARGET
  3236. U.793:    .WORD   <<U.75-U.793>-2>         ;                                              0000* 0045B
  3237. ;TPA$TYPE
  3238. U.797:    .WORD   -27819                 ;                                              9355  0045D
  3239. ;TPA$FLAGS2
  3240. U.798:    .BYTE   1                 ;                                                01  0045F
  3241. ;TPA$PARAM
  3242. U.799:    .LONG   1                 ;                                              00000001  00460
  3243. ;TPA$ACTION
  3244. U.800:    .LONG   <<U.29-U.800>-4>         ;                                              00000000V 00464
  3245. ;TPA$TARGET
  3246. U.801:    .WORD   <<U.75-U.801>-2>         ;                                              0000* 00468
  3247. ;TPA$TYPE
  3248. U.802:    .WORD   -27151                 ;                                              95F1  0046A
  3249. ;TPA$ACTION
  3250. U.803:    .LONG   <<U.36-U.803>-4>         ;                                              00000000V 0046C
  3251. ;TPA$TARGET
  3252. U.804:    .WORD   -2                 ;                                              FFFE  00470
  3253. ;SET_PMT_STATE
  3254. U.463:    .BLKB   0                                       ;                      00472
  3255. ;TPA$TYPE
  3256. U.806:    .WORD   -28179                 ;                                              91ED  00472
  3257. ;TPA$ACTION
  3258. U.807:    .LONG   <<U.12-U.807>-4>         ;                                              00000000V 00474
  3259. ;TPA$TARGET
  3260. U.808:    .WORD   <<U.463-U.808>-2>         ;                                              0000* 00478
  3261. ;TPA$TYPE
  3262. U.809:    .WORD   -26634                 ;                                              97F6  0047A
  3263. ;TPA$FLAGS2
  3264. U.810:    .BYTE   1                 ;                                                01  0047C
  3265. ;TPA$PARAM
  3266. U.811:    .ADDRESS U.58                 ;                                              00000000' 0047D
  3267. ;TPA$ACTION
  3268. U.812:    .LONG   <<U.14-U.812>-4>         ;                                              00000000V 00481
  3269. ;TPA$TARGET
  3270. U.813:    .WORD   <<U.75-U.813>-2>         ;                                              0000* 00485
  3271. ;SET_RPT_STATE
  3272. U.475:    .BLKB   0                                       ;                      00487
  3273. ;TPA$TYPE
  3274. U.814:    .WORD   -10764                 ;                                              D5F4  00487
  3275. ;TPA$ACTION
  3276. U.815:    .LONG   <<U.34-U.815>-4>         ;                                              00000000V 00489
  3277. ;TPA$ADDR
  3278. U.816:    .LONG   <<SET_REPT_CHR-U.816>-4>     ;                                              00000000* 0048D
  3279. ;TPA$TARGET
  3280. U.817:    .WORD   <<U.75-U.817>-2>         ;                                              0000* 00491
  3281. ;SET_RTY_STATE
  3282. U.481:    .BLKB   0                                       ;                      00493
  3283. ;TPA$TYPE
  3284. U.821:    .WORD   4438                 ;                                              1156  00493
  3285. ;TPA$TARGET
  3286. U.823:    .WORD   <<U.822-U.823>-2>         ;                                              0000* 00495
  3287. ;TPA$TYPE
  3288. U.827:    .WORD   4439                 ;                                              1157  00497
  3289. ;TPA$TARGET
  3290. U.829:    .WORD   <<U.828-U.829>-2>         ;                                              0000* 00499
  3291. ;TPA$TYPE
  3292. U.830:    .WORD   -27151                 ;                                              95F1  0049B
  3293. ;TPA$ACTION
  3294. U.831:    .LONG   <<U.36-U.831>-4>         ;                                              00000000V 0049D
  3295. ;TPA$TARGET
  3296. U.832:    .WORD   -2                 ;                                              FFFE  004A1
  3297. ;SET_RTY_INI_STATE
  3298. U.822:    .BLKB   0                                       ;                      004A3
  3299. ;TPA$TYPE
  3300. U.834:    .WORD   22003                 ;                                              55F3  004A3
  3301. ;TPA$ADDR
  3302. U.835:    .LONG   <<SI_RETRIES-U.835>-4>         ;                                              00000000* 004A5
  3303. ;TPA$TARGET
  3304. U.836:    .WORD   <<U.75-U.836>-2>         ;                                              0000* 004A9
  3305. ;SET_RTY_PKT_STATE
  3306. U.828:    .BLKB   0                                       ;                      004AB
  3307. ;TPA$TYPE
  3308. U.837:    .WORD   22003                 ;                                              55F3  004AB
  3309. ;TPA$ADDR
  3310. U.838:    .LONG   <<PKT_RETRIES-U.838>-4>         ;                                              00000000* 004AD
  3311. ;TPA$TARGET
  3312. U.839:    .WORD   <<U.75-U.839>-2>         ;                                              0000* 004B1
  3313. ;SET_PAR_STATE
  3314. U.457:    .BLKB   0                                       ;                      004B3
  3315. ;TPA$TYPE
  3316. U.843:    .WORD   -27816                 ;                                              9358  004B3
  3317. ;TPA$FLAGS2
  3318. U.844:    .BYTE   1                 ;                                                01  004B5
  3319. ;TPA$PARAM
  3320. U.845:    .LONG   2                 ;                                              00000002  004B6
  3321. ;TPA$ACTION
  3322. U.846:    .LONG   <<U.24-U.846>-4>         ;                                              00000000V 004BA
  3323. ;TPA$TARGET
  3324. U.847:    .WORD   <<U.75-U.847>-2>         ;                                              0000* 004BE
  3325. ;TPA$TYPE
  3326. U.851:    .WORD   -27815                 ;                                              9359  004C0
  3327. ;TPA$FLAGS2
  3328. U.852:    .BYTE   1                 ;                                                01  004C2
  3329. ;TPA$PARAM
  3330. U.853:    .LONG   1                 ;                                              00000001  004C3
  3331. ;TPA$ACTION
  3332. U.854:    .LONG   <<U.24-U.854>-4>         ;                                              00000000V 004C7
  3333. ;TPA$TARGET
  3334. U.855:    .WORD   <<U.75-U.855>-2>         ;                                              0000* 004CB
  3335. ;TPA$TYPE
  3336. U.859:    .WORD   -27814                 ;                                              935A  004CD
  3337. ;TPA$FLAGS2
  3338. U.860:    .BYTE   1                 ;                                                01  004CF
  3339. ;TPA$PARAM
  3340. U.861:    .LONG   0                 ;                                              00000000  004D0
  3341. ;TPA$ACTION
  3342. U.862:    .LONG   <<U.24-U.862>-4>         ;                                              00000000V 004D4
  3343. ;TPA$TARGET
  3344. U.863:    .WORD   <<U.75-U.863>-2>         ;                                              0000* 004D8
  3345. ;TPA$TYPE
  3346. U.867:    .WORD   -27813                 ;                                              935B  004DA
  3347. ;TPA$FLAGS2
  3348. U.868:    .BYTE   1                 ;                                                01  004DC
  3349. ;TPA$PARAM
  3350. U.869:    .LONG   3                 ;                                              00000003  004DD
  3351. ;TPA$ACTION
  3352. U.870:    .LONG   <<U.24-U.870>-4>         ;                                              00000000V 004E1
  3353. ;TPA$TARGET
  3354. U.871:    .WORD   <<U.75-U.871>-2>         ;                                              0000* 004E5
  3355. ;TPA$TYPE
  3356. U.875:    .WORD   -27812                 ;                                              935C  004E7
  3357. ;TPA$FLAGS2
  3358. U.876:    .BYTE   1                 ;                                                01  004E9
  3359. ;TPA$PARAM
  3360. U.877:    .LONG   4                 ;                                              00000004  004EA
  3361. ;TPA$ACTION
  3362. U.878:    .LONG   <<U.24-U.878>-4>         ;                                              00000000V 004EE
  3363. ;TPA$TARGET
  3364. U.879:    .WORD   <<U.75-U.879>-2>         ;                                              0000* 004F2
  3365. ;TPA$TYPE
  3366. U.880:    .WORD   -27151                 ;                                              95F1  004F4
  3367. ;TPA$ACTION
  3368. U.881:    .LONG   <<U.36-U.881>-4>         ;                                              00000000V 004F6
  3369. ;TPA$TARGET
  3370. U.882:    .WORD   -2                 ;                                              FFFE  004FA
  3371. ;SET_REC_STATE
  3372. U.469:    .BLKB   0                                       ;                      004FC
  3373. ;TPA$TYPE
  3374. U.887:    .WORD   4445                 ;                                              115D  004FC
  3375. ;TPA$TARGET
  3376. U.889:    .WORD   <<U.888-U.889>-2>         ;                                              0000* 004FE
  3377. ;TPA$TYPE
  3378. U.893:    .WORD   4446                 ;                                              115E  00500
  3379. ;TPA$TARGET
  3380. U.895:    .WORD   <<U.894-U.895>-2>         ;                                              0000* 00502
  3381. ;TPA$TYPE
  3382. U.899:    .WORD   4447                 ;                                              115F  00504
  3383. ;TPA$TARGET
  3384. U.901:    .WORD   <<U.900-U.901>-2>         ;                                              0000* 00506
  3385. ;TPA$TYPE
  3386. U.905:    .WORD   4448                 ;                                              1160  00508
  3387. ;TPA$TARGET
  3388. U.907:    .WORD   <<U.906-U.907>-2>         ;                                              0000* 0050A
  3389. ;TPA$TYPE
  3390. U.911:    .WORD   4449                 ;                                              1161  0050C
  3391. ;TPA$TARGET
  3392. U.913:    .WORD   <<U.912-U.913>-2>         ;                                              0000* 0050E
  3393. ;TPA$TYPE
  3394. U.917:    .WORD   4450                 ;                                              1162  00510
  3395. ;TPA$TARGET
  3396. U.919:    .WORD   <<U.918-U.919>-2>         ;                                              0000* 00512
  3397. ;TPA$TYPE
  3398. U.923:    .WORD   4451                 ;                                              1163  00514
  3399. ;TPA$TARGET
  3400. U.925:    .WORD   <<U.924-U.925>-2>         ;                                              0000* 00516
  3401. ;TPA$TYPE
  3402. U.929:    .WORD   4452                 ;                                              1164  00518
  3403. ;TPA$TARGET
  3404. U.931:    .WORD   <<U.930-U.931>-2>         ;                                              0000* 0051A
  3405. ;TPA$TYPE
  3406. U.932:    .WORD   -27151                 ;                                              95F1  0051C
  3407. ;TPA$ACTION
  3408. U.933:    .LONG   <<U.36-U.933>-4>         ;                                              00000000V 0051E
  3409. ;TPA$TARGET
  3410. U.934:    .WORD   -2                 ;                                              FFFE  00522
  3411. ;SR_PKT_STATE
  3412. U.900:    .BLKB   0                                       ;                      00524
  3413. ;TPA$TYPE
  3414. U.936:    .WORD   -10765                 ;                                              D5F3  00524
  3415. ;TPA$ACTION
  3416. U.937:    .LONG   <<U.30-U.937>-4>         ;                                              00000000V 00526
  3417. ;TPA$ADDR
  3418. U.938:    .LONG   <<RCV_PKT_SIZE-U.938>-4>     ;                                              00000000* 0052A
  3419. ;TPA$TARGET
  3420. U.939:    .WORD   <<U.75-U.939>-2>         ;                                              0000* 0052E
  3421. ;SR_PAD_STATE
  3422. U.912:    .BLKB   0                                       ;                      00530
  3423. ;TPA$TYPE
  3424. U.940:    .WORD   -10765                 ;                                              D5F3  00530
  3425. ;TPA$ACTION
  3426. U.941:    .LONG   <<U.31-U.941>-4>         ;                                              00000000V 00532
  3427. ;TPA$ADDR
  3428. U.942:    .LONG   <<RCV_NPAD-U.942>-4>         ;                                              00000000* 00536
  3429. ;TPA$TARGET
  3430. U.943:    .WORD   <<U.75-U.943>-2>         ;                                              0000* 0053A
  3431. ;SR_PDC_STATE
  3432. U.906:    .BLKB   0                                       ;                      0053C
  3433. ;TPA$TYPE
  3434. U.944:    .WORD   -10764                 ;                                              D5F4  0053C
  3435. ;TPA$ACTION
  3436. U.945:    .LONG   <<U.32-U.945>-4>         ;                                              00000000V 0053E
  3437. ;TPA$ADDR
  3438. U.946:    .LONG   <<RCV_PADCHAR-U.946>-4>         ;                                              00000000* 00542
  3439. ;TPA$TARGET
  3440. U.947:    .WORD   <<U.75-U.947>-2>         ;                                              0000* 00546
  3441. ;SR_SOH_STATE
  3442. U.924:    .BLKB   0                                       ;                      00548
  3443. ;TPA$TYPE
  3444. U.948:    .WORD   -10764                 ;                                              D5F4  00548
  3445. ;TPA$ACTION
  3446. U.949:    .LONG   <<U.35-U.949>-4>         ;                                              00000000V 0054A
  3447. ;TPA$ADDR
  3448. U.950:    .LONG   <<RCV_SOH-U.950>-4>         ;                                              00000000* 0054E
  3449. ;TPA$TARGET
  3450. U.951:    .WORD   <<U.75-U.951>-2>         ;                                              0000* 00552
  3451. ;SR_TIM_STATE
  3452. U.930:    .BLKB   0                                       ;                      00554
  3453. ;TPA$TYPE
  3454. U.952:    .WORD   22003                 ;                                              55F3  00554
  3455. ;TPA$ADDR
  3456. U.953:    .LONG   <<RCV_TIMEOUT-U.953>-4>         ;                                              00000000* 00556
  3457. ;TPA$TARGET
  3458. U.954:    .WORD   <<U.75-U.954>-2>         ;                                              0000* 0055A
  3459. ;SR_EOL_STATE
  3460. U.894:    .BLKB   0                                       ;                      0055C
  3461. ;TPA$TYPE
  3462. U.955:    .WORD   -10764                 ;                                              D5F4  0055C
  3463. ;TPA$ACTION
  3464. U.956:    .LONG   <<U.33-U.956>-4>         ;                                              00000000V 0055E
  3465. ;TPA$ADDR
  3466. U.957:    .LONG   <<RCV_EOL-U.957>-4>         ;                                              00000000* 00562
  3467. ;TPA$TARGET
  3468. U.958:    .WORD   <<U.75-U.958>-2>         ;                                              0000* 00566
  3469. ;SR_QUO_STATE
  3470. U.918:    .BLKB   0                                       ;                      00568
  3471. ;TPA$TYPE
  3472. U.959:    .WORD   -10764                 ;                                              D5F4  00568
  3473. ;TPA$ACTION
  3474. U.960:    .LONG   <<U.34-U.960>-4>         ;                                              00000000V 0056A
  3475. ;TPA$ADDR
  3476. U.961:    .LONG   <<RCV_QUOTE_CHR-U.961>-4>     ;                                              00000000* 0056E
  3477. ;TPA$TARGET
  3478. U.962:    .WORD   <<U.75-U.962>-2>         ;                                              0000* 00572
  3479. ;SR_8QU_STATE
  3480. U.888:    .BLKB   0                                       ;                      00574
  3481. ;TPA$TYPE
  3482. U.963:    .WORD   -10764                 ;                                              D5F4  00574
  3483. ;TPA$ACTION
  3484. U.964:    .LONG   <<U.34-U.964>-4>         ;                                              00000000V 00576
  3485. ;TPA$ADDR
  3486. U.965:    .LONG   <<RCV_8QUOTE_CHR-U.965>-4>     ;                                              00000000* 0057A
  3487. ;TPA$TARGET
  3488. U.966:    .WORD   <<U.75-U.966>-2>         ;                                              0000* 0057E
  3489. ;SET_SND_STATE
  3490. U.487:    .BLKB   0                                       ;                      00580
  3491. ;TPA$TYPE
  3492. U.970:    .WORD   4453                 ;                                              1165  00580
  3493. ;TPA$TARGET
  3494. U.972:    .WORD   <<U.971-U.972>-2>         ;                                              0000* 00582
  3495. ;TPA$TYPE
  3496. U.976:    .WORD   4454                 ;                                              1166  00584
  3497. ;TPA$TARGET
  3498. U.978:    .WORD   <<U.977-U.978>-2>         ;                                              0000* 00586
  3499. ;TPA$TYPE
  3500. U.982:    .WORD   4455                 ;                                              1167  00588
  3501. ;TPA$TARGET
  3502. U.984:    .WORD   <<U.983-U.984>-2>         ;                                              0000* 0058A
  3503. ;TPA$TYPE
  3504. U.988:    .WORD   4456                 ;                                              1168  0058C
  3505. ;TPA$TARGET
  3506. U.990:    .WORD   <<U.989-U.990>-2>         ;                                              0000* 0058E
  3507. ;TPA$TYPE
  3508. U.994:    .WORD   4457                 ;                                              1169  00590
  3509. ;TPA$TARGET
  3510. U.996:    .WORD   <<U.995-U.996>-2>         ;                                              0000* 00592
  3511. ;TPA$TYPE
  3512. U.1000: .WORD   4458                 ;                                              116A  00594
  3513. ;TPA$TARGET
  3514. U.1002: .WORD   <<U.1001-U.1002>-2>         ;                                              0000* 00596
  3515. ;TPA$TYPE
  3516. U.1006: .WORD   4459                 ;                                              116B  00598
  3517. ;TPA$TARGET
  3518. U.1008: .WORD   <<U.1007-U.1008>-2>         ;                                              0000* 0059A
  3519. ;TPA$TYPE
  3520. U.1009: .WORD   -27151                 ;                                              95F1  0059C
  3521. ;TPA$ACTION
  3522. U.1010: .LONG   <<U.36-U.1010>-4>         ;                                              00000000V 0059E
  3523. ;TPA$TARGET
  3524. U.1011: .WORD   -2                 ;                                              FFFE  005A2
  3525. ;SS_PKT_STATE
  3526. U.977:    .BLKB   0                                       ;                      005A4
  3527. ;TPA$TYPE
  3528. U.1013: .WORD   -10765                 ;                                              D5F3  005A4
  3529. ;TPA$ACTION
  3530. U.1014: .LONG   <<U.30-U.1014>-4>         ;                                              00000000V 005A6
  3531. ;TPA$ADDR
  3532. U.1015: .LONG   <<SND_PKT_SIZE-U.1015>-4>     ;                                              00000000* 005AA
  3533. ;TPA$TARGET
  3534. U.1016: .WORD   <<U.75-U.1016>-2>         ;                                              0000* 005AE
  3535. ;SS_PAD_STATE
  3536. U.989:    .BLKB   0                                       ;                      005B0
  3537. ;TPA$TYPE
  3538. U.1017: .WORD   -10765                 ;                                              D5F3  005B0
  3539. ;TPA$ACTION
  3540. U.1018: .LONG   <<U.31-U.1018>-4>         ;                                              00000000V 005B2
  3541. ;TPA$ADDR
  3542. U.1019: .LONG   <<SND_NPAD-U.1019>-4>         ;                                              00000000* 005B6
  3543. ;TPA$TARGET
  3544. U.1020: .WORD   <<U.75-U.1020>-2>         ;                                              0000* 005BA
  3545. ;SS_PDC_STATE
  3546. U.983:    .BLKB   0                                       ;                      005BC
  3547. ;TPA$TYPE
  3548. U.1021: .WORD   -10764                 ;                                              D5F4  005BC
  3549. ;TPA$ACTION
  3550. U.1022: .LONG   <<U.32-U.1022>-4>         ;                                              00000000V 005BE
  3551. ;TPA$ADDR
  3552. U.1023: .LONG   <<SND_PADCHAR-U.1023>-4>     ;                                              00000000* 005C2
  3553. ;TPA$TARGET
  3554. U.1024: .WORD   <<U.75-U.1024>-2>         ;                                              0000* 005C6
  3555. ;SS_SOH_STATE
  3556. U.1001: .BLKB   0                                       ;                      005C8
  3557. ;TPA$TYPE
  3558. U.1025: .WORD   -10764                 ;                                              D5F4  005C8
  3559. ;TPA$ACTION
  3560. U.1026: .LONG   <<U.35-U.1026>-4>         ;                                              00000000V 005CA
  3561. ;TPA$ADDR
  3562. U.1027: .LONG   <<SND_SOH-U.1027>-4>         ;                                              00000000* 005CE
  3563. ;TPA$TARGET
  3564. U.1028: .WORD   <<U.75-U.1028>-2>         ;                                              0000* 005D2
  3565. ;SS_TIM_STATE
  3566. U.1007: .BLKB   0                                       ;                      005D4
  3567. ;TPA$TYPE
  3568. U.1029: .WORD   22003                 ;                                              55F3  005D4
  3569. ;TPA$ADDR
  3570. U.1030: .LONG   <<SND_TIMEOUT-U.1030>-4>     ;                                              00000000* 005D6
  3571. ;TPA$TARGET
  3572. U.1031: .WORD   <<U.75-U.1031>-2>         ;                                              0000* 005DA
  3573. ;SS_EOL_STATE
  3574. U.971:    .BLKB   0                                       ;                      005DC
  3575. ;TPA$TYPE
  3576. U.1032: .WORD   -10764                 ;                                              D5F4  005DC
  3577. ;TPA$ACTION
  3578. U.1033: .LONG   <<U.33-U.1033>-4>         ;                                              00000000V 005DE
  3579. ;TPA$ADDR
  3580. U.1034: .LONG   <<SND_EOL-U.1034>-4>         ;                                              00000000* 005E2
  3581. ;TPA$TARGET
  3582. U.1035: .WORD   <<U.75-U.1035>-2>         ;                                              0000* 005E6
  3583. ;SS_QUO_STATE
  3584. U.995:    .BLKB   0                                       ;                      005E8
  3585. ;TPA$TYPE
  3586. U.1036: .WORD   -10764                 ;                                              D5F4  005E8
  3587. ;TPA$ACTION
  3588. U.1037: .LONG   <<U.34-U.1037>-4>         ;                                              00000000V 005EA
  3589. ;TPA$ADDR
  3590. U.1038: .LONG   <<SND_QUOTE_CHR-U.1038>-4>     ;                                              00000000* 005EE
  3591. ;TPA$TARGET
  3592. U.1039: .WORD   <<U.75-U.1039>-2>         ;                                              0000* 005F2
  3593. ;SET_SRV_STATE
  3594. U.493:    .BLKB   0                                       ;                      005F4
  3595. ;TPA$TYPE
  3596. U.1040: .WORD   22003                 ;                                              55F3  005F4
  3597. ;TPA$ADDR
  3598. U.1041: .LONG   <<SRV_TIMEOUT-U.1041>-4>     ;                                              00000000* 005F6
  3599. ;TPA$TARGET
  3600. U.1042: .WORD   <<U.75-U.1042>-2>         ;                                              0000* 005FA
  3601. ;SET_TRN_STATE
  3602. U.499:    .BLKB   0                                       ;                      005FC
  3603. ;TPA$TYPE
  3604. U.1046: .WORD   4460                 ;                                              116C  005FC
  3605. ;TPA$TARGET
  3606. U.1048: .WORD   <<U.1047-U.1048>-2>         ;                                              0000* 005FE
  3607. ;TPA$TYPE
  3608. U.1052: .WORD   4461                 ;                                              116D  00600
  3609. ;TPA$TARGET
  3610. U.1054: .WORD   <<U.1053-U.1054>-2>         ;                                              0000* 00602
  3611. ;TPA$TYPE
  3612. U.1055: .WORD   -27151                 ;                                              95F1  00604
  3613. ;TPA$ACTION
  3614. U.1056: .LONG   <<U.36-U.1056>-4>         ;                                              00000000V 00606
  3615. ;TPA$TARGET
  3616. U.1057: .WORD   -2                 ;                                              FFFE  0060A
  3617. ;SET_TRD_STATE
  3618. U.1047: .BLKB   0                                       ;                      0060C
  3619. ;TPA$TYPE
  3620. U.1059: .WORD   -10769                 ;                                              D5EF  0060C
  3621. ;TPA$ACTION
  3622. U.1060: .LONG   <<U.20-U.1060>-4>         ;                                              00000000V 0060E
  3623. ;TPA$ADDR
  3624. U.1061: .LONG   <<TRANS_DELAY-U.1061>-4>     ;                                              00000000* 00612
  3625. ;TPA$TARGET
  3626. U.1062: .WORD   <<U.75-U.1062>-2>         ;                                              0000* 00616
  3627. ;SET_TRE_STATE
  3628. U.1053: .BLKB   0                                       ;                      00618
  3629. ;TPA$TYPE
  3630. U.1066: .WORD   -27794                 ;                                              936E  00618
  3631. ;TPA$FLAGS2
  3632. U.1067: .BYTE   1                 ;                                                01  0061A
  3633. ;TPA$PARAM
  3634. U.1068: .LONG   1                 ;                                              00000001  0061B
  3635. ;TPA$ACTION
  3636. U.1069: .LONG   <<U.19-U.1069>-4>         ;                                              00000000V 0061F
  3637. ;TPA$TARGET
  3638. U.1070: .WORD   <<U.75-U.1070>-2>         ;                                              0000* 00623
  3639. ;TPA$TYPE
  3640. U.1074: .WORD   -27793                 ;                                              936F  00625
  3641. ;TPA$FLAGS2
  3642. U.1075: .BYTE   1                 ;                                                01  00627
  3643. ;TPA$PARAM
  3644. U.1076: .LONG   0                 ;                                              00000000  00628
  3645. ;TPA$ACTION
  3646. U.1077: .LONG   <<U.19-U.1077>-4>         ;                                              00000000V 0062C
  3647. ;TPA$TARGET
  3648. U.1078: .WORD   <<U.75-U.1078>-2>         ;                                              0000* 00630
  3649. ;TPA$TYPE
  3650. U.1079: .WORD   -27151                 ;                                              95F1  00632
  3651. ;TPA$ACTION
  3652. U.1080: .LONG   <<U.36-U.1080>-4>         ;                                              00000000V 00634
  3653. ;TPA$TARGET
  3654. U.1081: .WORD   -2                 ;                                              FFFE  00638
  3655. ;SEND_STATE
  3656. U.181:    .BLKB   0                                       ;                      0063A
  3657. ;TPA$TYPE
  3658. U.1083: .WORD   -28179                 ;                                              91ED  0063A
  3659. ;TPA$ACTION
  3660. U.1084: .LONG   <<U.12-U.1084>-4>         ;                                              00000000V 0063C
  3661. ;TPA$TARGET
  3662. U.1085: .WORD   <<U.181-U.1085>-2>         ;                                              0000* 00640
  3663. ;TPA$TYPE
  3664. U.1086: .WORD   -26634                 ;                                              97F6  00642
  3665. ;TPA$FLAGS2
  3666. U.1087: .BYTE   1                 ;                                                01  00644
  3667. ;TPA$PARAM
  3668. U.1088: .ADDRESS FILE_DESC             ;                                              00000000G 00645
  3669. ;TPA$ACTION
  3670. U.1089: .LONG   <<U.14-U.1089>-4>         ;                                              00000000V 00649
  3671. ;TPA$TARGET
  3672. U.1090: .WORD   <<U.75-U.1090>-2>         ;                                              0000* 0064D
  3673. ;SHOW_STATE
  3674. U.196:    .BLKB   0                                       ;                      0064F
  3675. ;TPA$TYPE
  3676. U.1094: .WORD   29040                 ;                                              7170  0064F
  3677. ;TPA$ADDR
  3678. U.1095: .LONG   <<U.50-U.1095>-4>         ;                                              00000000* 00651
  3679. ;TPA$MASK
  3680. U.1096: .LONG   1                 ;                                              00000001  00655
  3681. ;TPA$TARGET
  3682. U.1097: .WORD   <<U.75-U.1097>-2>         ;                                              0000* 00659
  3683. ;TPA$TYPE
  3684. U.1101: .WORD   29041                 ;                                              7171  0065B
  3685. ;TPA$ADDR
  3686. U.1102: .LONG   <<U.50-U.1102>-4>         ;                                              00000000* 0065D
  3687. ;TPA$MASK
  3688. U.1103: .LONG   12                 ;                                              0000000C  00661
  3689. ;TPA$TARGET
  3690. U.1104: .WORD   <<U.75-U.1104>-2>         ;                                              0000* 00665
  3691. ;TPA$TYPE
  3692. U.1108: .WORD   29042                 ;                                              7172  00667
  3693. ;TPA$ADDR
  3694. U.1109: .LONG   <<U.50-U.1109>-4>         ;                                              00000000* 00669
  3695. ;TPA$MASK
  3696. U.1110: .LONG   16                 ;                                              00000010  0066D
  3697. ;TPA$TARGET
  3698. U.1111: .WORD   <<U.75-U.1111>-2>         ;                                              0000* 00671
  3699. ;TPA$TYPE
  3700. U.1115: .WORD   29043                 ;                                              7173  00673
  3701. ;TPA$ADDR
  3702. U.1116: .LONG   <<U.50-U.1116>-4>         ;                                              00000000* 00675
  3703. ;TPA$MASK
  3704. U.1117: .LONG   2                 ;                                              00000002  00679
  3705. ;TPA$TARGET
  3706. U.1118: .WORD   <<U.75-U.1118>-2>         ;                                              0000* 0067D
  3707. ;TPA$TYPE
  3708. U.1122: .WORD   29044                 ;                                              7174  0067F
  3709. ;TPA$ADDR
  3710. U.1123: .LONG   <<U.50-U.1123>-4>         ;                                              00000000* 00681
  3711. ;TPA$MASK
  3712. U.1124: .LONG   3                 ;                                              00000003  00685
  3713. ;TPA$TARGET
  3714. U.1125: .WORD   <<U.75-U.1125>-2>         ;                                              0000* 00689
  3715. ;TPA$TYPE
  3716. U.1129: .WORD   29045                 ;                                              7175  0068B
  3717. ;TPA$ADDR
  3718. U.1130: .LONG   <<U.50-U.1130>-4>         ;                                              00000000* 0068D
  3719. ;TPA$MASK
  3720. U.1131: .LONG   4                 ;                                              00000004  00691
  3721. ;TPA$TARGET
  3722. U.1132: .WORD   <<U.75-U.1132>-2>         ;                                              0000* 00695
  3723. ;TPA$TYPE
  3724. U.1136: .WORD   29046                 ;                                              7176  00697
  3725. ;TPA$ADDR
  3726. U.1137: .LONG   <<U.50-U.1137>-4>         ;                                              00000000* 00699
  3727. ;TPA$MASK
  3728. U.1138: .LONG   14                 ;                                              0000000E  0069D
  3729. ;TPA$TARGET
  3730. U.1139: .WORD   <<U.75-U.1139>-2>         ;                                              0000* 006A1
  3731. ;TPA$TYPE
  3732. U.1143: .WORD   29047                 ;                                              7177  006A3
  3733. ;TPA$ADDR
  3734. U.1144: .LONG   <<U.50-U.1144>-4>         ;                                              00000000* 006A5
  3735. ;TPA$MASK
  3736. U.1145: .LONG   13                 ;                                              0000000D  006A9
  3737. ;TPA$TARGET
  3738. U.1146: .WORD   <<U.75-U.1146>-2>         ;                                              0000* 006AD
  3739. ;TPA$TYPE
  3740. U.1150: .WORD   29048                 ;                                              7178  006AF
  3741. ;TPA$ADDR
  3742. U.1151: .LONG   <<U.50-U.1151>-4>         ;                                              00000000* 006B1
  3743. ;TPA$MASK
  3744. U.1152: .LONG   6                 ;                                              00000006  006B5
  3745. ;TPA$TARGET
  3746. U.1153: .WORD   <<U.75-U.1153>-2>         ;                                              0000* 006B9
  3747. ;TPA$TYPE
  3748. U.1157: .WORD   29049                 ;                                              7179  006BB
  3749. ;TPA$ADDR
  3750. U.1158: .LONG   <<U.50-U.1158>-4>         ;                                              00000000* 006BD
  3751. ;TPA$MASK
  3752. U.1159: .LONG   7                 ;                                              00000007  006C1
  3753. ;TPA$TARGET
  3754. U.1160: .WORD   <<U.75-U.1160>-2>         ;                                              0000* 006C5
  3755. ;TPA$TYPE
  3756. U.1164: .WORD   29050                 ;                                              717A  006C7
  3757. ;TPA$ADDR
  3758. U.1165: .LONG   <<U.50-U.1165>-4>         ;                                              00000000* 006C9
  3759. ;TPA$MASK
  3760. U.1166: .LONG   15                 ;                                              0000000F  006CD
  3761. ;TPA$TARGET
  3762. U.1167: .WORD   <<U.75-U.1167>-2>         ;                                              0000* 006D1
  3763. ;TPA$TYPE
  3764. U.1171: .WORD   29051                 ;                                              717B  006D3
  3765. ;TPA$ADDR
  3766. U.1172: .LONG   <<U.50-U.1172>-4>         ;                                              00000000* 006D5
  3767. ;TPA$MASK
  3768. U.1173: .LONG   10                 ;                                              0000000A  006D9
  3769. ;TPA$TARGET
  3770. U.1174: .WORD   <<U.75-U.1174>-2>         ;                                              0000* 006DD
  3771. ;TPA$TYPE
  3772. U.1178: .WORD   29052                 ;                                              717C  006DF
  3773. ;TPA$ADDR
  3774. U.1179: .LONG   <<U.50-U.1179>-4>         ;                                              00000000* 006E1
  3775. ;TPA$MASK
  3776. U.1180: .LONG   8                 ;                                              00000008  006E5
  3777. ;TPA$TARGET
  3778. U.1181: .WORD   <<U.75-U.1181>-2>         ;                                              0000* 006E9
  3779. ;TPA$TYPE
  3780. U.1185: .WORD   29053                 ;                                              717D  006EB
  3781. ;TPA$ADDR
  3782. U.1186: .LONG   <<U.50-U.1186>-4>         ;                                              00000000* 006ED
  3783. ;TPA$MASK
  3784. U.1187: .LONG   5                 ;                                              00000005  006F1
  3785. ;TPA$TARGET
  3786. U.1188: .WORD   <<U.75-U.1188>-2>         ;                                              0000* 006F5
  3787. ;TPA$TYPE
  3788. U.1192: .WORD   29054                 ;                                              717E  006F7
  3789. ;TPA$ADDR
  3790. U.1193: .LONG   <<U.50-U.1193>-4>         ;                                              00000000* 006F9
  3791. ;TPA$MASK
  3792. U.1194: .LONG   9                 ;                                              00000009  006FD
  3793. ;TPA$TARGET
  3794. U.1195: .WORD   <<U.75-U.1195>-2>         ;                                              0000* 00701
  3795. ;TPA$TYPE
  3796. U.1199: .WORD   29055                 ;                                              717F  00703
  3797. ;TPA$ADDR
  3798. U.1200: .LONG   <<U.50-U.1200>-4>         ;                                              00000000* 00705
  3799. ;TPA$MASK
  3800. U.1201: .LONG   11                 ;                                              0000000B  00709
  3801. ;TPA$TARGET
  3802. U.1202: .WORD   <<U.75-U.1202>-2>         ;                                              0000* 0070D
  3803. ;TPA$TYPE
  3804. U.1206: .WORD   29056                 ;                                              7180  0070F
  3805. ;TPA$ADDR
  3806. U.1207: .LONG   <<U.50-U.1207>-4>         ;                                              00000000* 00711
  3807. ;TPA$MASK
  3808. U.1208: .LONG   17                 ;                                              00000011  00715
  3809. ;TPA$TARGET
  3810. U.1209: .WORD   <<U.75-U.1209>-2>         ;                                              0000* 00719
  3811. ;TPA$TYPE
  3812. U.1213: .WORD   29057                 ;                                              7181  0071B
  3813. ;TPA$ADDR
  3814. U.1214: .LONG   <<U.50-U.1214>-4>         ;                                              00000000* 0071D
  3815. ;TPA$MASK
  3816. U.1215: .LONG   18                 ;                                              00000012  00721
  3817. ;TPA$TARGET
  3818. U.1216: .WORD   <<U.75-U.1216>-2>         ;                                              0000* 00725
  3819. ;TPA$TYPE
  3820. U.1217: .WORD   -27151                 ;                                              95F1  00727
  3821. ;TPA$ACTION
  3822. U.1218: .LONG   <<U.36-U.1218>-4>         ;                                              00000000V 00729
  3823. ;TPA$TARGET
  3824. U.1219: .WORD   -2                 ;                                              FFFE  0072D
  3825. ;LOG_STATE
  3826. U.129:    .BLKB   0                                       ;                      0072F
  3827. ;TPA$TYPE
  3828. U.1224: .WORD   4482                 ;                                              1182  0072F
  3829. ;TPA$TARGET
  3830. U.1226: .WORD   <<U.1225-U.1226>-2>         ;                                              0000* 00731
  3831. ;TPA$TYPE
  3832. U.1230: .WORD   4483                 ;                                              1183  00733
  3833. ;TPA$TARGET
  3834. U.1232: .WORD   <<U.1231-U.1232>-2>         ;                                              0000* 00735
  3835. ;TPA$TYPE
  3836. U.1236: .WORD   4484                 ;                                              1184  00737
  3837. ;TPA$TARGET
  3838. U.1238: .WORD   <<U.1237-U.1238>-2>         ;                                              0000* 00739
  3839. ;TPA$TYPE
  3840. U.1239: .WORD   -27151                 ;                                              95F1  0073B
  3841. ;TPA$ACTION
  3842. U.1240: .LONG   <<U.36-U.1240>-4>         ;                                              00000000V 0073D
  3843. ;TPA$TARGET
  3844. U.1241: .WORD   -2                 ;                                              FFFE  00741
  3845. ;DBG_STATE
  3846. U.1225: .BLKB   0                                       ;                      00743
  3847. ;TPA$TYPE
  3848. U.1243: .WORD   -28179                 ;                                              91ED  00743
  3849. ;TPA$ACTION
  3850. U.1244: .LONG   <<U.12-U.1244>-4>         ;                                              00000000V 00745
  3851. ;TPA$TARGET
  3852. U.1245: .WORD   <<U.1225-U.1245>-2>         ;                                              0000* 00749
  3853. ;TPA$TYPE
  3854. U.1246: .WORD   -26634                 ;                                              97F6  0074B
  3855. ;TPA$FLAGS2
  3856. U.1247: .BYTE   1                 ;                                                01  0074D
  3857. ;TPA$PARAM
  3858. U.1248: .ADDRESS DEBUG_DESC             ;                                              00000000G 0074E
  3859. ;TPA$ACTION
  3860. U.1249: .LONG   <<U.14-U.1249>-4>         ;                                              00000000V 00752
  3861. ;TPA$TARGET
  3862. U.1250: .WORD   <<U.75-U.1250>-2>         ;                                              0000* 00756
  3863. ;SES_STATE
  3864. U.1231: .BLKB   0                                       ;                      00758
  3865. ;TPA$TYPE
  3866. U.1251: .WORD   -28179                 ;                                              91ED  00758
  3867. ;TPA$ACTION
  3868. U.1252: .LONG   <<U.12-U.1252>-4>         ;                                              00000000V 0075A
  3869. ;TPA$TARGET
  3870. U.1253: .WORD   <<U.1231-U.1253>-2>         ;                                              0000* 0075E
  3871. ;TPA$TYPE
  3872. U.1254: .WORD   -26634                 ;                                              97F6  00760
  3873. ;TPA$FLAGS2
  3874. U.1255: .BYTE   1                 ;                                                01  00762
  3875. ;TPA$PARAM
  3876. U.1256: .ADDRESS SESSION_DESC             ;                                              00000000G 00763
  3877. ;TPA$ACTION
  3878. U.1257: .LONG   <<U.14-U.1257>-4>         ;                                              00000000V 00767
  3879. ;TPA$TARGET
  3880. U.1258: .WORD   <<U.75-U.1258>-2>         ;                                              0000* 0076B
  3881. ;TRN_STATE
  3882. U.1237: .BLKB   0                                       ;                      0076D
  3883. ;TPA$TYPE
  3884. U.1259: .WORD   -28179                 ;                                              91ED  0076D
  3885. ;TPA$ACTION
  3886. U.1260: .LONG   <<U.12-U.1260>-4>         ;                                              00000000V 0076F
  3887. ;TPA$TARGET
  3888. U.1261: .WORD   <<U.1237-U.1261>-2>         ;                                              0000* 00773
  3889. ;TPA$TYPE
  3890. U.1262: .WORD   -26634                 ;                                              97F6  00775
  3891. ;TPA$FLAGS2
  3892. U.1263: .BYTE   1                 ;                                                01  00777
  3893. ;TPA$PARAM
  3894. U.1264: .ADDRESS TRANSACTION_DESC         ;                                              00000000' 00778
  3895. ;TPA$ACTION
  3896. U.1265: .LONG   <<U.14-U.1265>-4>         ;                                              00000000V 0077C
  3897. ;TPA$TARGET
  3898. U.1266: .WORD   <<U.75-U.1266>-2>         ;                                              0000* 00780
  3899. ;TAKE_STATE
  3900. U.211:    .BLKB   0                                       ;                      00782
  3901. ;TPA$TYPE
  3902. U.1267: .WORD   -28113                 ;                                              922F  00782
  3903. ;TPA$FLAGS2
  3904. U.1268: .BYTE   1                 ;                                                01  00784
  3905. ;TPA$PARAM
  3906. U.1269: .ADDRESS U.61                 ;                                              00000000' 00785
  3907. ;TPA$ACTION
  3908. U.1270: .LONG   <<U.14-U.1270>-4>         ;                                              00000000V 00789
  3909. ;TPA$TARGET
  3910. U.1272: .WORD   <<U.1271-U.1272>-2>         ;                                              0000* 0078D
  3911. ;TPA$TYPE
  3912. U.1273: .WORD   -28179                 ;                                              91ED  0078F
  3913. ;TPA$ACTION
  3914. U.1274: .LONG   <<U.12-U.1274>-4>         ;                                              00000000V 00791
  3915. ;TPA$TARGET
  3916. U.1275: .WORD   <<U.211-U.1275>-2>         ;                                              0000* 00795
  3917. ;TPA$TYPE
  3918. U.1276: .WORD   -26634                 ;                                              97F6  00797
  3919. ;TPA$FLAGS2
  3920. U.1277: .BYTE   1                 ;                                                01  00799
  3921. ;TPA$PARAM
  3922. U.1278: .ADDRESS U.61                 ;                                              00000000' 0079A
  3923. ;TPA$ACTION
  3924. U.1279: .LONG   <<U.14-U.1279>-4>         ;                                              00000000V 0079E
  3925. ;TPA$TARGET
  3926. U.1280: .WORD   <<U.75-U.1280>-2>         ;                                              0000* 007A2
  3927. ;TAK_SWT_STATE
  3928. U.1271: .BLKB   0                                       ;                      007A4
  3929. ;TPA$TYPE
  3930. U.1284: .WORD   29061                 ;                                              7185  007A4
  3931. ;TPA$ADDR
  3932. U.1285: .LONG   <<U.52-U.1285>-4>         ;                                              00000000* 007A6
  3933. ;TPA$MASK
  3934. U.1286: .LONG   1                 ;                                              00000001  007AA
  3935. ;TPA$TARGET
  3936. U.1287: .WORD   <<U.75-U.1287>-2>         ;                                              0000* 007AE
  3937. ;TPA$TYPE
  3938. U.1288: .WORD   -27151                 ;                                              95F1  007B0
  3939. ;TPA$ACTION
  3940. U.1289: .LONG   <<U.36-U.1289>-4>         ;                                              00000000V 007B2
  3941. ;TPA$TARGET
  3942. U.1290: .WORD   -2                 ;                                              FFFE  007B6
  3943. ;TRANSMIT_STATE
  3944. U.223:    .BLKB   0                                       ;                      007B8
  3945. ;TPA$TYPE
  3946. U.1292: .WORD   -28179                 ;                                              91ED  007B8
  3947. ;TPA$ACTION
  3948. U.1293: .LONG   <<U.12-U.1293>-4>         ;                                              00000000V 007BA
  3949. ;TPA$TARGET
  3950. U.1294: .WORD   <<U.223-U.1294>-2>         ;                                              0000* 007BE
  3951. ;TPA$TYPE
  3952. U.1295: .WORD   -26634                 ;                                              97F6  007C0
  3953. ;TPA$FLAGS2
  3954. U.1296: .BYTE   1                 ;                                                01  007C2
  3955. ;TPA$PARAM
  3956. U.1297: .ADDRESS FILE_DESC             ;                                              00000000G 007C3
  3957. ;TPA$ACTION
  3958. U.1298: .LONG   <<U.14-U.1298>-4>         ;                                              00000000V 007C7
  3959. ;TPA$TARGET
  3960. U.1299: .WORD   <<U.75-U.1299>-2>         ;                                              0000* 007CB
  3961. ;DONE_STATE
  3962. U.75:    .BLKB   0                                       ;                      007CD
  3963. ;TPA$TYPE
  3964. U.1300: .WORD   5623                 ;                                              15F7  007CD
  3965. ;TPA$TARGET
  3966. U.1301: .WORD   -1                 ;                                              FFFF  007CF
  3967.  
  3968.     .PSECT  _LIB$KEY1$,NOWRT,  SHR,  PIC,1
  3969.  
  3970. ;TPA$KEYST0
  3971. U.69:    .BLKB   0                                       ;                      00000
  3972. ;TPA$KEYST
  3973. U.71:    .ASCII  \BYE\                 ;                                            45  59  42  00000
  3974.     .BYTE   -1                 ;                                                FF  00003
  3975. ;TPA$KEYST0
  3976. U.77:    .BLKB   0                                       ;                      00004
  3977. ;TPA$KEYST
  3978. U.79:    .ASCII  \CONNECT\             ;                                    54  43  45  4E  4E  4F  43  00004
  3979.     .BYTE   -1                 ;                                                FF  0000B
  3980. ;TPA$KEYST0
  3981. U.85:    .BLKB   0                                       ;                      0000C
  3982. ;TPA$KEYST
  3983. U.87:    .ASCII  \EXIT\                 ;                                            54  49  58  45  0000C
  3984.     .BYTE   -1                 ;                                                FF  00010
  3985. ;TPA$KEYST0
  3986. U.92:    .BLKB   0                                       ;                      00011
  3987. ;TPA$KEYST
  3988. U.94:    .ASCII  \FINISH\             ;                                        48  53  49  4E  49  46  00011
  3989.     .BYTE   -1                 ;                                                FF  00017
  3990. ;TPA$KEYST0
  3991. U.99:    .BLKB   0                                       ;                      00018
  3992. ;TPA$KEYST
  3993. U.101:    .ASCII  \GET\                 ;                                            54  45  47  00018
  3994.     .BYTE   -1                 ;                                                FF  0001B
  3995. ;TPA$KEYST0
  3996. U.107:    .BLKB   0                                       ;                      0001C
  3997. ;TPA$KEYST
  3998. U.109:    .ASCII  \HELP\                 ;                                            50  4C  45  48  0001C
  3999.     .BYTE   -1                 ;                                                FF  00020
  4000. ;TPA$KEYST0
  4001. U.115:    .BLKB   0                                       ;                      00021
  4002. ;TPA$KEYST
  4003. U.117:    .ASCII  \LOCAL\                 ;                                        4C  41  43  4F  4C  00021
  4004.     .BYTE   -1                 ;                                                FF  00026
  4005. ;TPA$KEYST0
  4006. U.123:    .BLKB   0                                       ;                      00027
  4007. ;TPA$KEYST
  4008. U.125:    .ASCII  \LOG\                 ;                                            47  4F  4C  00027
  4009.     .BYTE   -1                 ;                                                FF  0002A
  4010. ;TPA$KEYST0
  4011. U.131:    .BLKB   0                                       ;                      0002B
  4012. ;TPA$KEYST
  4013. U.133:    .ASCII  \LOGOUT\             ;                                        54  55  4F  47  4F  4C  0002B
  4014.     .BYTE   -1                 ;                                                FF  00031
  4015. ;TPA$KEYST0
  4016. U.138:    .BLKB   0                                       ;                      00032
  4017. ;TPA$KEYST
  4018. U.140:    .ASCII  \PUSH\                 ;                                            48  53  55  50  00032
  4019.     .BYTE   -1                 ;                                                FF  00036
  4020. ;TPA$KEYST0
  4021. U.145:    .BLKB   0                                       ;                      00037
  4022. ;TPA$KEYST
  4023. U.147:    .ASCII  \QUIT\                 ;                                            54  49  55  51  00037
  4024.     .BYTE   -1                 ;                                                FF  0003B
  4025. ;TPA$KEYST0
  4026. U.152:    .BLKB   0                                       ;                      0003C
  4027. ;TPA$KEYST
  4028. U.154:    .ASCII  \RECEIVE\             ;                                    45  56  49  45  43  45  52  0003C
  4029.     .BYTE   -1                 ;                                                FF  00043
  4030. ;TPA$KEYST0
  4031. U.160:    .BLKB   0                                       ;                      00044
  4032. ;TPA$KEYST
  4033. U.162:    .ASCII  \REMOTE\             ;                                        45  54  4F  4D  45  52  00044
  4034.     .BYTE   -1                 ;                                                FF  0004A
  4035. ;TPA$KEYST0
  4036. U.167:    .BLKB   0                                       ;                      0004B
  4037. ;TPA$KEYST
  4038. U.169:    .ASCII  \SET\                 ;                                            54  45  53  0004B
  4039.     .BYTE   -1                 ;                                                FF  0004E
  4040. ;TPA$KEYST0
  4041. U.175:    .BLKB   0                                       ;                      0004F
  4042. ;TPA$KEYST
  4043. U.177:    .ASCII  \SEND\                 ;                                            44  4E  45  53  0004F
  4044.     .BYTE   -1                 ;                                                FF  00053
  4045. ;TPA$KEYST0
  4046. U.183:    .BLKB   0                                       ;                      00054
  4047. ;TPA$KEYST
  4048. U.185:    .ASCII  \SERVER\             ;                                        52  45  56  52  45  53  00054
  4049.     .BYTE   -1                 ;                                                FF  0005A
  4050. ;TPA$KEYST0
  4051. U.190:    .BLKB   0                                       ;                      0005B
  4052. ;TPA$KEYST
  4053. U.192:    .ASCII  \SHOW\                 ;                                            57  4F  48  53  0005B
  4054.     .BYTE   -1                 ;                                                FF  0005F
  4055. ;TPA$KEYST0
  4056. U.198:    .BLKB   0                                       ;                      00060
  4057. ;TPA$KEYST
  4058. U.200:    .ASCII  \STATUS\             ;                                        53  55  54  41  54  53  00060
  4059.     .BYTE   -1                 ;                                                FF  00066
  4060. ;TPA$KEYST0
  4061. U.205:    .BLKB   0                                       ;                      00067
  4062. ;TPA$KEYST
  4063. U.207:    .ASCII  \TAKE\                 ;                                            45  4B  41  54  00067
  4064.     .BYTE   -1                 ;                                                FF  0006B
  4065. ;TPA$KEYST0
  4066. U.217:    .BLKB   0                                       ;                      0006C
  4067. ;TPA$KEYST
  4068. U.219:    .ASCII  \TRANSMIT\             ;                                54  49  4D  53  4E  41  52  54  0006C
  4069.     .BYTE   -1                 ;                                                FF  00074
  4070. ;TPA$KEYFILL
  4071. U.228:    .BYTE   -1                 ;                                                FF  00075
  4072. ;TPA$KEYST0
  4073. U.259:    .BLKB   0                                       ;                      00076
  4074. ;TPA$KEYST
  4075. U.261:    .ASCII  \COPY\                 ;                                            59  50  4F  43  00076
  4076.     .BYTE   -1                 ;                                                FF  0007A
  4077. ;TPA$KEYST0
  4078. U.267:    .BLKB   0                                       ;                      0007B
  4079. ;TPA$KEYST
  4080. U.269:    .ASCII  \CWD\                 ;                                            44  57  43  0007B
  4081.     .BYTE   -1                 ;                                                FF  0007E
  4082. ;TPA$KEYST0
  4083. U.275:    .BLKB   0                                       ;                      0007F
  4084. ;TPA$KEYST
  4085. U.277:    .ASCII  \DELETE\             ;                                        45  54  45  4C  45  44  0007F
  4086.     .BYTE   -1                 ;                                                FF  00085
  4087. ;TPA$KEYST0
  4088. U.282:    .BLKB   0                                       ;                      00086
  4089. ;TPA$KEYST
  4090. U.284:    .ASCII  \DIRECTORY\             ;                                52  4F  54  43  45  52  49  44  00086
  4091.                          ;                                          59  0008E
  4092.     .BYTE   -1                 ;                                                FF  0008F
  4093. ;TPA$KEYST0
  4094. U.289:    .BLKB   0                                       ;                      00090
  4095. ;TPA$KEYST
  4096. U.291:    .ASCII  \DISK_USAGE\             ;                                41  53  55  5F  4B  53  49  44  00090
  4097.                          ;                                          45  47  00098
  4098.     .BYTE   -1                 ;                                                FF  0009A
  4099. ;TPA$KEYST0
  4100. U.296:    .BLKB   0                                       ;                      0009B
  4101. ;TPA$KEYST
  4102. U.298:    .ASCII  \EXIT\                 ;                                            54  49  58  45  0009B
  4103.     .BYTE   -1                 ;                                                FF  0009F
  4104. ;TPA$KEYST0
  4105. U.303:    .BLKB   0                                       ;                      000A0
  4106. ;TPA$KEYST
  4107. U.305:    .ASCII  \HELP\                 ;                                            50  4C  45  48  000A0
  4108.     .BYTE   -1                 ;                                                FF  000A4
  4109. ;TPA$KEYST0
  4110. U.310:    .BLKB   0                                       ;                      000A5
  4111. ;TPA$KEYST
  4112. U.312:    .ASCII  \HOST\                 ;                                            54  53  4F  48  000A5
  4113.     .BYTE   -1                 ;                                                FF  000A9
  4114. ;TPA$KEYST0
  4115. U.317:    .BLKB   0                                       ;                      000AA
  4116. ;TPA$KEYST
  4117. U.319:    .ASCII  \LOGIN\                 ;                                        4E  49  47  4F  4C  000AA
  4118.     .BYTE   -1                 ;                                                FF  000AF
  4119. ;TPA$KEYST0
  4120. U.324:    .BLKB   0                                       ;                      000B0
  4121. ;TPA$KEYST
  4122. U.326:    .ASCII  \LOGOUT\             ;                                        54  55  4F  47  4F  4C  000B0
  4123.     .BYTE   -1                 ;                                                FF  000B6
  4124. ;TPA$KEYST0
  4125. U.331:    .BLKB   0                                       ;                      000B7
  4126. ;TPA$KEYST
  4127. U.333:    .ASCII  \RENAME\             ;                                        45  4D  41  4E  45  52  000B7
  4128.     .BYTE   -1                 ;                                                FF  000BD
  4129. ;TPA$KEYST0
  4130. U.338:    .BLKB   0                                       ;                      000BE
  4131. ;TPA$KEYST
  4132. U.340:    .ASCII  \SEND_MESSAGE\             ;                                53  45  4D  5F  44  4E  45  53  000BE
  4133.                          ;                                      45  47  41  53  000C6
  4134.     .BYTE   -1                 ;                                                FF  000CA
  4135. ;TPA$KEYST0
  4136. U.345:    .BLKB   0                                       ;                      000CB
  4137. ;TPA$KEYST
  4138. U.347:    .ASCII  \SPACE\                 ;                                        45  43  41  50  53  000CB
  4139.     .BYTE   -1                 ;                                                FF  000D0
  4140. ;TPA$KEYST0
  4141. U.352:    .BLKB   0                                       ;                      000D1
  4142. ;TPA$KEYST
  4143. U.354:    .ASCII  \STATUS\             ;                                        53  55  54  41  54  53  000D1
  4144.     .BYTE   -1                 ;                                                FF  000D7
  4145. ;TPA$KEYST0
  4146. U.359:    .BLKB   0                                       ;                      000D8
  4147. ;TPA$KEYST
  4148. U.361:    .ASCII  \TYPE\                 ;                                            45  50  59  54  000D8
  4149.     .BYTE   -1                 ;                                                FF  000DC
  4150. ;TPA$KEYST0
  4151. U.366:    .BLKB   0                                       ;                      000DD
  4152. ;TPA$KEYST
  4153. U.368:    .ASCII  \WHO\                 ;                                            4F  48  57  000DD
  4154.     .BYTE   -1                 ;                                                FF  000E0
  4155. ;TPA$KEYFILL
  4156. U.376:    .BYTE   -1                 ;                                                FF  000E1
  4157. ;TPA$KEYST0
  4158. U.388:    .BLKB   0                                       ;                      000E2
  4159. ;TPA$KEYST
  4160. U.390:    .ASCII  \BLOCK_CHECK_TYPE\         ;                                48  43  5F  4B  43  4F  4C  42  000E2
  4161.                          ;                          45  50  59  54  5F  4B  43  45  000EA
  4162.     .BYTE   -1                 ;                                                FF  000F2
  4163. ;TPA$KEYST0
  4164. U.394:    .BLKB   0                                       ;                      000F3
  4165. ;TPA$KEYST
  4166. U.396:    .ASCII  \DEBUGGING\             ;                                4E  49  47  47  55  42  45  44  000F3
  4167.                          ;                                          47  000FB
  4168.     .BYTE   -1                 ;                                                FF  000FC
  4169. ;TPA$KEYST0
  4170. U.400:    .BLKB   0                                       ;                      000FD
  4171. ;TPA$KEYST
  4172. U.402:    .ASCII  \DELAY\                 ;                                        59  41  4C  45  44  000FD
  4173.     .BYTE   -1                 ;                                                FF  00102
  4174. ;TPA$KEYST0
  4175. U.406:    .BLKB   0                                       ;                      00103
  4176. ;TPA$KEYST
  4177. U.408:    .ASCII  \ESCAPE\             ;                                        45  50  41  43  53  45  00103
  4178.     .BYTE   -1                 ;                                                FF  00109
  4179. ;TPA$KEYST0
  4180. U.412:    .BLKB   0                                       ;                      0010A
  4181. ;TPA$KEYST
  4182. U.414:    .ASCII  \FILE\                 ;                                            45  4C  49  46  0010A
  4183.     .BYTE   -1                 ;                                                FF  0010E
  4184. ;TPA$KEYST0
  4185. U.418:    .BLKB   0                                       ;                      0010F
  4186. ;TPA$KEYST
  4187. U.420:    .ASCII  \HANDSHAKE\             ;                                4B  41  48  53  44  4E  41  48  0010F
  4188.                          ;                                          45  00117
  4189.     .BYTE   -1                 ;                                                FF  00118
  4190. ;TPA$KEYST0
  4191. U.424:    .BLKB   0                                       ;                      00119
  4192. ;TPA$KEYST
  4193. U.426:    .ASCII  \IBM_MODE\             ;                                45  44  4F  4D  5F  4D  42  49  00119
  4194.     .BYTE   -1                 ;                                                FF  00121
  4195. ;TPA$KEYST0
  4196. U.430:    .BLKB   0                                       ;                      00122
  4197. ;TPA$KEYST
  4198. U.432:    .ASCII  \INCOMPLETE_FILE_DISPOSITION\     ;                                45  4C  50  4D  4F  43  4E  49  00122
  4199.                          ;                          5F  45  4C  49  46  5F  45  54  0012A
  4200.                          ;                          54  49  53  4F  50  53  49  44  00132
  4201.                          ;                                      4E  4F  49  0013A
  4202.     .BYTE   -1                 ;                                                FF  0013D
  4203. ;TPA$KEYST0
  4204. U.436:    .BLKB   0                                       ;                      0013E
  4205. ;TPA$KEYST
  4206. U.438:    .ASCII  \LINE\                 ;                                            45  4E  49  4C  0013E
  4207.     .BYTE   -1                 ;                                                FF  00142
  4208. ;TPA$KEYST0
  4209. U.441:    .BLKB   0                                       ;                      00143
  4210. ;TPA$KEYST
  4211. U.443:    .ASCII  \LOCAL_ECHO\             ;                                43  45  5F  4C  41  43  4F  4C  00143
  4212.                          ;                                          4F  48  0014B
  4213.     .BYTE   -1                 ;                                                FF  0014D
  4214. ;TPA$KEYST0
  4215. U.447:    .BLKB   0                                       ;                      0014E
  4216. ;TPA$KEYST
  4217. U.449:    .ASCII  \MESSAGE\             ;                                    45  47  41  53  53  45  4D  0014E
  4218.     .BYTE   -1                 ;                                                FF  00155
  4219. ;TPA$KEYST0
  4220. U.453:    .BLKB   0                                       ;                      00156
  4221. ;TPA$KEYST
  4222. U.455:    .ASCII  \PARITY\             ;                                        59  54  49  52  41  50  00156
  4223.     .BYTE   -1                 ;                                                FF  0015C
  4224. ;TPA$KEYST0
  4225. U.459:    .BLKB   0                                       ;                      0015D
  4226. ;TPA$KEYST
  4227. U.461:    .ASCII  \PROMPT\             ;                                        54  50  4D  4F  52  50  0015D
  4228.     .BYTE   -1                 ;                                                FF  00163
  4229. ;TPA$KEYST0
  4230. U.465:    .BLKB   0                                       ;                      00164
  4231. ;TPA$KEYST
  4232. U.467:    .ASCII  \RECEIVE\             ;                                    45  56  49  45  43  45  52  00164
  4233.     .BYTE   -1                 ;                                                FF  0016B
  4234. ;TPA$KEYST0
  4235. U.471:    .BLKB   0                                       ;                      0016C
  4236. ;TPA$KEYST
  4237. U.473:    .ASCII  \REPEAT_QUOTE\             ;                                51  5F  54  41  45  50  45  52  0016C
  4238.                          ;                                      45  54  4F  55  00174
  4239.     .BYTE   -1                 ;                                                FF  00178
  4240. ;TPA$KEYST0
  4241. U.477:    .BLKB   0                                       ;                      00179
  4242. ;TPA$KEYST
  4243. U.479:    .ASCII  \RETRY\                 ;                                        59  52  54  45  52  00179
  4244.     .BYTE   -1                 ;                                                FF  0017E
  4245. ;TPA$KEYST0
  4246. U.483:    .BLKB   0                                       ;                      0017F
  4247. ;TPA$KEYST
  4248. U.485:    .ASCII  \SEND\                 ;                                            44  4E  45  53  0017F
  4249.     .BYTE   -1                 ;                                                FF  00183
  4250. ;TPA$KEYST0
  4251. U.489:    .BLKB   0                                       ;                      00184
  4252. ;TPA$KEYST
  4253. U.491:    .ASCII  \SERVER_TIMER\             ;                                54  5F  52  45  56  52  45  53  00184
  4254.                          ;                                      52  45  4D  49  0018C
  4255.     .BYTE   -1                 ;                                                FF  00190
  4256. ;TPA$KEYST0
  4257. U.495:    .BLKB   0                                       ;                      00191
  4258. ;TPA$KEYST
  4259. U.497:    .ASCII  \TRANSMIT\             ;                                54  49  4D  53  4E  41  52  54  00191
  4260.     .BYTE   -1                 ;                                                FF  00199
  4261. ;TPA$KEYFILL
  4262. U.504:    .BYTE   -1                 ;                                                FF  0019A
  4263. ;TPA$KEYST0
  4264. U.505:    .BLKB   0                                       ;                      0019B
  4265. ;TPA$KEYST
  4266. U.507:    .ASCII  \DISCARD\             ;                                    44  52  41  43  53  49  44  0019B
  4267.     .BYTE   -1                 ;                                                FF  001A2
  4268. ;TPA$KEYST0
  4269. U.513:    .BLKB   0                                       ;                      001A3
  4270. ;TPA$KEYST
  4271. U.515:    .ASCII  \KEEP\                 ;                                            50  45  45  4B  001A3
  4272.     .BYTE   -1                 ;                                                FF  001A7
  4273. ;TPA$KEYFILL
  4274. U.524:    .BYTE   -1                 ;                                                FF  001A8
  4275. ;TPA$KEYST0
  4276. U.525:    .BLKB   0                                       ;                      001A9
  4277. ;TPA$KEYST
  4278. U.527:    .ASCII  \1_CHARACTER_CHECKSUM\         ;                                43  41  52  41  48  43  5F  31  001A9
  4279.                          ;                          43  45  48  43  5F  52  45  54  001B1
  4280.                          ;                                      4D  55  53  4B  001B9
  4281.     .BYTE   -1                 ;                                                FF  001BD
  4282. ;TPA$KEYST0
  4283. U.533:    .BLKB   0                                       ;                      001BE
  4284. ;TPA$KEYST
  4285. U.535:    .ASCII  \2_CHARACTER_CHECKSUM\         ;                                43  41  52  41  48  43  5F  32  001BE
  4286.                          ;                          43  45  48  43  5F  52  45  54  001C6
  4287.                          ;                                      4D  55  53  4B  001CE
  4288.     .BYTE   -1                 ;                                                FF  001D2
  4289. ;TPA$KEYST0
  4290. U.541:    .BLKB   0                                       ;                      001D3
  4291. ;TPA$KEYST
  4292. U.543:    .ASCII  \3_CHARACTER_CRC_CCITT\         ;                                43  41  52  41  48  43  5F  33  001D3
  4293.                          ;                          5F  43  52  43  5F  52  45  54  001DB
  4294.                          ;                                  54  54  49  43  43  001E3
  4295.     .BYTE   -1                 ;                                                FF  001E8
  4296. ;TPA$KEYST0
  4297. U.549:    .BLKB   0                                       ;                      001E9
  4298. ;TPA$KEYST
  4299. U.551:    .ASCII  \ONE_CHARACTER_CHECKSUM\     ;                                52  41  48  43  5F  45  4E  4F  001E9
  4300.                          ;                          48  43  5F  52  45  54  43  41  001F1
  4301.                          ;                                  4D  55  53  4B  43  45  001F9
  4302.     .BYTE   -1                 ;                                                FF  001FF
  4303. ;TPA$KEYST0
  4304. U.557:    .BLKB   0                                       ;                      00200
  4305. ;TPA$KEYST
  4306. U.559:    .ASCII  \THREE_CHARACTER_CRC_CCITT\     ;                                48  43  5F  45  45  52  48  54  00200
  4307.                          ;                          5F  52  45  54  43  41  52  41  00208
  4308.                          ;                          54  49  43  43  5F  43  52  43  00210
  4309.                          ;                                          54  00218
  4310.     .BYTE   -1                 ;                                                FF  00219
  4311. ;TPA$KEYST0
  4312. U.565:    .BLKB   0                                       ;                      0021A
  4313. ;TPA$KEYST
  4314. U.567:    .ASCII  \TWO_CHARACTER_CHECKSUM\     ;                                52  41  48  43  5F  4F  57  54  0021A
  4315.                          ;                          48  43  5F  52  45  54  43  41  00222
  4316.                          ;                                  4D  55  53  4B  43  45  0022A
  4317.     .BYTE   -1                 ;                                                FF  00230
  4318. ;TPA$KEYFILL
  4319. U.576:    .BYTE   -1                 ;                                                FF  00231
  4320. ;TPA$KEYST0
  4321. U.577:    .BLKB   0                                       ;                      00232
  4322. ;TPA$KEYST
  4323. U.579:    .ASCII  \OFF\                 ;                                            46  46  4F  00232
  4324.     .BYTE   -1                 ;                                                FF  00235
  4325. ;TPA$KEYST0
  4326. U.585:    .BLKB   0                                       ;                      00236
  4327. ;TPA$KEYST
  4328. U.587:    .ASCII  \ON\                 ;                                                4E  4F  00236
  4329.     .BYTE   -1                 ;                                                FF  00238
  4330. ;TPA$KEYFILL
  4331. U.596:    .BYTE   -1                 ;                                                FF  00239
  4332. ;TPA$KEYST0
  4333. U.597:    .BLKB   0                                       ;                      0023A
  4334. ;TPA$KEYST
  4335. U.599:    .ASCII  \OFF\                 ;                                            46  46  4F  0023A
  4336.     .BYTE   -1                 ;                                                FF  0023D
  4337. ;TPA$KEYST0
  4338. U.605:    .BLKB   0                                       ;                      0023E
  4339. ;TPA$KEYST
  4340. U.607:    .ASCII  \ON\                 ;                                                4E  4F  0023E
  4341.     .BYTE   -1                 ;                                                FF  00240
  4342. ;TPA$KEYFILL
  4343. U.616:    .BYTE   -1                 ;                                                FF  00241
  4344. ;TPA$KEYST0
  4345. U.617:    .BLKB   0                                       ;                      00242
  4346. ;TPA$KEYST
  4347. U.619:    .ASCII  \NONE\                 ;                                            45  4E  4F  4E  00242
  4348.     .BYTE   -1                 ;                                                FF  00246
  4349. ;TPA$KEYFILL
  4350. U.627:    .BYTE   -1                 ;                                                FF  00247
  4351. ;TPA$KEYST0
  4352. U.639:    .BLKB   0                                       ;                      00248
  4353. ;TPA$KEYST
  4354. U.641:    .ASCII  \NAMING\             ;                                        47  4E  49  4D  41  4E  00248
  4355.     .BYTE   -1                 ;                                                FF  0024E
  4356. ;TPA$KEYST0
  4357. U.645:    .BLKB   0                                       ;                      0024F
  4358. ;TPA$KEYST
  4359. U.647:    .ASCII  \TYPE\                 ;                                            45  50  59  54  0024F
  4360.     .BYTE   -1                 ;                                                FF  00253
  4361. ;TPA$KEYST0
  4362. U.651:    .BLKB   0                                       ;                      00254
  4363. ;TPA$KEYST
  4364. U.653:    .ASCII  \BLOCKSIZE\             ;                                5A  49  53  4B  43  4F  4C  42  00254
  4365.                          ;                                          45  0025C
  4366.     .BYTE   -1                 ;                                                FF  0025D
  4367. ;TPA$KEYFILL
  4368. U.659:    .BYTE   -1                 ;                                                FF  0025E
  4369. ;TPA$KEYST0
  4370. U.660:    .BLKB   0                                       ;                      0025F
  4371. ;TPA$KEYST
  4372. U.662:    .ASCII  \FULL\                 ;                                            4C  4C  55  46  0025F
  4373.     .BYTE   -1                 ;                                                FF  00263
  4374. ;TPA$KEYST0
  4375. U.668:    .BLKB   0                                       ;                      00264
  4376. ;TPA$KEYST
  4377. U.670:    .ASCII  \NORMAL_FORM\             ;                                46  5F  4C  41  4D  52  4F  4E  00264
  4378.                          ;                                      4D  52  4F  0026C
  4379.     .BYTE   -1                 ;                                                FF  0026F
  4380. ;TPA$KEYST0
  4381. U.676:    .BLKB   0                                       ;                      00270
  4382. ;TPA$KEYST
  4383. U.678:    .ASCII  \UNTRANSLATED\             ;                                4C  53  4E  41  52  54  4E  55  00270
  4384.                          ;                                      44  45  54  41  00278
  4385.     .BYTE   -1                 ;                                                FF  0027C
  4386. ;TPA$KEYFILL
  4387. U.687:    .BYTE   -1                 ;                                                FF  0027D
  4388. ;TPA$KEYST0
  4389. U.688:    .BLKB   0                                       ;                      0027E
  4390. ;TPA$KEYST
  4391. U.690:    .ASCII  \ASCII\                 ;                                        49  49  43  53  41  0027E
  4392.     .BYTE   -1                 ;                                                FF  00283
  4393. ;TPA$KEYST0
  4394. U.696:    .BLKB   0                                       ;                      00284
  4395. ;TPA$KEYST
  4396. U.698:    .ASCII  \BINARY\             ;                                        59  52  41  4E  49  42  00284
  4397.     .BYTE   -1                 ;                                                FF  0028A
  4398. ;TPA$KEYST0
  4399. U.704:    .BLKB   0                                       ;                      0028B
  4400. ;TPA$KEYST
  4401. U.706:    .ASCII  \BLOCK\                 ;                                        4B  43  4F  4C  42  0028B
  4402.     .BYTE   -1                 ;                                                FF  00290
  4403. ;TPA$KEYST0
  4404. U.712:    .BLKB   0                                       ;                      00291
  4405. ;TPA$KEYST
  4406. U.714:    .ASCII  \FIXED\                 ;                                        44  45  58  49  46  00291
  4407.     .BYTE   -1                 ;                                                FF  00296
  4408. ;TPA$KEYFILL
  4409. U.723:    .BYTE   -1                 ;                                                FF  00297
  4410. ;TPA$KEYST0
  4411. U.730:    .BLKB   0                                       ;                      00298
  4412. ;TPA$KEYST
  4413. U.732:    .ASCII  \OFF\                 ;                                            46  46  4F  00298
  4414.     .BYTE   -1                 ;                                                FF  0029B
  4415. ;TPA$KEYST0
  4416. U.738:    .BLKB   0                                       ;                      0029C
  4417. ;TPA$KEYST
  4418. U.740:    .ASCII  \ON\                 ;                                                4E  4F  0029C
  4419.     .BYTE   -1                 ;                                                FF  0029E
  4420. ;TPA$KEYFILL
  4421. U.749:    .BYTE   -1                 ;                                                FF  0029F
  4422. ;TPA$KEYST0
  4423. U.750:    .BLKB   0                                       ;                      002A0
  4424. ;TPA$KEYST
  4425. U.752:    .ASCII  \FILE_NAMES\             ;                                4D  41  4E  5F  45  4C  49  46  002A0
  4426.                          ;                                          53  45  002A8
  4427.     .BYTE   -1                 ;                                                FF  002AA
  4428. ;TPA$KEYST0
  4429. U.756:    .BLKB   0                                       ;                      002AB
  4430. ;TPA$KEYST
  4431. U.758:    .ASCII  \PACKET_NUMBERS\         ;                                4E  5F  54  45  4B  43  41  50  002AB
  4432.                          ;                                  53  52  45  42  4D  55  002B3
  4433.     .BYTE   -1                 ;                                                FF  002B9
  4434. ;TPA$KEYFILL
  4435. U.765:    .BYTE   -1                 ;                                                FF  002BA
  4436. ;TPA$KEYST0
  4437. U.766:    .BLKB   0                                       ;                      002BB
  4438. ;TPA$KEYST
  4439. U.768:    .ASCII  \OFF\                 ;                                            46  46  4F  002BB
  4440.     .BYTE   -1                 ;                                                FF  002BE
  4441. ;TPA$KEYST0
  4442. U.774:    .BLKB   0                                       ;                      002BF
  4443. ;TPA$KEYST
  4444. U.776:    .ASCII  \ON\                 ;                                                4E  4F  002BF
  4445.     .BYTE   -1                 ;                                                FF  002C1
  4446. ;TPA$KEYFILL
  4447. U.785:    .BYTE   -1                 ;                                                FF  002C2
  4448. ;TPA$KEYST0
  4449. U.786:    .BLKB   0                                       ;                      002C3
  4450. ;TPA$KEYST
  4451. U.788:    .ASCII  \OFF\                 ;                                            46  46  4F  002C3
  4452.     .BYTE   -1                 ;                                                FF  002C6
  4453. ;TPA$KEYST0
  4454. U.794:    .BLKB   0                                       ;                      002C7
  4455. ;TPA$KEYST
  4456. U.796:    .ASCII  \ON\                 ;                                                4E  4F  002C7
  4457.     .BYTE   -1                 ;                                                FF  002C9
  4458. ;TPA$KEYFILL
  4459. U.805:    .BYTE   -1                 ;                                                FF  002CA
  4460. ;TPA$KEYST0
  4461. U.818:    .BLKB   0                                       ;                      002CB
  4462. ;TPA$KEYST
  4463. U.820:    .ASCII  \INITIAL_CONNECTION\         ;                                5F  4C  41  49  54  49  4E  49  002CB
  4464.                          ;                          49  54  43  45  4E  4E  4F  43  002D3
  4465.                          ;                                          4E  4F  002DB
  4466.     .BYTE   -1                 ;                                                FF  002DD
  4467. ;TPA$KEYST0
  4468. U.824:    .BLKB   0                                       ;                      002DE
  4469. ;TPA$KEYST
  4470. U.826:    .ASCII  \PACKET\             ;                                        54  45  4B  43  41  50  002DE
  4471.     .BYTE   -1                 ;                                                FF  002E4
  4472. ;TPA$KEYFILL
  4473. U.833:    .BYTE   -1                 ;                                                FF  002E5
  4474. ;TPA$KEYST0
  4475. U.840:    .BLKB   0                                       ;                      002E6
  4476. ;TPA$KEYST
  4477. U.842:    .ASCII  \EVEN\                 ;                                            4E  45  56  45  002E6
  4478.     .BYTE   -1                 ;                                                FF  002EA
  4479. ;TPA$KEYST0
  4480. U.848:    .BLKB   0                                       ;                      002EB
  4481. ;TPA$KEYST
  4482. U.850:    .ASCII  \MARK\                 ;                                            4B  52  41  4D  002EB
  4483.     .BYTE   -1                 ;                                                FF  002EF
  4484. ;TPA$KEYST0
  4485. U.856:    .BLKB   0                                       ;                      002F0
  4486. ;TPA$KEYST
  4487. U.858:    .ASCII  \NONE\                 ;                                            45  4E  4F  4E  002F0
  4488.     .BYTE   -1                 ;                                                FF  002F4
  4489. ;TPA$KEYST0
  4490. U.864:    .BLKB   0                                       ;                      002F5
  4491. ;TPA$KEYST
  4492. U.866:    .ASCII  \ODD\                 ;                                            44  44  4F  002F5
  4493.     .BYTE   -1                 ;                                                FF  002F8
  4494. ;TPA$KEYST0
  4495. U.872:    .BLKB   0                                       ;                      002F9
  4496. ;TPA$KEYST
  4497. U.874:    .ASCII  \SPACE\                 ;                                        45  43  41  50  53  002F9
  4498.     .BYTE   -1                 ;                                                FF  002FE
  4499. ;TPA$KEYFILL
  4500. U.883:    .BYTE   -1                 ;                                                FF  002FF
  4501. ;TPA$KEYST0
  4502. U.884:    .BLKB   0                                       ;                      00300
  4503. ;TPA$KEYST
  4504. U.886:    .ASCII  \EIGHT-BIT-QUOTE\         ;                                49  42  2D  54  48  47  49  45  00300
  4505.                          ;                              45  54  4F  55  51  2D  54  00308
  4506.     .BYTE   -1                 ;                                                FF  0030F
  4507. ;TPA$KEYST0
  4508. U.890:    .BLKB   0                                       ;                      00310
  4509. ;TPA$KEYST
  4510. U.892:    .ASCII  \END_OF_LINE\             ;                                4C  5F  46  4F  5F  44  4E  45  00310
  4511.                          ;                                      45  4E  49  00318
  4512.     .BYTE   -1                 ;                                                FF  0031B
  4513. ;TPA$KEYST0
  4514. U.896:    .BLKB   0                                       ;                      0031C
  4515. ;TPA$KEYST
  4516. U.898:    .ASCII  \PACKET_LENGTH\             ;                                4C  5F  54  45  4B  43  41  50  0031C
  4517.                          ;                                  48  54  47  4E  45  00324
  4518.     .BYTE   -1                 ;                                                FF  00329
  4519. ;TPA$KEYST0
  4520. U.902:    .BLKB   0                                       ;                      0032A
  4521. ;TPA$KEYST
  4522. U.904:    .ASCII  \PADCHAR\             ;                                    52  41  48  43  44  41  50  0032A
  4523.     .BYTE   -1                 ;                                                FF  00331
  4524. ;TPA$KEYST0
  4525. U.908:    .BLKB   0                                       ;                      00332
  4526. ;TPA$KEYST
  4527. U.910:    .ASCII  \PADDING\             ;                                    47  4E  49  44  44  41  50  00332
  4528.     .BYTE   -1                 ;                                                FF  00339
  4529. ;TPA$KEYST0
  4530. U.914:    .BLKB   0                                       ;                      0033A
  4531. ;TPA$KEYST
  4532. U.916:    .ASCII  \QUOTE\                 ;                                        45  54  4F  55  51  0033A
  4533.     .BYTE   -1                 ;                                                FF  0033F
  4534. ;TPA$KEYST0
  4535. U.920:    .BLKB   0                                       ;                      00340
  4536. ;TPA$KEYST
  4537. U.922:    .ASCII  \START_OF_PACKET\         ;                                46  4F  5F  54  52  41  54  53  00340
  4538.                          ;                              54  45  4B  43  41  50  5F  00348
  4539.     .BYTE   -1                 ;                                                FF  0034F
  4540. ;TPA$KEYST0
  4541. U.926:    .BLKB   0                                       ;                      00350
  4542. ;TPA$KEYST
  4543. U.928:    .ASCII  \TIMEOUT\             ;                                    54  55  4F  45  4D  49  54  00350
  4544.     .BYTE   -1                 ;                                                FF  00357
  4545. ;TPA$KEYFILL
  4546. U.935:    .BYTE   -1                 ;                                                FF  00358
  4547. ;TPA$KEYST0
  4548. U.967:    .BLKB   0                                       ;                      00359
  4549. ;TPA$KEYST
  4550. U.969:    .ASCII  \END_OF_LINE\             ;                                4C  5F  46  4F  5F  44  4E  45  00359
  4551.                          ;                                      45  4E  49  00361
  4552.     .BYTE   -1                 ;                                                FF  00364
  4553. ;TPA$KEYST0
  4554. U.973:    .BLKB   0                                       ;                      00365
  4555. ;TPA$KEYST
  4556. U.975:    .ASCII  \PACKET_LENGTH\             ;                                4C  5F  54  45  4B  43  41  50  00365
  4557.                          ;                                  48  54  47  4E  45  0036D
  4558.     .BYTE   -1                 ;                                                FF  00372
  4559. ;TPA$KEYST0
  4560. U.979:    .BLKB   0                                       ;                      00373
  4561. ;TPA$KEYST
  4562. U.981:    .ASCII  \PADCHAR\             ;                                    52  41  48  43  44  41  50  00373
  4563.     .BYTE   -1                 ;                                                FF  0037A
  4564. ;TPA$KEYST0
  4565. U.985:    .BLKB   0                                       ;                      0037B
  4566. ;TPA$KEYST
  4567. U.987:    .ASCII  \PADDING\             ;                                    47  4E  49  44  44  41  50  0037B
  4568.     .BYTE   -1                 ;                                                FF  00382
  4569. ;TPA$KEYST0
  4570. U.991:    .BLKB   0                                       ;                      00383
  4571. ;TPA$KEYST
  4572. U.993:    .ASCII  \QUOTE\                 ;                                        45  54  4F  55  51  00383
  4573.     .BYTE   -1                 ;                                                FF  00388
  4574. ;TPA$KEYST0
  4575. U.997:    .BLKB   0                                       ;                      00389
  4576. ;TPA$KEYST
  4577. U.999:    .ASCII  \START_OF_PACKET\         ;                                46  4F  5F  54  52  41  54  53  00389
  4578.                          ;                              54  45  4B  43  41  50  5F  00391
  4579.     .BYTE   -1                 ;                                                FF  00398
  4580. ;TPA$KEYST0
  4581. U.1003: .BLKB   0                                       ;                      00399
  4582. ;TPA$KEYST
  4583. U.1005: .ASCII  \TIMEOUT\             ;                                    54  55  4F  45  4D  49  54  00399
  4584.     .BYTE   -1                 ;                                                FF  003A0
  4585. ;TPA$KEYFILL
  4586. U.1012: .BYTE   -1                 ;                                                FF  003A1
  4587. ;TPA$KEYST0
  4588. U.1043: .BLKB   0                                       ;                      003A2
  4589. ;TPA$KEYST
  4590. U.1045: .ASCII  \DELAY\                 ;                                        59  41  4C  45  44  003A2
  4591.     .BYTE   -1                 ;                                                FF  003A7
  4592. ;TPA$KEYST0
  4593. U.1049: .BLKB   0                                       ;                      003A8
  4594. ;TPA$KEYST
  4595. U.1051: .ASCII  \ECHO\                 ;                                            4F  48  43  45  003A8
  4596.     .BYTE   -1                 ;                                                FF  003AC
  4597. ;TPA$KEYFILL
  4598. U.1058: .BYTE   -1                 ;                                                FF  003AD
  4599. ;TPA$KEYST0
  4600. U.1063: .BLKB   0                                       ;                      003AE
  4601. ;TPA$KEYST
  4602. U.1065: .ASCII  \ON\                 ;                                                4E  4F  003AE
  4603.     .BYTE   -1                 ;                                                FF  003B0
  4604. ;TPA$KEYST0
  4605. U.1071: .BLKB   0                                       ;                      003B1
  4606. ;TPA$KEYST
  4607. U.1073: .ASCII  \OFF\                 ;                                            46  46  4F  003B1
  4608.     .BYTE   -1                 ;                                                FF  003B4
  4609. ;TPA$KEYFILL
  4610. U.1082: .BYTE   -1                 ;                                                FF  003B5
  4611. ;TPA$KEYST0
  4612. U.1091: .BLKB   0                                       ;                      003B6
  4613. ;TPA$KEYST
  4614. U.1093: .ASCII  \ALL\                 ;                                            4C  4C  41  003B6
  4615.     .BYTE   -1                 ;                                                FF  003B9
  4616. ;TPA$KEYST0
  4617. U.1098: .BLKB   0                                       ;                      003BA
  4618. ;TPA$KEYST
  4619. U.1100: .ASCII  \BLOCK_CHECK_TYPE\         ;                                48  43  5F  4B  43  4F  4C  42  003BA
  4620.                          ;                          45  50  59  54  5F  4B  43  45  003C2
  4621.     .BYTE   -1                 ;                                                FF  003CA
  4622. ;TPA$KEYST0
  4623. U.1105: .BLKB   0                                       ;                      003CB
  4624. ;TPA$KEYST
  4625. U.1107: .ASCII  \COMMUNICATIONS\         ;                                43  49  4E  55  4D  4D  4F  43  003CB
  4626.                          ;                                  53  4E  4F  49  54  41  003D3
  4627.     .BYTE   -1                 ;                                                FF  003D9
  4628. ;TPA$KEYST0
  4629. U.1112: .BLKB   0                                       ;                      003DA
  4630. ;TPA$KEYST
  4631. U.1114: .ASCII  \DEBUGGING\             ;                                4E  49  47  47  55  42  45  44  003DA
  4632.                          ;                                          47  003E2
  4633.     .BYTE   -1                 ;                                                FF  003E3
  4634. ;TPA$KEYST0
  4635. U.1119: .BLKB   0                                       ;                      003E4
  4636. ;TPA$KEYST
  4637. U.1121: .ASCII  \DELAY\                 ;                                        59  41  4C  45  44  003E4
  4638.     .BYTE   -1                 ;                                                FF  003E9
  4639. ;TPA$KEYST0
  4640. U.1126: .BLKB   0                                       ;                      003EA
  4641. ;TPA$KEYST
  4642. U.1128: .ASCII  \ESCAPE\             ;                                        45  50  41  43  53  45  003EA
  4643.     .BYTE   -1                 ;                                                FF  003F0
  4644. ;TPA$KEYST0
  4645. U.1133: .BLKB   0                                       ;                      003F1
  4646. ;TPA$KEYST
  4647. U.1135: .ASCII  \FILE_PARAMETERS\         ;                                52  41  50  5F  45  4C  49  46  003F1
  4648.                          ;                              53  52  45  54  45  4D  41  003F9
  4649.     .BYTE   -1                 ;                                                FF  00400
  4650. ;TPA$KEYST0
  4651. U.1140: .BLKB   0                                       ;                      00401
  4652. ;TPA$KEYST
  4653. U.1142: .ASCII  \INCOMPLETE_FILE_DISPOSITION\     ;                                45  4C  50  4D  4F  43  4E  49  00401
  4654.                          ;                          5F  45  4C  49  46  5F  45  54  00409
  4655.                          ;                          54  49  53  4F  50  53  49  44  00411
  4656.                          ;                                      4E  4F  49  00419
  4657.     .BYTE   -1                 ;                                                FF  0041C
  4658. ;TPA$KEYST0
  4659. U.1147: .BLKB   0                                       ;                      0041D
  4660. ;TPA$KEYST
  4661. U.1149: .ASCII  \LINE\                 ;                                            45  4E  49  4C  0041D
  4662.     .BYTE   -1                 ;                                                FF  00421
  4663. ;TPA$KEYST0
  4664. U.1154: .BLKB   0                                       ;                      00422
  4665. ;TPA$KEYST
  4666. U.1156: .ASCII  \LOCAL_ECHO\             ;                                43  45  5F  4C  41  43  4F  4C  00422
  4667.                          ;                                          4F  48  0042A
  4668.     .BYTE   -1                 ;                                                FF  0042C
  4669. ;TPA$KEYST0
  4670. U.1161: .BLKB   0                                       ;                      0042D
  4671. ;TPA$KEYST
  4672. U.1163: .ASCII  \PACKET\             ;                                        54  45  4B  43  41  50  0042D
  4673.     .BYTE   -1                 ;                                                FF  00433
  4674. ;TPA$KEYST0
  4675. U.1168: .BLKB   0                                       ;                      00434
  4676. ;TPA$KEYST
  4677. U.1170: .ASCII  \PARITY\             ;                                        59  54  49  52  41  50  00434
  4678.     .BYTE   -1                 ;                                                FF  0043A
  4679. ;TPA$KEYST0
  4680. U.1175: .BLKB   0                                       ;                      0043B
  4681. ;TPA$KEYST
  4682. U.1177: .ASCII  \SEND\                 ;                                            44  4E  45  53  0043B
  4683.     .BYTE   -1                 ;                                                FF  0043F
  4684. ;TPA$KEYST0
  4685. U.1182: .BLKB   0                                       ;                      00440
  4686. ;TPA$KEYST
  4687. U.1184: .ASCII  \TIMING\             ;                                        47  4E  49  4D  49  54  00440
  4688.     .BYTE   -1                 ;                                                FF  00446
  4689. ;TPA$KEYST0
  4690. U.1189: .BLKB   0                                       ;                      00447
  4691. ;TPA$KEYST
  4692. U.1191: .ASCII  \RECEIVE\             ;                                    45  56  49  45  43  45  52  00447
  4693.     .BYTE   -1                 ;                                                FF  0044E
  4694. ;TPA$KEYST0
  4695. U.1196: .BLKB   0                                       ;                      0044F
  4696. ;TPA$KEYST
  4697. U.1198: .ASCII  \RETRY\                 ;                                        59  52  54  45  52  0044F
  4698.     .BYTE   -1                 ;                                                FF  00454
  4699. ;TPA$KEYST0
  4700. U.1203: .BLKB   0                                       ;                      00455
  4701. ;TPA$KEYST
  4702. U.1205: .ASCII  \VERSION\             ;                                    4E  4F  49  53  52  45  56  00455
  4703.     .BYTE   -1                 ;                                                FF  0045C
  4704. ;TPA$KEYST0
  4705. U.1210: .BLKB   0                                       ;                      0045D
  4706. ;TPA$KEYST
  4707. U.1212: .ASCII  \TRANSMIT\             ;                                54  49  4D  53  4E  41  52  54  0045D
  4708.     .BYTE   -1                 ;                                                FF  00465
  4709. ;TPA$KEYFILL
  4710. U.1220: .BYTE   -1                 ;                                                FF  00466
  4711. ;TPA$KEYST0
  4712. U.1221: .BLKB   0                                       ;                      00467
  4713. ;TPA$KEYST
  4714. U.1223: .ASCII  \DEBUGGING\             ;                                4E  49  47  47  55  42  45  44  00467
  4715.                          ;                                          47  0046F
  4716.     .BYTE   -1                 ;                                                FF  00470
  4717. ;TPA$KEYST0
  4718. U.1227: .BLKB   0                                       ;                      00471
  4719. ;TPA$KEYST
  4720. U.1229: .ASCII  \SESSION\             ;                                    4E  4F  49  53  53  45  53  00471
  4721.     .BYTE   -1                 ;                                                FF  00478
  4722. ;TPA$KEYST0
  4723. U.1233: .BLKB   0                                       ;                      00479
  4724. ;TPA$KEYST
  4725. U.1235: .ASCII  \TRANSACTIONS\             ;                                54  43  41  53  4E  41  52  54  00479
  4726.                          ;                                      53  4E  4F  49  00481
  4727.     .BYTE   -1                 ;                                                FF  00485
  4728. ;TPA$KEYFILL
  4729. U.1242: .BYTE   -1                 ;                                                FF  00486
  4730. ;TPA$KEYST0
  4731. U.1281: .BLKB   0                                       ;                      00487
  4732. ;TPA$KEYST
  4733. U.1283: .ASCII  \DISPLAY\             ;                                    59  41  4C  50  53  49  44  00487
  4734.     .BYTE   -1                 ;                                                FF  0048E
  4735. ;TPA$KEYFILL
  4736. U.1291: .BYTE   -1                 ;                                                FF  0048F
  4737.  
  4738. U.1=            P.AAA
  4739. FNM_NORMAL==        1
  4740. FNM_FULL==        2
  4741. FNM_UNTRAN==        4
  4742. PR_MIN==        0
  4743. PR_NONE==        0
  4744. PR_MARK==        1
  4745. PR_EVEN==        2
  4746. PR_ODD==        3
  4747. PR_SPACE==        4
  4748. PR_MAX==        4
  4749. GC_MIN==        1
  4750. GC_EXIT==        1
  4751. GC_DIRECTORY==        2
  4752. GC_DISK_USAGE==     3
  4753. GC_DELETE==        4
  4754. GC_TYPE==        5
  4755. GC_HELP==        6
  4756. GC_LOGOUT==        7
  4757. GC_LGN==        8
  4758. GC_CONNECT==        9
  4759. GC_RENAME==        10
  4760. GC_COPY==        11
  4761. GC_WHO==        12
  4762. GC_SEND_MSG==        13
  4763. GC_STATUS==        14
  4764. GC_COMMAND==        15
  4765. GC_KERMIT==        16
  4766. GC_JOURNAL==        17
  4767. GC_VARIABLE==        18
  4768. GC_PROGRAM==        19
  4769. GC_MAX==        19
  4770. DP_FULL==        0
  4771. DP_HALF==        1
  4772. CHK_1CHAR==        49
  4773. CHK_2CHAR==        50
  4774. CHK_CRC==        51
  4775. MAX_MSG==        1002
  4776. U.38=            P.AAC
  4777.     .EXTRN  LIB$GET_INPUT, LIB$PUT_OUTPUT, LIB$TPARSE, LIB$CRC_TABLE, LIB$CRC, LIB$SIGNAL, LIB$ESTABLISH
  4778.     .EXTRN  LIB$ATTACH, LIB$SPAWN, SEND_SWITCH, REC_SWITCH, DO_GENERIC, SERVER, SND_ERROR, MSG_INIT
  4779.     .EXTRN  FILE_INIT, SY_INIT, TERM_INIT, TERM_OPEN, TERM_CLOSE, TERM_CONNECT, SET_TRANS_TERM
  4780.     .EXTRN  COMND_TRANSMIT, TT_INIT, TT_TEXT, TT_NUMBER, TT_CHAR, TT_OUTPUT, TT_CRLF, RCV_PKT_SIZE
  4781.     .EXTRN  RCV_NPAD, RCV_PADCHAR, RCV_TIMEOUT, RCV_EOL, RCV_QUOTE_CHR, RCV_8QUOTE_CHR, RCV_SOH
  4782.     .EXTRN  SND_PKT_SIZE, SND_NPAD, SND_PADCHAR, SND_TIMEOUT, SND_EOL, SND_QUOTE_CHR, SND_SOH
  4783.     .EXTRN  SRV_TIMEOUT, SET_REPT_CHR, SND_TOTAL_CHARS, RCV_TOTAL_CHARS, SND_DATA_CHARS, RCV_DATA_CHARS
  4784.     .EXTRN  SMSG_TOTAL_CHARS, RMSG_TOTAL_CHARS, SMSG_DATA_CHARS, RMSG_DATA_CHARS, RCV_NAKS, SND_NAKS
  4785.     .EXTRN  RMSG_NAKS, SMSG_NAKS, RCV_COUNT, SND_COUNT, RMSG_COUNT, SMSG_COUNT, XFR_TIME, TOTAL_TIME
  4786.     .EXTRN  LAST_ERROR, TY_PKT, TY_FIL, GEN_1DATA, GEN_1SIZE, GEN_2DATA, GEN_2SIZE, GEN_3DATA
  4787.     .EXTRN  GEN_3SIZE, FILE_SIZE, FILE_NAME, SI_RETRIES, PKT_RETRIES, DELAY, DEBUG_FLAG, CHKTYPE
  4788.     .EXTRN  ABT_FLAG, IBM_CHAR, WARN_FLAG, FIL_NORMAL_FORM, PARITY_TYPE, ECHO_FLAG, CONNECT_FLAG
  4789.     .EXTRN  FILE_BLOCKSIZE, FILE_BLOCKSIZE_SET, FILE_TYPE, FILE_DESC, SESSION_DESC, DEBUG_DESC
  4790.     .EXTRN  TERM_DESC, TRANS_ECHO_FLAG, TRANS_DELAY, TERM_FLAG
  4791.  
  4792.     .PSECT  $CODE$,NOWRT,2
  4793.  
  4794. ;MAIN_ROUTINE
  4795. U.1302: .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               2184                    003C   00000
  4796.     MOVAB   G^U.1, R5             ;U.1, R5                                     55 00000000'  00  9E   00002
  4797.     MOVAB   G^ESCAPE_CHR, R4         ;ESCAPE_CHR, R4                                 54 00000000'  00  9E   00009
  4798.     MOVAB   G^U.60, R3             ;U.60, R3                                     53 00000000'  00  9E   00010
  4799.     SUBL2   #4, SP                 ;#4, SP                                     5E         04  C2   00017
  4800.     PUSHL   R5                 ;R5                       2226                  55  DD   0001A
  4801.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   0001C
  4802.     MOVL    R0, R2                 ;R0, STATUS                                     52         50  D0   00023
  4803.     CALLS   #0, G^MSG_INIT             ;#0, MSG_INIT                   2227 00000000G  00         00  FB   00026
  4804.     CALLS   #0, G^TERM_INIT             ;#0, TERM_INIT                   2228 00000000G  00         00  FB   0002D
  4805.     CALLS   #0, G^TT_INIT             ;#0, TT_INIT                   2229 00000000G  00         00  FB   00034
  4806.     CALLS   #0, G^FILE_INIT             ;#0, FILE_INIT                   2230 00000000G  00         00  FB   0003B
  4807.     CALLS   #0, G^SY_INIT             ;#0, SY_INIT                   2231 00000000G  00         00  FB   00042
  4808.     MOVL    #29, (R4)             ;#29, ESCAPE_CHR               2232            64         1D  D0   00049
  4809.     MOVZWL  #33800, (SP)             ;#33800, CRC_BIT_MASK               2236            6E     8408   8F  3C   0004C
  4810.     PUSHL   R3                 ;R3                       2237                  53  DD   00051
  4811.     PUSHAB  4(SP)                 ;CRC_BIT_MASK                                      04   AE  9F   00053
  4812.     CALLS   #2, G^LIB$CRC_TABLE         ;#2, LIB$CRC_TABLE                      00000000G  00         02  FB   00056
  4813.     PUSHAB  G^U.37                 ;U.37                       2238           00000000V  00  9F   0005D
  4814.     CALLS   #1, G^LIB$ESTABLISH         ;#1, LIB$ESTABLISH                      00000000G  00         01  FB   00063
  4815.     MOVL    #17694720, -160(R4)         ;#17694720, TRANSACTION_DESC           2242     FF60   C4 010E0000   8F  D0   0006A
  4816.     MOVAB   -272(R3), -156(R4)         ;TRANSACTION_NAME, -                          FF64   C4     FEF0   C3  9E   00073
  4817.                          ;TRANSACTION_DESC+4
  4818.     MOVL    #17694720, 64(R3)         ;#17694720, TAK_FIL_DESC           2246       40   A3 010E0000   8F  D0   0007A
  4819.     MOVAB   72(R3), 68(R3)             ;TAK_FIL_NAME, TAK_FIL_DESC+4                        44   A3    48   A3  9E   00082
  4820.     MOVL    #17694720, -140(R3)         ;#17694720, PROMPT_DESC           2250     FF74   C3 010E0000   8F  D0   00087
  4821.     MOVAB   -132(R3), -136(R3)         ;PROMPT_TEXT, PROMPT_DESC+4                      FF78   C3     FF7C   C3  9E   00090
  4822.     MOVQ    #1, -(SP)             ;#1, -(SP)                   2254            7E         01  7D   00097
  4823.     PUSHAB  56(R5)                 ;P.AAG                                          38   A5  9F   0009A
  4824.     PUSHAB  40(R5)                 ;P.AAE                                          28   A5  9F   0009D
  4825.     CALLS   #4, G^U.4             ;#4, U.4                          00000000V  00         04  FB   000A0
  4826.     CALLS   #0, G^U.2             ;#0, U.2                   2258 00000000V  00         00  FB   000A7
  4827.     MOVL    R0, R2                 ;R0, STATUS                                     52         50  D0   000AE
  4828.     BISL3   #268435456, -276(R3), R0     ;#268435456, FINAL_STATUS, R0           2259     FEEC   C3 10000000   8F  C9   000B1
  4829.                          ;                                         50       000BA
  4830.     RET                      ;                                               04   000BB
  4831.  
  4832. ; Routine Size:  188 bytes,    Routine Base:  $CODE$ + 0000
  4833.  
  4834.  
  4835. ;   2261  1     %SBTTL 'COMND'
  4836. ;   2262  1    ROUTINE COMND =
  4837. ;   2263  1     
  4838. ;   2264  1    !++
  4839. ;   2265  1    ! FUNCTIONAL DESCRIPTION:
  4840. ;   2266  1    !    This routine will do the command scanning for KERMIT-32.  It
  4841. ;   2267  1    !    will call the correct routines to process the commands.
  4842. ;   2268  1    !
  4843. ;   2269  1    ! CALLING SEQUENCE:
  4844. ;   2270  1    !
  4845. ;   2271  1    !    COMND();
  4846. ;   2272  1    !
  4847. ;   2273  1    ! INPUT PARAMETERS:
  4848. ;   2274  1    !
  4849. ;   2275  1    !    None.
  4850. ;   2276  1    !
  4851. ;   2277  1    ! IMPLICIT INPUTS:
  4852. ;   2278  1    !
  4853. ;   2279  1    !    None.
  4854. ;   2280  1    !
  4855. ;   2281  1    ! OUTPUT PARAMETERS:
  4856. ;   2282  1    !
  4857. ;   2283  1    !    None.
  4858. ;   2284  1    !
  4859. ;   2285  1    ! IMPLICIT OUTPUTS:
  4860. ;   2286  1    !
  4861. ;   2287  1    !    None.
  4862. ;   2288  1    !
  4863. ;   2289  1    ! COMPLETION CODES:
  4864. ;   2290  1    !
  4865. ;   2291  1    !    Return status from last command.
  4866. ;   2292  1    !
  4867. ;   2293  1    ! SIDE EFFECTS:
  4868. ;   2294  1    !
  4869. ;   2295  1    !    None.
  4870. ;   2296  1    !
  4871. ;   2297  1    !--
  4872. ;   2298  1     
  4873. ;   2299  2        BEGIN
  4874. ;   2300  2     
  4875. ;   2301  2        EXTERNAL ROUTINE
  4876. ;   2302  2        GET_COMMAND,                ! Get line from SYS$COMMAND
  4877. ;   2303  2        LIB$GET_FOREIGN : ADDRESSING_MODE (GENERAL);    ! Get command which started program
  4878. ;   2304  2     
  4879. ;   2305  2        LOCAL
  4880. ;   2306  2        DESC : BLOCK [8, BYTE],
  4881. ;   2307  2        CMD_BUF : VECTOR [80, BYTE, UNSIGNED],
  4882. ;   2308  2        CMD_SIZE : UNSIGNED WORD,
  4883. ;   2309  2        ONE_COMMAND,                ! Only do one command
  4884. ;   2310  2        STATUS : UNSIGNED LONG;
  4885. ;   2311  2     
  4886. ;   2312  2        ONE_COMMAND = FALSE;            ! And many commands
  4887. ;   2313  2    !
  4888. ;   2314  2    ! Initialize the command string descriptor
  4889. ;   2315  2    !
  4890. ;   2316  2        INIT_STR_DESC (DESC, CMD_BUF, 80);
  4891. ;   2317  2    !
  4892. ;   2318  2    ! Get the first command string.  If we get something, then we will only
  4893. ;   2319  2    ! want to perform one command, then exit.  Otherwise, we will do commands
  4894. ;   2320  2    ! until something one tells us to exit.
  4895. ;   2321  2    !
  4896. ;   2322  2        STATUS = LIB$GET_FOREIGN (DESC, 0, CMD_SIZE, 0);
  4897. ;   2323  2     
  4898. ;   2324  2        IF .STATUS EQL RMS$_EOF THEN RETURN SS$_NORMAL;
  4899. ;   2325  2     
  4900. ;   2326  2        IF NOT .STATUS
  4901. ;   2327  2        THEN
  4902. ;   2328  3        BEGIN
  4903. ;   2329  3        LIB$SIGNAL (.STATUS);
  4904. ;   2330  3        RETURN .STATUS;
  4905. ;   2331  2        END;
  4906. ;   2332  2     
  4907. ;   2333  2        IF .CMD_SIZE GTR 0 THEN ONE_COMMAND = TRUE;
  4908. ;   2334  2     
  4909. ;   2335  2        WHILE TRUE DO
  4910. ;   2336  3        BEGIN
  4911. ;   2337  3     
  4912. ;   2338  3        IF .CMD_SIZE GTR 0
  4913. ;   2339  3        THEN
  4914. ;   2340  4            BEGIN
  4915. ;   2341  4            DESC [DSC$W_LENGTH] = .CMD_SIZE;
  4916. ;   2342  4     
  4917. ;   2343  4            IF .STATUS THEN STATUS = DO_COMND (DESC);
  4918. ;   2344  4     
  4919. ;   2345  4            IF .STATUS EQL KER_EXIT THEN RETURN SS$_NORMAL;
  4920. ;   2346  4     
  4921. ;   2347  4            IF NOT .STATUS AND .STATUS NEQ KER_TAKE_ERROR THEN COMND_ERROR (.STATUS);
  4922. ;   2348  4     
  4923. ;   2349  3            END;
  4924. ;   2350  3     
  4925. ;   2351  3    !
  4926. ;   2352  3    ! If we were given command when run, just exit after doing it
  4927. ;   2353  3    !
  4928. ;   2354  3     
  4929. ;   2355  3        IF .ONE_COMMAND THEN RETURN SS$_NORMAL;
  4930. ;   2356  3     
  4931. ;   2357  3    !
  4932. ;   2358  3    ! Initialize prompt if null
  4933. ;   2359  3    !
  4934. ;   2360  3     
  4935. ;   2361  3        IF .PROMPT_DESC [DSC$W_LENGTH] LEQ 0
  4936. ;   2362  3        THEN
  4937. ;   2363  4            BEGIN
  4938. ;   2364  4            CH$COPY (.DEFAULT_PROMPT [DSC$W_LENGTH], CH$PTR (.DEFAULT_PROMPT [DSC$A_POINTER]), 0,
  4939. ;   2365  4            TEMP_LENGTH, CH$PTR (PROMPT_TEXT));
  4940. ;   2366  4            PROMPT_DESC = .DEFAULT_PROMPT [DSC$W_LENGTH];
  4941. ;   2367  3            END;
  4942. ;   2368  3     
  4943. ;   2369  3        DESC [DSC$W_LENGTH] = 80;        ! Reset length
  4944. ;   2370  3        STATUS = GET_COMMAND (DESC, PROMPT_DESC, CMD_SIZE, TRUE);
  4945. ;   2371  3     
  4946. ;   2372  3        IF .STATUS EQL RMS$_EOF THEN RETURN SS$_NORMAL;
  4947. ;   2373  3    !
  4948. ;   2374  3    ! If there was an error then return the error code to the upper level
  4949. ;   2375  3    !
  4950. ;   2376  3        IF NOT .STATUS                ! Failing status?
  4951. ;   2377  3        THEN
  4952. ;   2378  3            RETURN .STATUS;            ! Yes, return it
  4953. ;   2379  3     
  4954. ;   2380  2        END;                    ! End of WHILE TRUE DO BEGIN
  4955. ;   2381  2     
  4956. ;   2382  2        RETURN SS$_NORMAL;
  4957. ;   2383  1        END;                    ! End of COMND
  4958.  
  4959.  
  4960.  
  4961.     .EXTRN  GET_COMMAND, LIB$GET_FOREIGN
  4962.  
  4963. ;COMND
  4964. U.2:    .WORD   ^M<R2,R3,R4,R5,R6,R7,R8,R9>     ;Save R2,R3,R4,R5,R6,R7,R8,R9           2262                    03FC   00000
  4965.     MOVAB   G^U.58, R9             ;U.58, R9                                     59 00000000'  00  9E   00002
  4966.     MOVAB   -92(SP), SP             ;-92(SP), SP                                     5E    A4   AE  9E   00009
  4967.     CLRL    R8                 ;ONE_COMMAND                   2312                  58  D4   0000D
  4968.     MOVL    #17694800, 84(SP)         ;#17694800, DESC               2316       54   AE 010E0050   8F  D0   0000F
  4969.     MOVAB   4(SP), 88(SP)             ;CMD_BUF, DESC+4                            58   AE    04   AE  9E   00017
  4970.     CLRL    -(SP)                 ;-(SP)                       2322                  7E  D4   0001C
  4971.     PUSHAB  4(SP)                 ;CMD_SIZE                                      04   AE  9F   0001E
  4972.     CLRL    -(SP)                 ;-(SP)                                               7E  D4   00021
  4973.     PUSHAB  96(SP)                 ;DESC                                          60   AE  9F   00023
  4974.     CALLS   #4, G^LIB$GET_FOREIGN         ;#4, LIB$GET_FOREIGN                      00000000G  00         04  FB   00026
  4975.     MOVL    R0, R7                 ;R0, STATUS                                     57         50  D0   0002D
  4976.     CMPL    R7, #98938             ;STATUS, #98938               2324 0001827A   8F         57  D1   00030
  4977.     BEQL    4$                 ;4$                                               35  13   00037
  4978.     BLBS    R7, 1$                 ;STATUS, 1$                   2326            0C         57  E8   00039
  4979.     PUSHL   R7                 ;STATUS                   2329                  57  DD   0003C
  4980.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   0003E
  4981.     BRW     7$                 ;7$                       2330                0083  31   00045
  4982. 1$:    TSTW    (SP)                 ;CMD_SIZE                   2333                  6E  B5   00048
  4983.     BEQL    2$                 ;2$                                               03  13   0004A
  4984.     MOVL    #1, R8                 ;#1, ONE_COMMAND                                 58         01  D0   0004C
  4985. 2$:    TSTW    (SP)                 ;CMD_SIZE                   2338                  6E  B5   0004F
  4986.     BEQL    5$                 ;5$                                               32  13   00051
  4987.     MOVW    (SP), 84(SP)             ;CMD_SIZE, DESC               2341       54   AE         6E  B0   00053
  4988.     BLBC    R7, 3$                 ;STATUS, 3$                   2343            0D         57  E9   00057
  4989.     PUSHAB  84(SP)                 ;DESC                                          54   AE  9F   0005A
  4990.     CALLS   #1, G^U.5             ;#1, U.5                          00000000V  00         01  FB   0005D
  4991.     MOVL    R0, R7                 ;R0, STATUS                                     57         50  D0   00064
  4992. 3$:    CMPL    R7, #134316203             ;STATUS, #134316203               2345 080180AB   8F         57  D1   00067
  4993. 4$:    BEQL    8$                 ;8$                                               5F  13   0006E
  4994.     BLBS    R7, 5$                 ;STATUS, 5$                   2347            12         57  E8   00070
  4995.     CMPL    R7, #134316306             ;STATUS, #134316306                      08018112   8F         57  D1   00073
  4996.     BEQL    5$                 ;5$                                               09  13   0007A
  4997.     PUSHL   R7                 ;STATUS                                           57  DD   0007C
  4998.     CALLS   #1, G^U.3             ;#1, U.3                          00000000V  00         01  FB   0007E
  4999. 5$:    BLBS    R8, 8$                 ;ONE_COMMAND, 8$               2355            47         58  E8   00085
  5000.     TSTW    (R9)                 ;PROMPT_DESC                   2361                  69  B5   00088
  5001.     BNEQ    6$                 ;6$                                               1A  12   0008A
  5002.     MOVZWL  G^U.38, R6             ;U.38, R6                   2364            56 00000000'  00  3C   0008C
  5003.     MOVL    G^U.38+4, R0             ;U.38+4, R0                                     50 00000000'  00  D0   00093
  5004.     MOVC5   R6, (R0), #0, #132, 8(R9)     ;R6, (R0), #0, #132, PROMPT_TEXT      2365            60         56  2C   0009A
  5005.                          ;                            0084   8F         00       0009D
  5006.                          ;                                    08   A9       000A1
  5007.     MOVL    R6, (R9)             ;R6, PROMPT_DESC               2366            69         56  D0   000A3
  5008. 6$:    MOVZBW  #80, 84(SP)             ;#80, DESC                   2369       54   AE    50   8F  9B   000A6
  5009.     PUSHL   #1                 ;#1                       2370                  01  DD   000AB
  5010.     PUSHAB  4(SP)                 ;CMD_SIZE                                      04   AE  9F   000AD
  5011.     PUSHL   R9                 ;R9                                               59  DD   000B0
  5012.     PUSHAB  96(SP)                 ;DESC                                          60   AE  9F   000B2
  5013.     CALLS   #4, G^GET_COMMAND         ;#4, GET_COMMAND                      00000000G  00         04  FB   000B5
  5014.     MOVL    R0, R7                 ;R0, STATUS                                     57         50  D0   000BC
  5015.     CMPL    R7, #98938             ;STATUS, #98938               2372 0001827A   8F         57  D1   000BF
  5016.     BEQL    8$                 ;8$                                               07  13   000C6
  5017.     BLBS    R7, 2$                 ;STATUS, 2$                   2376            84         57  E8   000C8
  5018. 7$:    MOVL    R7, R0                 ;STATUS, R0                   2378            50         57  D0   000CB
  5019.     RET                      ;                                               04   000CE
  5020. 8$:    MOVL    #1, R0                 ;#1, R0                   2382            50         01  D0   000CF
  5021.     RET                      ;                                               04   000D2
  5022.  
  5023. ; Routine Size:  211 bytes,    Routine Base:  $CODE$ + 00BC
  5024.  
  5025.  
  5026. ;   2384  1     %SBTTL 'COMND_FILE - Perform take (indirect) file'
  5027. ;   2385  1    ROUTINE COMND_FILE (TAKE_DESC, DEFAULT_DESC, OK_NONE, DISPLAY_FLAG) =
  5028. ;   2386  1     
  5029. ;   2387  1    !++
  5030. ;   2388  1    ! FUNCTIONAL DESCRIPTION:
  5031. ;   2389  1    !
  5032. ;   2390  1    ! This routine will read a file of commands and perform them.  If any
  5033. ;   2391  1    ! error occurs, it will abort the command processing.
  5034. ;   2392  1    !
  5035. ;   2393  1    ! CALLING SEQUENCE:
  5036. ;   2394  1    !
  5037. ;   2395  1    !    STATUS = COMND_FILE (TAKE_DESC, DEFAULT_DESC, OK_NONE, DISPLAY_FLAG)
  5038. ;   2396  1    !
  5039. ;   2397  1    ! INPUT PARAMETERS:
  5040. ;   2398  1    !
  5041. ;   2399  1    !    TAKE_DESC - String descriptor of file specification
  5042. ;   2400  1    !    DEFAULT_DESC - Default file specification
  5043. ;   2401  1    !    OK_NONE - If true, return EOF if file does not exist, otherwise
  5044. ;   2402  1    !        return error if file does not exist.
  5045. ;   2403  1    !    DISPLAY_FLAG - If true display commands being executed
  5046. ;   2404  1    !
  5047. ;   2405  1    ! IMPLICIT INPUTS:
  5048. ;   2406  1    !
  5049. ;   2407  1    !    None.
  5050. ;   2408  1    !
  5051. ;   2409  1    ! OUPTUT PARAMETERS:
  5052. ;   2410  1    !
  5053. ;   2411  1    !    None.
  5054. ;   2412  1    !
  5055. ;   2413  1    ! IMPLICIT OUTPUTS:
  5056. ;   2414  1    !
  5057. ;   2415  1    !    None.
  5058. ;   2416  1    !
  5059. ;   2417  1    ! COMPLETION CODES:
  5060. ;   2418  1    !
  5061. ;   2419  1    !    Standard status values
  5062. ;   2420  1    !
  5063. ;   2421  1    ! SIDE EFFECTS:
  5064. ;   2422  1    !
  5065. ;   2423  1    !    None.
  5066. ;   2424  1    !
  5067. ;   2425  1    !--
  5068. ;   2426  1     
  5069. ;   2427  2        BEGIN
  5070. ;   2428  2     
  5071. ;   2429  2        EXTERNAL ROUTINE
  5072. ;   2430  2        STR$UPCASE : ADDRESSING_MODE (GENERAL),    ! Upcase a string
  5073. ;   2431  2        LIB$GET_VM : ADDRESSING_MODE (GENERAL) NOVALUE,
  5074. ;   2432  2        LIB$FREE_VM : ADDRESSING_MODE (GENERAL) NOVALUE;
  5075. ;   2433  2     
  5076. ;   2434  2        MAP
  5077. ;   2435  2        TAKE_DESC : REF BLOCK [8, BYTE],
  5078. ;   2436  2        DEFAULT_DESC : REF BLOCK [8, BYTE];    ! The args are descriptors
  5079. ;   2437  2     
  5080. ;   2438  2        LOCAL
  5081. ;   2439  2        TAKE_FILE_DESC : BLOCK [8, BYTE],    ! Descriptor for take file
  5082. ;   2440  2        TAKE_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)],    ! Name of take file
  5083. ;   2441  2        TAKE_FILE_FAB : $FAB_DECL,        ! FAB for take file
  5084. ;   2442  2        TAKE_FILE_RAB : $RAB_DECL,        ! RAB for take file
  5085. ;   2443  2        TAKE_FILE_XABFHC : $XABFHC_DECL,    ! XAB for file header items
  5086. ;   2444  2        TAKE_FILE_BADR,                ! Address of take file buffer
  5087. ;   2445  2        TAKE_FILE_BSIZ,                ! Size of take file buffer
  5088. ;   2446  2        TAKE_FILE_FADR,                ! Address of fixed header buffer
  5089. ;   2447  2        TAKE_FILE_FSIZ,                ! size of fixed header buffer
  5090. ;   2448  2        STATUS,                    ! Random status values
  5091. ;   2449  2        CMD_DESC : BLOCK [8, BYTE];        ! Descriptor for command
  5092. ;   2450  2     
  5093. ;   2451  2        CH$COPY (.TAKE_DESC [DSC$W_LENGTH], CH$PTR (.TAKE_DESC [DSC$A_POINTER]), 0, MAX_FILE_NAME,
  5094. ;   2452  2        CH$PTR (TAKE_FILE_NAME));
  5095. ;   2453  2        INIT_STR_DESC (TAKE_FILE_DESC, TAKE_FILE_NAME, .TAKE_DESC [DSC$W_LENGTH]);
  5096. ; P 2454  2        $FAB_INIT (FAB = TAKE_FILE_FAB, FNA = TAKE_FILE_NAME, FNS = .TAKE_FILE_DESC [DSC$W_LENGTH], FAC = GET,
  5097. ;   2455  2        XAB = TAKE_FILE_XABFHC, DNA = .DEFAULT_DESC [DSC$A_POINTER], DNS = .DEFAULT_DESC [DSC$W_LENGTH]);
  5098. ;   2456  2        $XABFHC_INIT (XAB = TAKE_FILE_XABFHC);
  5099. ;   2457  2        STATUS = $OPEN (FAB = TAKE_FILE_FAB);
  5100. ;   2458  2     
  5101. ;   2459  2        IF NOT .STATUS
  5102. ;   2460  2        THEN
  5103. ;   2461  3        BEGIN
  5104. ;   2462  3     
  5105. ;   2463  3        IF .STATUS EQL RMS$_FNF AND .OK_NONE THEN RETURN KER_TAKE_EOF;
  5106. ;   2464  3     
  5107. ;   2465  3        LIB$SIGNAL (.STATUS);
  5108. ;   2466  3        RETURN KER_TAKE_ERROR;
  5109. ;   2467  2        END;
  5110. ;   2468  2     
  5111. ;   2469  2    !
  5112. ;   2470  2    ! Allocate a buffer
  5113. ;   2471  2    !
  5114. ;   2472  2        TAKE_FILE_BSIZ = .TAKE_FILE_XABFHC [XAB$W_LRL];
  5115. ;   2473  2     
  5116. ;   2474  2        IF .TAKE_FILE_BSIZ EQL 0 THEN TAKE_FILE_BSIZ = MAX_REC_LENGTH;
  5117. ;   2475  2     
  5118. ;   2476  2        LIB$GET_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
  5119. ;   2477  2        INIT_STR_DESC (CMD_DESC, .TAKE_FILE_BADR, .TAKE_FILE_BSIZ);
  5120. ;   2478  2    !
  5121. ;   2479  2    ! Determine if we need a buffer for the fixed control area
  5122. ;   2480  2    !
  5123. ;   2481  2        TAKE_FILE_FSIZ = .TAKE_FILE_FAB [FAB$B_FSZ];
  5124. ;   2482  2     
  5125. ;   2483  2        IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$GET_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
  5126. ;   2484  2     
  5127. ;   2485  2    !
  5128. ;   2486  2    ! Initialize the RAB for the $CONNECT RMS call
  5129. ;   2487  2    !
  5130. ; P 2488  2        $RAB_INIT (RAB = TAKE_FILE_RAB, FAB = TAKE_FILE_FAB, RAC = SEQ, ROP = NLK, UBF = .TAKE_FILE_BADR,
  5131. ;   2489  2        USZ = .TAKE_FILE_BSIZ);
  5132. ;   2490  2     
  5133. ;   2491  2        IF .TAKE_FILE_FSIZ NEQ 0 THEN TAKE_FILE_RAB [RAB$L_RHB] = .TAKE_FILE_FADR;
  5134. ;   2492  2     
  5135. ;   2493  2        STATUS = $CONNECT (RAB = TAKE_FILE_RAB);
  5136. ;   2494  2     
  5137. ;   2495  2        IF NOT .STATUS
  5138. ;   2496  2        THEN
  5139. ;   2497  3        BEGIN
  5140. ;   2498  3        LIB$SIGNAL (.STATUS);
  5141. ;   2499  3        LIB$FREE_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
  5142. ;   2500  3     
  5143. ;   2501  3        IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$FREE_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
  5144. ;   2502  3     
  5145. ;   2503  3        RETURN KER_TAKE_ERROR;
  5146. ;   2504  2        END;
  5147. ;   2505  2     
  5148. ;   2506  2        WHILE (STATUS = $GET (RAB = TAKE_FILE_RAB)) DO
  5149. ;   2507  3        BEGIN
  5150. ;   2508  3     
  5151. ;   2509  3        IF .TAKE_FILE_RAB [RAB$W_RSZ] GTR 0
  5152. ;   2510  3        THEN
  5153. ;   2511  4            BEGIN
  5154. ;   2512  4            CMD_DESC [DSC$W_LENGTH] = .TAKE_FILE_RAB [RAB$W_RSZ];
  5155. ;   2513  4            STATUS = STR$UPCASE (CMD_DESC, CMD_DESC);
  5156. ;   2514  4     
  5157. ;   2515  4            IF .DISPLAY_FLAG THEN LIB$PUT_OUTPUT (CMD_DESC);
  5158. ;   2516  4     
  5159. ;   2517  4            STATUS = DO_COMND (CMD_DESC);
  5160. ;   2518  4     
  5161. ;   2519  4            IF NOT .STATUS
  5162. ;   2520  4            THEN
  5163. ;   2521  5            BEGIN
  5164. ;   2522  5     
  5165. ;   2523  5            IF .STATUS NEQ KER_TAKE_ERROR
  5166. ;   2524  5            THEN
  5167. ;   2525  6                BEGIN
  5168. ;   2526  6                COMND_ERROR (.STATUS);
  5169. ;   2527  6                LIB$PUT_OUTPUT (CMD_DESC);
  5170. ;   2528  6                STATUS = KER_TAKE_ERROR;    ! Indicate we should abort back
  5171. ;   2529  5                END;
  5172. ;   2530  5     
  5173. ;   2531  5            EXITLOOP;
  5174. ;   2532  4            END;
  5175. ;   2533  4     
  5176. ;   2534  3            END;
  5177. ;   2535  3     
  5178. ;   2536  2        END;                    ! End of WHILE TRUE DO BEGIN
  5179. ;   2537  2     
  5180. ;   2538  2    !
  5181. ;   2539  2    ! When the loop exits, we got some kind of error.  Complain unless end of file.
  5182. ;   2540  2    !
  5183. ;   2541  2     
  5184. ;   2542  2        IF .STATUS EQL RMS$_EOF THEN STATUS = KER_TAKE_EOF;
  5185. ;   2543  2     
  5186. ;   2544  2        IF .STATUS NEQ KER_EXIT AND .STATUS NEQ KER_TAKE_EOF AND .STATUS NEQ KER_TAKE_ERROR
  5187. ;   2545  2        THEN
  5188. ;   2546  2        LIB$SIGNAL (.STATUS);
  5189. ;   2547  2     
  5190. ;   2548  2    !
  5191. ;   2549  2    ! Close the file
  5192. ;   2550  2    !
  5193. ;   2551  2        $DISCONNECT (RAB = TAKE_FILE_RAB);
  5194. ;   2552  2        $CLOSE (FAB = TAKE_FILE_FAB);
  5195. ;   2553  2    !
  5196. ;   2554  2    ! Return any buffers
  5197. ;   2555  2    !
  5198. ;   2556  2        LIB$FREE_VM (TAKE_FILE_BSIZ, TAKE_FILE_BADR);
  5199. ;   2557  2     
  5200. ;   2558  2        IF .TAKE_FILE_FSIZ NEQ 0 THEN LIB$FREE_VM (TAKE_FILE_FSIZ, TAKE_FILE_FADR);
  5201. ;   2559  2     
  5202. ;   2560  2        RETURN .STATUS;
  5203. ;   2561  1        END;                    ! End of COMND_FILE
  5204.  
  5205.  
  5206.  
  5207.     .EXTRN  STR$UPCASE, LIB$GET_VM, LIB$FREE_VM, SYS$OPEN, SYS$CONNECT, SYS$GET, SYS$DISCONNECT
  5208.     .EXTRN  SYS$CLOSE
  5209.  
  5210. ;COMND_FILE
  5211. 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
  5212.     MOVAB   G^LIB$PUT_OUTPUT, R10         ;LIB$PUT_OUTPUT, R10                                 5A 00000000G  00  9E   00002
  5213.     MOVAB   G^LIB$GET_VM, R9         ;LIB$GET_VM, R9                                 59 00000000G  00  9E   00009
  5214.     MOVAB   G^LIB$SIGNAL, R8         ;LIB$SIGNAL, R8                                 58 00000000G  00  9E   00010
  5215.     MOVAB   G^LIB$FREE_VM, R7         ;LIB$FREE_VM, R7                                 57 00000000G  00  9E   00017
  5216.     MOVAB   -356(SP), SP             ;-356(SP), SP                                     5E     FE9C   CE  9E   0001E
  5217.     MOVL    4(AP), R6             ;TAKE_DESC, R6                   2451            56    04   AC  D0   00023
  5218.     MOVC5   (R6), @4(R6), #0, #132, -140(FP) ;(R6), @4(R6), #0, #132, -           2452       04   B6         66  2C   00027
  5219.                          ;TAKE_FILE_NAME                    0084   8F         00       0002B
  5220.                          ;                                      FF74   CD       0002F
  5221.     MOVW    #270, -6(FP)             ;#270, TAKE_FILE_DESC+2           2453       FA   AD     010E   8F  B0   00032
  5222.     MOVW    (R6), -8(FP)             ;(R6), TAKE_FILE_DESC                            F8   AD         66  B0   00038
  5223.     MOVAB   -140(FP), -4(FP)         ;TAKE_FILE_NAME, TAKE_FILE_DESC+4                  FC   AD     FF74   CD  9E   0003C
  5224.     MOVC5   #0, (SP), #0, #80, 136(SP)     ;#0, (SP), #0, #80, $RMS_PTR           2455            6E         00  2C   00042
  5225.                          ;                            0050   8F         00       00045
  5226.                          ;                                      0088   CE       00049
  5227.     MOVW    #20483, 136(SP)             ;#20483, $RMS_PTR                          0088   CE     5003   8F  B0   0004C
  5228.     MOVB    #2, 158(SP)             ;#2, $RMS_PTR+22                          009E   CE         02  90   00053
  5229.     MOVB    #2, 167(SP)             ;#2, $RMS_PTR+31                          00A7   CE         02  90   00058
  5230.     MOVAB   24(SP), 172(SP)             ;TAKE_FILE_XABFHC, $RMS_PTR+36                   00AC   CE    18   AE  9E   0005D
  5231.     MOVAB   -140(FP), -176(FP)         ;TAKE_FILE_NAME, $RMS_PTR+44                      FF50   CD     FF74   CD  9E   00063
  5232.     MOVL    8(AP), R0             ;DEFAULT_DESC, R0                                 50    08   AC  D0   0006A
  5233.     MOVL    4(R0), -172(FP)             ;4(R0), $RMS_PTR+48                          FF54   CD    04   A0  D0   0006E
  5234.     MOVB    -8(FP), -168(FP)         ;TAKE_FILE_DESC, $RMS_PTR+52                      FF58   CD    F8   AD  90   00074
  5235.     MOVB    (R0), -167(FP)             ;(R0), $RMS_PTR+53                          FF59   CD         60  90   0007A
  5236.     MOVC5   #0, (SP), #0, #44, 24(SP)     ;#0, (SP), #0, #44, $RMS_PTR           2456            6E         00  2C   0007F
  5237.                          ;                                   2C         00       00082
  5238.                          ;                                    18   AE       00084
  5239.     MOVW    #11293, 24(SP)             ;#11293, $RMS_PTR                            18   AE     2C1D   8F  B0   00086
  5240.     PUSHAB  136(SP)                 ;TAKE_FILE_FAB                   2457               0088   CE  9F   0008C
  5241.     CALLS   #1, G^SYS$OPEN             ;#1, SYS$OPEN                          00000000G  00         01  FB   00090
  5242.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00097
  5243.     BLBS    R6, 2$                 ;STATUS, 2$                   2459            1D         56  E8   0009A
  5244.     CMPL    R6, #98962             ;STATUS, #98962               2463 00018292   8F         56  D1   0009D
  5245.     BNEQ    1$                 ;1$                                               0C  12   000A4
  5246.     BLBC    12(AP), 1$             ;OK_NONE, 1$                                     08    0C   AC  E9   000A6
  5247.     MOVL    #134316299, R0             ;#134316299, R0                                 50 0801810B   8F  D0   000AA
  5248.     RET                      ;                                               04   000B1
  5249. 1$:    PUSHL   R6                 ;STATUS                   2465                  56  DD   000B2
  5250.     CALLS   #1, (R8)             ;#1, LIB$SIGNAL                                 68         01  FB   000B4
  5251.     BRW     6$                 ;6$                       2466                0096  31   000B7
  5252. 2$:    MOVZWL  34(SP), 4(SP)             ;TAKE_FILE_XABFHC+10, TAKE_FILE_BSIZ  2472       04   AE    22   AE  3C   000BA
  5253.     BNEQ    3$                 ;3$                       2474                  06  12   000BF
  5254.     MOVZWL  #4096, 4(SP)             ;#4096, TAKE_FILE_BSIZ                            04   AE     1000   8F  3C   000C1
  5255. 3$:    PUSHL   SP                 ;SP                       2476                  5E  DD   000C7
  5256.     PUSHAB  8(SP)                 ;TAKE_FILE_BSIZ                                  08   AE  9F   000C9
  5257.     CALLS   #2, (R9)             ;#2, LIB$GET_VM                                 69         02  FB   000CC
  5258.     MOVW    #270, 18(SP)             ;#270, CMD_DESC+2               2477       12   AE     010E   8F  B0   000CF
  5259.     MOVW    4(SP), 16(SP)             ;TAKE_FILE_BSIZ, CMD_DESC                        10   AE    04   AE  B0   000D5
  5260.     MOVL    (SP), 20(SP)             ;TAKE_FILE_BADR, CMD_DESC+4                        14   AE         6E  D0   000DA
  5261.     MOVZBL  -157(FP), 12(SP)         ;TAKE_FILE_FAB+63, TAKE_FILE_FSIZ     2481       0C   AE     FF63   CD  9A   000DE
  5262.     BEQL    4$                 ;4$                       2483                  09  13   000E4
  5263.     PUSHAB  8(SP)                 ;TAKE_FILE_FADR                                  08   AE  9F   000E6
  5264.     PUSHAB  16(SP)                 ;TAKE_FILE_FSIZ                                  10   AE  9F   000E9
  5265.     CALLS   #2, (R9)             ;#2, LIB$GET_VM                                 69         02  FB   000EC
  5266. 4$:    MOVC5   #0, (SP), #0, #68, 68(SP)     ;#0, (SP), #0, #68, $RMS_PTR           2489            6E         00  2C   000EF
  5267.                          ;                            0044   8F         00       000F2
  5268.                          ;                                    44   AE       000F6
  5269.     MOVW    #17409, 68(SP)             ;#17409, $RMS_PTR                            44   AE     4401   8F  B0   000F8
  5270.     MOVL    #1048576, 72(SP)         ;#1048576, $RMS_PTR+4                            48   AE 00100000   8F  D0   000FE
  5271.     CLRB    98(SP)                 ;$RMS_PTR+30                                      62   AE  94   00106
  5272.     MOVW    4(SP), 100(SP)             ;TAKE_FILE_BSIZ, $RMS_PTR+32                        64   AE    04   AE  B0   00109
  5273.     MOVL    (SP), 104(SP)             ;TAKE_FILE_BADR, $RMS_PTR+36                        68   AE         6E  D0   0010E
  5274.     MOVAB   136(SP), 128(SP)         ;TAKE_FILE_FAB, $RMS_PTR+60                      0080   CE     0088   CE  9E   00112
  5275.     CLRL    R2                 ;R2                       2491                  52  D4   00119
  5276.     TSTL    12(SP)                 ;TAKE_FILE_FSIZ                                  0C   AE  D5   0011B
  5277.     BEQL    5$                 ;5$                                               07  13   0011E
  5278.     INCL    R2                 ;R2                                               52  D6   00120
  5279.     MOVL    8(SP), 112(SP)             ;TAKE_FILE_FADR, TAKE_FILE_RAB+44                  70   AE    08   AE  D0   00122
  5280. 5$:    PUSHAB  68(SP)                 ;TAKE_FILE_RAB                   2493             44   AE  9F   00127
  5281.     CALLS   #1, G^SYS$CONNECT         ;#1, SYS$CONNECT                      00000000G  00         01  FB   0012A
  5282.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00131
  5283.     BLBS    R6, 7$                 ;STATUS, 7$                   2495            21         56  E8   00134
  5284.     PUSHL   R6                 ;STATUS                   2498                  56  DD   00137
  5285.     CALLS   #1, (R8)             ;#1, LIB$SIGNAL                                 68         01  FB   00139
  5286.     PUSHL   SP                 ;SP                       2499                  5E  DD   0013C
  5287.     PUSHAB  8(SP)                 ;TAKE_FILE_BSIZ                                  08   AE  9F   0013E
  5288.     CALLS   #2, (R7)             ;#2, LIB$FREE_VM                                 67         02  FB   00141
  5289.     BLBC    R2, 6$                 ;R2, 6$                   2501            09         52  E9   00144
  5290.     PUSHAB  8(SP)                 ;TAKE_FILE_FADR                                  08   AE  9F   00147
  5291.     PUSHAB  16(SP)                 ;TAKE_FILE_FSIZ                                  10   AE  9F   0014A
  5292.     CALLS   #2, (R7)             ;#2, LIB$FREE_VM                                 67         02  FB   0014D
  5293. 6$:    MOVL    #134316306, R0             ;#134316306, R0               2503            50 08018112   8F  D0   00150
  5294.     RET                      ;                                               04   00157
  5295. 7$:    PUSHAB  68(SP)                 ;TAKE_FILE_RAB                   2506             44   AE  9F   00158
  5296.     CALLS   #1, G^SYS$GET             ;#1, SYS$GET                          00000000G  00         01  FB   0015B
  5297.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00162
  5298.     BLBC    R6, 9$                 ;STATUS, 9$                                     53         56  E9   00165
  5299.     TSTW    102(SP)                 ;TAKE_FILE_RAB+34               2509             66   AE  B5   00168
  5300.     BEQL    7$                 ;7$                                               EB  13   0016B
  5301.     MOVW    102(SP), 16(SP)             ;TAKE_FILE_RAB+34, CMD_DESC           2512       10   AE    66   AE  B0   0016D
  5302.     PUSHAB  16(SP)                 ;CMD_DESC                   2513             10   AE  9F   00172
  5303.     PUSHAB  20(SP)                 ;CMD_DESC                                      14   AE  9F   00175
  5304.     CALLS   #2, G^STR$UPCASE         ;#2, STR$UPCASE                      00000000G  00         02  FB   00178
  5305.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   0017F
  5306.     BLBC    16(AP), 8$             ;DISPLAY_FLAG, 8$               2515            06    10   AC  E9   00182
  5307.     PUSHAB  16(SP)                 ;CMD_DESC                                      10   AE  9F   00186
  5308.     CALLS   #1, (R10)             ;#1, LIB$PUT_OUTPUT                                 6A         01  FB   00189
  5309. 8$:    PUSHAB  16(SP)                 ;CMD_DESC                   2517             10   AE  9F   0018C
  5310.     CALLS   #1, G^U.5             ;#1, U.5                          00000000V  00         01  FB   0018F
  5311.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00196
  5312.     BLBS    R6, 7$                 ;STATUS, 7$                   2519            BC         56  E8   00199
  5313.     CMPL    R6, #134316306             ;STATUS, #134316306               2523 08018112   8F         56  D1   0019C
  5314.     BEQL    9$                 ;9$                                               16  13   001A3
  5315.     PUSHL   R6                 ;STATUS                   2526                  56  DD   001A5
  5316.     CALLS   #1, G^U.3             ;#1, U.3                          00000000V  00         01  FB   001A7
  5317.     PUSHAB  16(SP)                 ;CMD_DESC                   2527             10   AE  9F   001AE
  5318.     CALLS   #1, (R10)             ;#1, LIB$PUT_OUTPUT                                 6A         01  FB   001B1
  5319.     MOVL    #134316306, R6             ;#134316306, STATUS               2528            56 08018112   8F  D0   001B4
  5320. 9$:    CMPL    R6, #98938             ;STATUS, #98938               2542 0001827A   8F         56  D1   001BB
  5321.     BNEQ    10$                 ;10$                                               07  12   001C2
  5322.     MOVL    #134316299, R6             ;#134316299, STATUS                                 56 0801810B   8F  D0   001C4
  5323. 10$:    CMPL    R6, #134316203             ;STATUS, #134316203               2544 080180AB   8F         56  D1   001CB
  5324.     BEQL    11$                 ;11$                                               17  13   001D2
  5325.     CMPL    R6, #134316299             ;STATUS, #134316299                      0801810B   8F         56  D1   001D4
  5326.     BEQL    11$                 ;11$                                               0E  13   001DB
  5327.     CMPL    R6, #134316306             ;STATUS, #134316306                      08018112   8F         56  D1   001DD
  5328.     BEQL    11$                 ;11$                                               05  13   001E4
  5329.     PUSHL   R6                 ;STATUS                   2546                  56  DD   001E6
  5330.     CALLS   #1, (R8)             ;#1, LIB$SIGNAL                                 68         01  FB   001E8
  5331. 11$:    PUSHAB  68(SP)                 ;TAKE_FILE_RAB                   2551             44   AE  9F   001EB
  5332.     CALLS   #1, G^SYS$DISCONNECT         ;#1, SYS$DISCONNECT                      00000000G  00         01  FB   001EE
  5333.     PUSHAB  136(SP)                 ;TAKE_FILE_FAB                   2552               0088   CE  9F   001F5
  5334.     CALLS   #1, G^SYS$CLOSE             ;#1, SYS$CLOSE                          00000000G  00         01  FB   001F9
  5335.     PUSHL   SP                 ;SP                       2556                  5E  DD   00200
  5336.     PUSHAB  8(SP)                 ;TAKE_FILE_BSIZ                                  08   AE  9F   00202
  5337.     CALLS   #2, (R7)             ;#2, LIB$FREE_VM                                 67         02  FB   00205
  5338.     TSTL    12(SP)                 ;TAKE_FILE_FSIZ               2558             0C   AE  D5   00208
  5339.     BEQL    12$                 ;12$                                               09  13   0020B
  5340.     PUSHAB  8(SP)                 ;TAKE_FILE_FADR                                  08   AE  9F   0020D
  5341.     PUSHAB  16(SP)                 ;TAKE_FILE_FSIZ                                  10   AE  9F   00210
  5342.     CALLS   #2, (R7)             ;#2, LIB$FREE_VM                                 67         02  FB   00213
  5343. 12$:    MOVL    R6, R0                 ;STATUS, R0                   2560            50         56  D0   00216
  5344.     RET                      ;                                               04   00219
  5345.  
  5346. ; Routine Size:  538 bytes,    Routine Base:  $CODE$ + 018F
  5347.  
  5348.  
  5349. ;   2562  1     %SBTTL 'COMND_ERROR - Give error message for command'
  5350. ;   2563  1    ROUTINE COMND_ERROR (STATUS) : NOVALUE =
  5351. ;   2564  1     
  5352. ;   2565  1    !++
  5353. ;   2566  1    ! FUNCTIONAL DESCRIPTION:
  5354. ;   2567  1    !
  5355. ;   2568  1    ! This routine will issue an error message for a command parsing error.
  5356. ;   2569  1    !
  5357. ;   2570  1    ! CALLING SEQUENCE:
  5358. ;   2571  1    !
  5359. ;   2572  1    !    COMND_ERROR (.STATUS);
  5360. ;   2573  1    !
  5361. ;   2574  1    ! INPUT PARAMETERS:
  5362. ;   2575  1    !
  5363. ;   2576  1    !    STATUS - The status value returned from DO_COMND
  5364. ;   2577  1    !
  5365. ;   2578  1    ! IMPLICIT INPUTS:
  5366. ;   2579  1    !
  5367. ;   2580  1    !    None.
  5368. ;   2581  1    !
  5369. ;   2582  1    ! OUPTUT PARAMETERS:
  5370. ;   2583  1    !
  5371. ;   2584  1    !    None.
  5372. ;   2585  1    !
  5373. ;   2586  1    ! IMPLICIT OUTPUTS:
  5374. ;   2587  1    !
  5375. ;   2588  1    !    None.
  5376. ;   2589  1    !
  5377. ;   2590  1    ! COMPLETION CODES:
  5378. ;   2591  1    !
  5379. ;   2592  1    !    None.
  5380. ;   2593  1    !
  5381. ;   2594  1    ! SIDE EFFECTS:
  5382. ;   2595  1    !
  5383. ;   2596  1    !    None.
  5384. ;   2597  1    !
  5385. ;   2598  1    !--
  5386. ;   2599  1     
  5387. ;   2600  2        BEGIN
  5388. ;   2601  2     
  5389. ;   2602  2        IF .STATUS EQL KER_AMBIGKEY OR .STATUS EQL KER_UNKNOWKEY
  5390. ;   2603  2        THEN
  5391. ;   2604  2        LIB$SIGNAL (.STATUS, 1,
  5392. ;   2605  2            TPARSE_BLOCK [TPA$L_TOKENCNT])
  5393. ;   2606  2        ELSE
  5394. ;   2607  3        BEGIN
  5395. ;   2608  3     
  5396. ;   2609  3        EXTERNAL LITERAL
  5397. ;   2610  3            LIB$_SYNTAXERR;
  5398. ;   2611  3     
  5399. ;   2612  3        IF .STATUS EQL LIB$_SYNTAXERR
  5400. ;   2613  3        THEN
  5401. ;   2614  3            LIB$SIGNAL (KER_CMDERR, 1, TPARSE_BLOCK [TPA$L_STRINGCNT])
  5402. ;   2615  3        ELSE
  5403. ;   2616  3            LIB$SIGNAL (.STATUS);
  5404. ;   2617  3     
  5405. ;   2618  2        END;
  5406. ;   2619  2     
  5407. ;   2620  1        END;                    ! End of COMND_ERROR
  5408.  
  5409.  
  5410.  
  5411.     .EXTRN  LIB$_SYNTAXERR
  5412.  
  5413. ;COMND_ERROR
  5414. U.3:    .WORD   ^M<R2>                 ;Save R2                   2563                    0004   00000
  5415.     MOVAB   G^LIB$SIGNAL, R2         ;LIB$SIGNAL, R2                                 52 00000000G  00  9E   00002
  5416.     MOVL    4(AP), R0             ;STATUS, R0                   2602            50    04   AC  D0   00009
  5417.     CMPL    R0, #134316282             ;R0, #134316282                      080180FA   8F         50  D1   0000D
  5418.     BEQL    1$                 ;1$                                               09  13   00014
  5419.     CMPL    R0, #134316290             ;R0, #134316290                      08018102   8F         50  D1   00016
  5420.     BNEQ    2$                 ;2$                                               0C  12   0001D
  5421. 1$:    PUSHAB  G^U.47+16             ;U.47+16                   2605           00000000'  00  9F   0001F
  5422.     PUSHL   #1                 ;#1                       2604                  01  DD   00025
  5423.     PUSHL   R0                 ;R0                                               50  DD   00027
  5424.     BRB     3$                 ;3$                                               17  11   00029
  5425. 2$:    CMPL    R0, #LIB$_SYNTAXERR         ;R0, #LIB$_SYNTAXERR               2612 00000000G  8F         50  D1   0002B
  5426.     BNEQ    4$                 ;4$                                               12  12   00032
  5427.     PUSHAB  G^U.47+8             ;U.47+8                   2614           00000000'  00  9F   00034
  5428.     PUSHL   #1                 ;#1                                               01  DD   0003A
  5429.     PUSHL   #134316058             ;#134316058                                    0801801A   8F  DD   0003C
  5430. 3$:    CALLS   #3, (R2)             ;#3, LIB$SIGNAL                                 62         03  FB   00042
  5431.     RET                      ;                                               04   00045
  5432. 4$:    PUSHL   R0                 ;R0                       2616                  50  DD   00046
  5433.     CALLS   #1, (R2)             ;#1, LIB$SIGNAL                                 62         01  FB   00048
  5434.     RET                      ;                       2620                  04   0004B
  5435.  
  5436. ; Routine Size:  76 bytes,    Routine Base:  $CODE$ + 03A9
  5437.  
  5438.  
  5439. ;   2621  1     %SBTTL 'DO_COMND'
  5440. ;   2622  1    ROUTINE DO_COMND (CMD_DESC) =
  5441. ;   2623  1     
  5442. ;   2624  1    !++
  5443. ;   2625  1    ! FUNCTIONAL DESCRIPTION:
  5444. ;   2626  1    ! This routine will parse and process one Kermit command.
  5445. ;   2627  1    !
  5446. ;   2628  1    ! CALLING SEQUENCE:
  5447. ;   2629  1    !
  5448. ;   2630  1    !    STATUS = DO_COMND(CMD_DESC);
  5449. ;   2631  1    !
  5450. ;   2632  1    ! INPUT PARAMETERS:
  5451. ;   2633  1    !
  5452. ;   2634  1    !    CMD_DESC - Descriptor of command string
  5453. ;   2635  1    !
  5454. ;   2636  1    ! IMPLICIT INPUTS:
  5455. ;   2637  1    !
  5456. ;   2638  1    !    None.
  5457. ;   2639  1    !
  5458. ;   2640  1    ! OUTPUT PARAMETERS:
  5459. ;   2641  1    !
  5460. ;   2642  1    !    None.
  5461. ;   2643  1    !
  5462. ;   2644  1    ! IMPLICIT OUTPUTS:
  5463. ;   2645  1    !
  5464. ;   2646  1    !    None.
  5465. ;   2647  1    !
  5466. ;   2648  1    ! COMPLETION CODES:
  5467. ;   2649  1    !
  5468. ;   2650  1    !    None.
  5469. ;   2651  1    !
  5470. ;   2652  1    ! SIDE EFFECTS:
  5471. ;   2653  1    !
  5472. ;   2654  1    !    None.
  5473. ;   2655  1    !
  5474. ;   2656  1    !--
  5475. ;   2657  1     
  5476. ;   2658  2        BEGIN
  5477. ;   2659  2     
  5478. ;   2660  2        BIND
  5479. ;   2661  2        SERVER_TEXT = %ASCID'Kermit Server running on VAX/VMS host.  Please type your escape sequence to',
  5480. ;   2662  2        SERVER_TEXT_1 = %ASCID' return to your local machine.  Shut down the server by typing the Kermit BYE',
  5481. ;   2663  2        SERVER_TEXT_2 = %ASCID' command on your local machine.',
  5482. ;   2664  2        PUSH_TEXT = %ASCID' Type LOGOUT to return to VMS Kermit';
  5483. ;   2665  2     
  5484. ;   2666  2        MAP
  5485. ;   2667  2        CMD_DESC : REF BLOCK [8, BYTE];        ! Descriptor for command
  5486. ;   2668  2     
  5487. ;   2669  2        LOCAL
  5488. ;   2670  2        STATUS : UNSIGNED LONG;
  5489. ;   2671  2     
  5490. ;   2672  2    ! Initialize some per-command data areas.
  5491. ;   2673  2        INIT_STR_DESC (TEMP_DESC, TEMP_NAME, 0);
  5492. ;   2674  2        COMMAND = 0;
  5493. ;   2675  2        SHOW_TYPE = 0;
  5494. ;   2676  2        REM_TYPE = 0;
  5495. ;   2677  2        FILE_SIZE = 0;
  5496. ;   2678  2        ALT_FILE_SIZE = 0;
  5497. ;   2679  2        GEN_1SIZE = 0;
  5498. ;   2680  2        GEN_2SIZE = 0;
  5499. ;   2681  2        GEN_3SIZE = 0;
  5500. ;   2682  2        CONNECT_FLAG = FALSE;            ! Assume not connected
  5501. ;   2683  2        TAKE_DISPLAY = 0;
  5502. ;   2684  2        TPARSE_BLOCK [TPA$L_STRINGCNT] = .CMD_DESC [DSC$W_LENGTH];
  5503. ;   2685  2        TPARSE_BLOCK [TPA$L_STRINGPTR] = .CMD_DESC [DSC$A_POINTER];
  5504. ;   2686  2        TPARSE_BLOCK [TPA$V_BLANKS] = 0;        ! Ignore blanks
  5505. ;   2687  2        STATUS = LIB$TPARSE (TPARSE_BLOCK, KERMIT_STATE, KERMIT_KEY);
  5506. ;   2688  2     
  5507. ;   2689  2        IF .STATUS
  5508. ;   2690  2        THEN
  5509. ;   2691  3        BEGIN
  5510. ;   2692  3        FILE_SIZE = .FILE_DESC [DSC$W_LENGTH];    ! Copy length in case needed
  5511. ;   2693  3     
  5512. ;   2694  3        CASE .COMMAND FROM CMD_MIN TO CMD_MAX OF
  5513. ;   2695  3            SET
  5514. ;   2696  3     
  5515. ;   2697  3            [CMD_BYE] :
  5516. ;   2698  4            BEGIN
  5517. ;   2699  4     
  5518. ;   2700  5            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5519. ;   2701  4            THEN
  5520. ;   2702  5                BEGIN
  5521. ;   2703  5     
  5522. ;   2704  5                IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_LOGOUT) ELSE STATUS = KER_LOCONLY;
  5523. ;   2705  5     
  5524. ;   2706  5                TERM_CLOSE ()
  5525. ;   2707  4                END;
  5526. ;   2708  4     
  5527. ;   2709  4            IF NOT .STATUS THEN RETURN .STATUS ELSE RETURN KER_EXIT;
  5528. ;   2710  4     
  5529. ;   2711  3            END;
  5530. ;   2712  3     
  5531. ;   2713  3            [CMD_CONN] :
  5532. ;   2714  3            TERM_CONNECT ();
  5533. ;   2715  3     
  5534. ;   2716  3            [CMD_EXIT] :
  5535. ;   2717  3            RETURN KER_EXIT;
  5536. ;   2718  3     
  5537. ;   2719  3            [CMD_FINISH] :
  5538. ;   2720  3     
  5539. ;   2721  4            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5540. ;   2722  3            THEN
  5541. ;   2723  4                BEGIN
  5542. ;   2724  4     
  5543. ;   2725  4                IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_EXIT) ELSE STATUS = KER_LOCONLY;
  5544. ;   2726  4     
  5545. ;   2727  4                TERM_CLOSE ()
  5546. ;   2728  3                END;
  5547. ;   2729  3     
  5548. ;   2730  3            [CMD_GET] :
  5549. ;   2731  3     
  5550. ;   2732  4            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5551. ;   2733  3            THEN
  5552. ;   2734  4                BEGIN
  5553. ;   2735  4     
  5554. ;   2736  4                IF NOT .CONNECT_FLAG THEN REC_SWITCH () ELSE STATUS = KER_LOCONLY;
  5555. ;   2737  4     
  5556. ;   2738  4                TERM_CLOSE ();
  5557. ;   2739  3                END;
  5558. ;   2740  3     
  5559. ;   2741  3            [CMD_HELP] :
  5560. ;   2742  3            COMND_HELP ();
  5561. ;   2743  3     
  5562. ;   2744  3            [CMD_LOGOUT] :
  5563. ;   2745  3     
  5564. ;   2746  4            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5565. ;   2747  3            THEN
  5566. ;   2748  4                BEGIN
  5567. ;   2749  4     
  5568. ;   2750  4                IF NOT .CONNECT_FLAG THEN DO_GENERIC (GC_LOGOUT) ELSE STATUS = KER_LOCONLY;
  5569. ;   2751  4     
  5570. ;   2752  4                TERM_CLOSE ()
  5571. ;   2753  3                END;
  5572. ;   2754  3     
  5573. ;   2755  3            [CMD_RECEIVE] :
  5574. ;   2756  3     
  5575. ;   2757  4            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5576. ;   2758  3            THEN
  5577. ;   2759  4                BEGIN
  5578. ;   2760  4                FILE_SIZE = 0;        ! No file to request
  5579. ;   2761  4                REC_SWITCH ();
  5580. ;   2762  4                TERM_CLOSE ();
  5581. ;   2763  3                END;
  5582. ;   2764  3     
  5583. ;   2765  3            [CMD_REMOTE] :
  5584. ;   2766  3            COMND_REMOTE ();
  5585. ;   2767  3     
  5586. ;   2768  3            [CMD_LOCAL] :
  5587. ;   2769  3            COMND_LOCAL ();
  5588. ;   2770  3     
  5589. ;   2771  3            [CMD_PUSH] :
  5590. ;   2772  4            BEGIN
  5591. ;   2773  4     
  5592. ;   2774  4            OWN
  5593. ;   2775  4                PID : INITIAL (0);
  5594. ;   2776  4     
  5595. ;   2777  4            LIB$PUT_OUTPUT (PUSH_TEXT);
  5596. ;   2778  4     
  5597. ;   2779  4            IF .PID NEQ 0
  5598. ;   2780  4            THEN
  5599. ;   2781  5                BEGIN
  5600. ;   2782  5                STATUS = LIB$ATTACH (PID);
  5601. ;   2783  5     
  5602. ;   2784  5                IF NOT .STATUS THEN PID = 0;
  5603. ;   2785  5     
  5604. ;   2786  4                END;
  5605. ;   2787  4     
  5606. ;   2788  4            IF .PID EQL 0
  5607. ;   2789  4                    THEN STATUS = LIB$SPAWN (0, 0, 0, 0, 0, PID);    ! Just spawn a DCL
  5608. ;   2790  4     
  5609. ;   2791  3            END;
  5610. ;   2792  3     
  5611. ;   2793  3            [CMD_SEND] :
  5612. ;   2794  4            BEGIN
  5613. ;   2795  4     
  5614. ;   2796  4            EXTERNAL ROUTINE
  5615. ;   2797  4                FILE_OPEN,            ! Open file routine
  5616. ;   2798  4                FILE_CLOSE;            ! Close file routine
  5617. ;   2799  4     
  5618. ;   2800  4            LOCAL
  5619. ;   2801  4                SAVE_FILE_NAME : VECTOR [CH$ALLOCATION (MAX_FILE_NAME)],
  5620. ;   2802  4                SAVE_FILE_SIZE,
  5621. ;   2803  4                SAVE_TY_FIL;
  5622. ;   2804  4     
  5623. ;   2805  4            SAVE_TY_FIL = .TY_FIL;        ! Save current type out flag
  5624. ;   2806  4            TY_FIL = FALSE;            ! Suppress type out of names
  5625. ;   2807  4            SAVE_FILE_SIZE = .FILE_SIZE;    ! Save the file name size
  5626. ;   2808  4     
  5627. ;   2809  4            CH$MOVE((.FILE_SIZE),CH$PTR(FILE_NAME),
  5628. ;   2810  4                CH$PTR(SAVE_FILE_NAME));
  5629. ;   2811  4     
  5630. ;   2812  4            IF FILE_OPEN (FNC_READ)
  5631. ;   2813  4            THEN
  5632. ;   2814  5                BEGIN
  5633. ;   2815  5                FILE_SIZE = .SAVE_FILE_SIZE;    ! Reset the file name size
  5634. ;   2816  5                CH$MOVE(.FILE_SIZE,CH$PTR(SAVE_FILE_NAME),
  5635. ;   2817  5                CH$PTR(FILE_NAME));
  5636. ;   2818  5     
  5637. ;   2819  5                FILE_CLOSE (FALSE);
  5638. ;   2820  5                TY_FIL = .SAVE_TY_FIL;    ! Reset type out flag
  5639. ;   2821  5     
  5640. ;   2822  6                IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5641. ;   2823  5                THEN
  5642. ;   2824  6                BEGIN
  5643. ;   2825  6                SEND_SWITCH ();
  5644. ;   2826  6                TERM_CLOSE ();
  5645. ;   2827  5                END;
  5646. ;   2828  5     
  5647. ;   2829  5                END
  5648. ;   2830  4            ELSE
  5649. ;   2831  4                TY_FIL = .SAVE_TY_FIL;    ! Reset type out flag
  5650. ;   2832  4     
  5651. ;   2833  3            END;
  5652. ;   2834  3     
  5653. ;   2835  3            [CMD_SERVER] :
  5654. ;   2836  4            BEGIN
  5655. ;   2837  4            LIB$PUT_OUTPUT (SERVER_TEXT);
  5656. ;   2838  4            LIB$PUT_OUTPUT (SERVER_TEXT_1);
  5657. ;   2839  4            LIB$PUT_OUTPUT (SERVER_TEXT_2);
  5658. ;   2840  4     
  5659. ;   2841  5            IF (STATUS = TERM_OPEN (TRUE))    ! Open the terminal
  5660. ;   2842  4            THEN
  5661. ;   2843  5                BEGIN
  5662. ;   2844  5                STATUS = SERVER ();
  5663. ;   2845  5                TERM_CLOSE ();
  5664. ;   2846  5                RETURN KER_NORMAL;
  5665. ;   2847  5     
  5666. ;   2848  4                END;
  5667. ;   2849  4     
  5668. ;   2850  3            END;
  5669. ;   2851  3     
  5670. ;   2852  3            [CMD_SHOW] :
  5671. ;   2853  3            COMND_SHOW ();
  5672. ;   2854  3     
  5673. ;   2855  3            [CMD_STATUS] :
  5674. ;   2856  3            COMND_STATUS ();
  5675. ;   2857  3     
  5676. ;   2858  3            [CMD_TAKE] :
  5677. ;   2859  3            STATUS = COMND_FILE (TAK_FIL_DESC, %ASCID'.COM;0', FALSE, .TAKE_DISPLAY);
  5678. ;   2860  3     
  5679. ;   2861  3                [CMD_TRANSMIT]:                                               !
  5680. ;   2862  3                    COMND_TRANSMIT ();                                        !
  5681. ;   2863  3     
  5682. ;   2864  3            [INRANGE] :
  5683. ;   2865  3            TES;
  5684. ;   2866  3     
  5685. ;   2867  2        END;
  5686. ;   2868  2     
  5687. ;   2869  2        RETURN .STATUS;
  5688. ;   2870  1        END;                    ! End of DO_COMND
  5689.  
  5690.  
  5691.  
  5692.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  5693.  
  5694. P.AAJ:    .ASCII  \Kermit Server running on VAX/VMS host.  Please type your escape s\-
  5695.                          ;                                53  20  74  69  6D  72  65  4B  00060
  5696.                          ;                          75  72  20  72  65  76  72  65  00068
  5697.                          ;                          6E  6F  20  67  6E  69  6E  6E  00070
  5698.                          ;                          53  4D  56  2F  58  41  56  20  00078
  5699.                          ;                          20  20  2E  74  73  6F  68  20  00080
  5700.                          ;                          74  20  65  73  61  65  6C  50  00088
  5701.                          ;                          72  75  6F  79  20  65  70  79  00090
  5702.                          ;                          20  65  70  61  63  73  65  20  00098
  5703.                          ;                                          73  000A0
  5704.     .ASCII  \equence to\<0>             ;                                20  65  63  6E  65  75  71  65  000A1
  5705.                          ;                                      00  6F  74  000A9
  5706. P.AAI:    .LONG   17694795             ;                                              010E004B  000AC
  5707.     .ADDRESS P.AAJ                 ;                                              00000000' 000B0
  5708. P.AAL:    .ASCII  \ return to your local machine.  Shut down the server by typing th\-
  5709.                          ;                                20  6E  72  75  74  65  72  20  000B4
  5710.                          ;                          20  72  75  6F  79  20  6F  74  000BC
  5711.                          ;                          61  6D  20  6C  61  63  6F  6C  000C4
  5712.                          ;                          20  20  2E  65  6E  69  68  63  000CC
  5713.                          ;                          77  6F  64  20  74  75  68  53  000D4
  5714.                          ;                          65  73  20  65  68  74  20  6E  000DC
  5715.                          ;                          20  79  62  20  72  65  76  72  000E4
  5716.                          ;                          74  20  67  6E  69  70  79  74  000EC
  5717.                          ;                                          68  000F4
  5718.     .ASCII  \e Kermit BYE\<0><0><0>         ;                                74  69  6D  72  65  4B  20  65  000F5
  5719.                          ;                              00  00  00  45  59  42  20  000FD
  5720. P.AAK:    .LONG   17694797             ;                                              010E004D  00104
  5721.     .ADDRESS P.AAL                 ;                                              00000000' 00108
  5722. P.AAN:    .ASCII  \ command on your local machine.\<0>
  5723.                          ;                                64  6E  61  6D  6D  6F  63  20  0010C
  5724.                          ;                          72  75  6F  79  20  6E  6F  20  00114
  5725.                          ;                          6D  20  6C  61  63  6F  6C  20  0011C
  5726.                          ;                          00  2E  65  6E  69  68  63  61  00124
  5727. P.AAM:    .LONG   17694751             ;                                              010E001F  0012C
  5728.     .ADDRESS P.AAN                 ;                                              00000000' 00130
  5729. P.AAP:    .ASCII  \ Type LOGOUT to return to VMS Kermit\
  5730.                          ;                                4F  4C  20  65  70  79  54  20  00134
  5731.                          ;                          20  6F  74  20  54  55  4F  47  0013C
  5732.                          ;                          74  20  6E  72  75  74  65  72  00144
  5733.                          ;                          65  4B  20  53  4D  56  20  6F  0014C
  5734.                          ;                                      74  69  6D  72  00154
  5735. P.AAO:    .LONG   17694756             ;                                              010E0024  00158
  5736.     .ADDRESS P.AAP                 ;                                              00000000' 0015C
  5737. P.AAR:    .ASCII  \.COM;0\<0><0>             ;                                00  00  30  3B  4D  4F  43  2E  00160
  5738. P.AAQ:    .LONG   17694726             ;                                              010E0006  00168
  5739.     .ADDRESS P.AAR                 ;                                              00000000' 0016C
  5740.  
  5741.     .PSECT  $OWN$,NOEXE,2
  5742.  
  5743. ;PID
  5744. U.1313: .LONG   0                 ;                                              00000000  00304
  5745.  
  5746. U.1308=            P.AAI
  5747. U.1309=            P.AAK
  5748. U.1310=            P.AAM
  5749. U.1311=            P.AAO
  5750.     .EXTRN  FILE_OPEN, FILE_CLOSE
  5751.  
  5752.     .PSECT  $CODE$,NOWRT,2
  5753.  
  5754. ;DO_COMND
  5755. 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
  5756.         R11>                 ;R11
  5757.     MOVAB   G^FILE_SIZE, R11         ;FILE_SIZE, R11                                 5B 00000000G  00  9E   00002
  5758.     MOVAB   G^TERM_OPEN, R10         ;TERM_OPEN, R10                                 5A 00000000G  00  9E   00009
  5759.     MOVAB   G^U.1313, R9             ;U.1313, R9                                     59 00000000'  00  9E   00010
  5760.     MOVAB   -132(SP), SP             ;-132(SP), SP                                     5E     FF7C   CE  9E   00017
  5761.     MOVL    #17694720, -140(R9)         ;#17694720, TEMP_DESC               2673     FF74   C9 010E0000   8F  D0   0001C
  5762.     MOVAB   -132(R9), -136(R9)         ;TEMP_NAME, TEMP_DESC+4                      FF78   C9     FF7C   C9  9E   00025
  5763.     CLRQ    -728(R9)             ;COMMAND                   2674               FD28   C9  7C   0002C
  5764.     CLRL    (R11)                 ;FILE_SIZE                   2677                  6B  D4   00030
  5765.     CLRL    G^ALT_FILE_SIZE             ;ALT_FILE_SIZE                   2678           00000000'  00  D4   00032
  5766.     CLRL    G^GEN_1SIZE             ;GEN_1SIZE                   2679           00000000G  00  D4   00038
  5767.     CLRL    G^GEN_2SIZE             ;GEN_2SIZE                   2680           00000000G  00  D4   0003E
  5768.     CLRL    G^GEN_3SIZE             ;GEN_3SIZE                   2681           00000000G  00  D4   00044
  5769.     CLRL    G^CONNECT_FLAG             ;CONNECT_FLAG                   2682           00000000G  00  D4   0004A
  5770.     CLRQ    -720(R9)             ;REM_TYPE                   2676               FD30   C9  7C   00050
  5771.     MOVL    4(AP), R0             ;CMD_DESC, R0                   2684            50    04   AC  D0   00054
  5772.     MOVZWL  (R0), -764(R9)             ;(R0), TPARSE_BLOCK+8                          FD04   C9         60  3C   00058
  5773.     MOVL    4(R0), -760(R9)             ;4(R0), TPARSE_BLOCK+12           2685     FD08   C9    04   A0  D0   0005D
  5774.     BICB2   #1, -768(R9)             ;#1, TPARSE_BLOCK+4               2686     FD00   C9         01  8A   00063
  5775.     PUSHAB  G^KERMIT_KEY             ;KERMIT_KEY                   2687           00000000'  00  9F   00068
  5776.     PUSHAB  G^KERMIT_STATE             ;KERMIT_STATE                                    00000000'  00  9F   0006E
  5777.     PUSHAB  -772(R9)             ;TPARSE_BLOCK                                        FCFC   C9  9F   00074
  5778.     CALLS   #3, G^LIB$TPARSE         ;#3, LIB$TPARSE                      00000000G  00         03  FB   00078
  5779.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   0007F
  5780.     BLBC    R6, 8$                 ;STATUS, 8$                   2689            7C         56  E9   00082
  5781.     MOVZWL  G^FILE_DESC, (R11)         ;FILE_DESC, FILE_SIZE               2692            6B 00000000G  00  3C   00085
  5782.     CASEL   -728(R9), #1, #18         ;COMMAND, #1, #18               2694            01     FD28   C9  CF   0008C
  5783.                          ;                                         12       00091
  5784. 1$:    .WORD   5$-1$,-                 ;5$-1$,-                                   005F       0056       00092
  5785.         6$-1$,-                 ;6$-1$,-                             00C8       0098       00096
  5786.         11$-1$,-             ;11$-1$,-                             0122       0207       0009A
  5787.         18$-1$,-             ;18$-1$,-                             0189       01D4       0009E
  5788.         36$-1$,-             ;36$-1$,-                             00A1       01DD       000A2
  5789.         25$-1$,-             ;25$-1$,-                             0067       0026       000A6
  5790.         29$-1$,-             ;29$-1$,-                             00D7       007D       000AA
  5791.         28$-1$,-             ;28$-1$,-                             00EA       00E0       000AE
  5792.         30$-1$,-             ;30$-1$,-                             01E6       0207       000B2
  5793.         13$-1$,-             ;13$-1$,-                                   0200       000B6
  5794.         2$-1$,-                 ;2$-1$,-
  5795.         7$-1$,-                 ;7$-1$,-
  5796.         9$-1$,-                 ;9$-1$,-
  5797.         19$-1$,-             ;19$-1$,-
  5798.         21$-1$,-             ;21$-1$,-
  5799.         23$-1$,-             ;23$-1$,-
  5800.         36$-1$,-             ;36$-1$,-
  5801.         32$-1$,-             ;32$-1$,-
  5802.         35$-1$                 ;35$-1$
  5803. 2$:    PUSHL   #1                 ;#1                       2700                  01  DD   000B8
  5804.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   000BA
  5805.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   000BD
  5806.     BLBC    R6, 14$                 ;STATUS, 14$                                     78         56  E9   000C0
  5807.     BLBS    G^CONNECT_FLAG, 3$         ;CONNECT_FLAG, 3$               2704            0B 00000000G  00  E8   000C3
  5808.     PUSHL   #7                 ;#7                                               07  DD   000CA
  5809.     CALLS   #1, G^DO_GENERIC         ;#1, DO_GENERIC                      00000000G  00         01  FB   000CC
  5810.     BRB     4$                 ;4$                                               07  11   000D3
  5811. 3$:    MOVL    #134316122, R6             ;#134316122, STATUS                                 56 0801805A   8F  D0   000D5
  5812. 4$:    CALLS   #0, G^TERM_CLOSE         ;#0, TERM_CLOSE               2706 00000000G  00         00  FB   000DC
  5813.     BLBS    R6, 6$                 ;STATUS, 6$                   2709            0B         56  E8   000E3
  5814.     BRB     12$                 ;12$                                               49  11   000E6
  5815. 5$:    CALLS   #0, G^TERM_CONNECT         ;#0, TERM_CONNECT               2714 00000000G  00         00  FB   000E8
  5816.     BRB     20$                 ;20$                                               7F  11   000EF
  5817. 6$:    MOVL    #134316203, R0             ;#134316203, R0               2717            50 080180AB   8F  D0   000F1
  5818.     RET                      ;                                               04   000F8
  5819. 7$:    PUSHL   #1                 ;#1                       2721                  01  DD   000F9
  5820.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   000FB
  5821.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   000FE
  5822. 8$:    BLBC    R6, 22$                 ;STATUS, 22$                                     75         56  E9   00101
  5823.     BLBS    G^CONNECT_FLAG, 16$         ;CONNECT_FLAG, 16$               2725            45 00000000G  00  E8   00104
  5824.     PUSHL   #1                 ;#1                                               01  DD   0010B
  5825.     BRB     15$                 ;15$                                               38  11   0010D
  5826. 9$:    PUSHL   #1                 ;#1                       2732                  01  DD   0010F
  5827.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   00111
  5828.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00114
  5829.     BLBC    R6, 22$                 ;STATUS, 22$                                     5F         56  E9   00117
  5830.     BLBS    G^CONNECT_FLAG, 16$         ;CONNECT_FLAG, 16$               2736            2F 00000000G  00  E8   0011A
  5831. 10$:    CALLS   #0, G^REC_SWITCH         ;#0, REC_SWITCH                      00000000G  00         00  FB   00121
  5832.     BRB     17$                 ;17$                                               2D  11   00128
  5833. 11$:    CALLS   #0, G^U.6             ;#0, U.6                   2742 00000000V  00         00  FB   0012A
  5834. 12$:    BRB     22$                 ;22$                                               46  11   00131
  5835. 13$:    PUSHL   #1                 ;#1                       2746                  01  DD   00133
  5836.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   00135
  5837.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00138
  5838. 14$:    BLBC    R6, 22$                 ;STATUS, 22$                                     3B         56  E9   0013B
  5839.     BLBS    G^CONNECT_FLAG, 16$         ;CONNECT_FLAG, 16$               2750            0B 00000000G  00  E8   0013E
  5840.     PUSHL   #7                 ;#7                                               07  DD   00145
  5841. 15$:    CALLS   #1, G^DO_GENERIC         ;#1, DO_GENERIC                      00000000G  00         01  FB   00147
  5842.     BRB     17$                 ;17$                                               07  11   0014E
  5843. 16$:    MOVL    #134316122, R6             ;#134316122, STATUS                                 56 0801805A   8F  D0   00150
  5844. 17$:    BRW     26$                 ;26$                       2752                00AE  31   00157
  5845. 18$:    PUSHL   #1                 ;#1                       2757                  01  DD   0015A
  5846.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   0015C
  5847.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   0015F
  5848.     BLBC    R6, 22$                 ;STATUS, 22$                                     14         56  E9   00162
  5849.     CLRL    (R11)                 ;FILE_SIZE                   2760                  6B  D4   00165
  5850.     BRB     10$                 ;10$                       2761                  B8  11   00167
  5851. 19$:    CALLS   #0, G^U.9             ;#0, U.9                   2766 00000000V  00         00  FB   00169
  5852. 20$:    BRB     22$                 ;22$                                               07  11   00170
  5853. 21$:    CALLS   #0, G^U.10             ;#0, U.10                   2769 00000000V  00         00  FB   00172
  5854. 22$:    BRW     36$                 ;36$                                             011D  31   00179
  5855. 23$:    PUSHAB  G^U.1311             ;U.1311                   2777           00000000'  00  9F   0017C
  5856.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   00182
  5857.     TSTL    (R9)                 ;PID                       2779                  69  D5   00189
  5858.     BEQL    24$                 ;24$                                               11  13   0018B
  5859.     PUSHL   R9                 ;R9                       2782                  59  DD   0018D
  5860.     CALLS   #1, G^LIB$ATTACH         ;#1, LIB$ATTACH                      00000000G  00         01  FB   0018F
  5861.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00196
  5862.     BLBS    R6, 24$                 ;STATUS, 24$                   2784            02         56  E8   00199
  5863.     CLRL    (R9)                 ;PID                                               69  D4   0019C
  5864. 24$:    TSTL    (R9)                 ;PID                       2788                  69  D5   0019E
  5865.     BNEQ    22$                 ;22$                                               D7  12   001A0
  5866.     PUSHL   R9                 ;R9                       2789                  59  DD   001A2
  5867.     CLRQ    -(SP)                 ;-(SP)                                               7E  7C   001A4
  5868.     CLRQ    -(SP)                 ;-(SP)                                               7E  7C   001A6
  5869.     CLRL    -(SP)                 ;-(SP)                                               7E  D4   001A8
  5870.     CALLS   #6, G^LIB$SPAWN             ;#6, LIB$SPAWN                          00000000G  00         06  FB   001AA
  5871.     BRW     33$                 ;33$                                             00D9  31   001B1
  5872. 25$:    MOVL    G^TY_FIL, R7             ;TY_FIL, SAVE_TY_FIL               2805            57 00000000G  00  D0   001B4
  5873.     CLRL    G^TY_FIL             ;TY_FIL                   2806           00000000G  00  D4   001BB
  5874.     MOVL    (R11), R0             ;FILE_SIZE, R0                   2807            50         6B  D0   001C1
  5875.     MOVL    R0, R8                 ;R0, SAVE_FILE_SIZE                                 58         50  D0   001C4
  5876.     MOVC3   R0, G^FILE_NAME, (SP)         ;R0, FILE_NAME, SAVE_FILE_NAME        2810 00000000G  00         50  28   001C7
  5877.                          ;                                         6E       001CE
  5878.     CLRL    -(SP)                 ;-(SP)                       2812                  7E  D4   001CF
  5879.     CALLS   #1, G^FILE_OPEN             ;#1, FILE_OPEN                          00000000G  00         01  FB   001D1
  5880.     BLBC    R0, 27$                 ;R0, 27$                                     37         50  E9   001D8
  5881.     MOVL    R8, (R11)             ;SAVE_FILE_SIZE, FILE_SIZE           2815            6B         58  D0   001DB
  5882.     MOVC3   (R11), (SP), G^FILE_NAME     ;FILE_SIZE, SAVE_FILE_NAME, -           2817            6E         6B  28   001DE
  5883.                          ;FILE_NAME                              00000000G  00       001E1
  5884.     CLRL    -(SP)                 ;-(SP)                       2819                  7E  D4   001E6
  5885.     CALLS   #1, G^FILE_CLOSE         ;#1, FILE_CLOSE                      00000000G  00         01  FB   001E8
  5886.     MOVL    R7, G^TY_FIL             ;SAVE_TY_FIL, TY_FIL               2820 00000000G  00         57  D0   001EF
  5887.     PUSHL   #1                 ;#1                       2822                  01  DD   001F6
  5888.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   001F8
  5889.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   001FB
  5890.     BLBC    R6, 31$                 ;STATUS, 31$                                     75         56  E9   001FE
  5891.     CALLS   #0, G^SEND_SWITCH         ;#0, SEND_SWITCH               2825 00000000G  00         00  FB   00201
  5892. 26$:    CALLS   #0, G^TERM_CLOSE         ;#0, TERM_CLOSE               2826 00000000G  00         00  FB   00208
  5893.     BRW     34$                 ;34$                                             007E  31   0020F
  5894. 27$:    MOVL    R7, G^TY_FIL             ;SAVE_TY_FIL, TY_FIL               2831 00000000G  00         57  D0   00212
  5895.     BRB     34$                 ;34$                       2694                  75  11   00219
  5896. 28$:    PUSHAB  G^U.1308             ;U.1308                   2837           00000000'  00  9F   0021B
  5897.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   00221
  5898.     PUSHAB  G^U.1309             ;U.1309                   2838           00000000'  00  9F   00228
  5899.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   0022E
  5900.     PUSHAB  G^U.1310             ;U.1310                   2839           00000000'  00  9F   00235
  5901.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   0023B
  5902.     PUSHL   #1                 ;#1                       2841                  01  DD   00242
  5903.     CALLS   #1, (R10)             ;#1, TERM_OPEN                                     6A         01  FB   00244
  5904.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00247
  5905.     BLBC    R6, 36$                 ;STATUS, 36$                                     4C         56  E9   0024A
  5906.     CALLS   #0, G^SERVER             ;#0, SERVER                   2844 00000000G  00         00  FB   0024D
  5907.     MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   00254
  5908.     CALLS   #0, G^TERM_CLOSE         ;#0, TERM_CLOSE               2845 00000000G  00         00  FB   00257
  5909.     MOVL    #134316043, R0             ;#134316043, R0               2846            50 0801800B   8F  D0   0025E
  5910.     RET                      ;                                               04   00265
  5911. 29$:    CALLS   #0, G^U.7             ;#0, U.7                   2853 00000000V  00         00  FB   00266
  5912.     BRB     36$                 ;36$                                               2A  11   0026D
  5913. 30$:    CALLS   #0, G^U.8             ;#0, U.8                   2856 00000000V  00         00  FB   0026F
  5914. 31$:    BRB     36$                 ;36$                                               21  11   00276
  5915. 32$:    PUSHL   -716(R9)             ;TAKE_DISPLAY                   2859               FD34   C9  DD   00278
  5916.     CLRL    -(SP)                 ;-(SP)                                               7E  D4   0027C
  5917.     PUSHAB  G^P.AAQ                 ;P.AAQ                                        00000000'  00  9F   0027E
  5918.     PUSHAB  -280(R9)             ;TAK_FIL_DESC                                        FEE8   C9  9F   00284
  5919.     CALLS   #4, W^U.4             ;#4, U.4                              FB0D   CF         04  FB   00288
  5920. 33$:    MOVL    R0, R6                 ;R0, STATUS                                     56         50  D0   0028D
  5921. 34$:    BRB     36$                 ;36$                                               07  11   00290
  5922. 35$:    CALLS   #0, G^COMND_TRANSMIT         ;#0, COMND_TRANSMIT               2862 00000000G  00         00  FB   00292
  5923. 36$:    MOVL    R6, R0                 ;STATUS, R0                   2869            50         56  D0   00299
  5924.     RET                      ;                                               04   0029C
  5925.  
  5926. ; Routine Size:  669 bytes,    Routine Base:  $CODE$ + 03F5
  5927.  
  5928.  
  5929. ;   2871  1     %SBTTL 'Command execution -- COMND_HELP'
  5930. ;   2872  1    ROUTINE COMND_HELP : NOVALUE =
  5931. ;   2873  1     
  5932. ;   2874  1    !++
  5933. ;   2875  1    ! FUNCTIONAL DESCRIPTION:
  5934. ;   2876  1    !
  5935. ;   2877  1    !    This routine will do the HELP command processing for KERMIT.  It
  5936. ;   2878  1    !    will call the library routines.
  5937. ;   2879  1    !
  5938. ;   2880  1    ! CALLING SEQUENCE:
  5939. ;   2881  1    !
  5940. ;   2882  1    !    COMND_HELP();
  5941. ;   2883  1    !
  5942. ;   2884  1    ! INPUT PARAMETERS:
  5943. ;   2885  1    !
  5944. ;   2886  1    !    None.
  5945. ;   2887  1    !
  5946. ;   2888  1    ! IMPLICIT INPUTS:
  5947. ;   2889  1    !
  5948. ;   2890  1    !    None.
  5949. ;   2891  1    !
  5950. ;   2892  1    ! OUTPUT PARAMETERS:
  5951. ;   2893  1    !
  5952. ;   2894  1    !    None.
  5953. ;   2895  1    !
  5954. ;   2896  1    ! IMPLICIT OUTPUTS:
  5955. ;   2897  1    !
  5956. ;   2898  1    !    None.
  5957. ;   2899  1    !
  5958. ;   2900  1    ! COMPLETION CODES:
  5959. ;   2901  1    !
  5960. ;   2902  1    !    None.
  5961. ;   2903  1    !
  5962. ;   2904  1    ! SIDE EFFECTS:
  5963. ;   2905  1    !
  5964. ;   2906  1    !    None.
  5965. ;   2907  1    !
  5966. ;   2908  1    !--
  5967. ;   2909  1     
  5968. ;   2910  2        BEGIN
  5969. ;   2911  2     
  5970. ;   2912  2        LOCAL
  5971. ;   2913  2            Help_File : VECTOR [2],
  5972. ;   2914  2        STATUS : UNSIGNED LONG;
  5973. ;   2915  2     
  5974. ;   2916  2        EXTERNAL ROUTINE
  5975. ;   2917  2        LBR$OUTPUT_HELP : ADDRESSING_MODE (GENERAL);
  5976. ;   2918  2     
  5977. ;   2919  2    !
  5978. ;   2920  2    ! Do the help processing.
  5979. ;   2921  2    !
  5980. ; P 2922  2        Status = $TRNLNM(TABNAM = %ASCID 'LNM$FILE_DEV',
  5981. ;   2923  2                         LOGNAM = %ASCID 'KERMIT_HELP');
  5982. ;   2924  2        IF .Status
  5983. ;   2925  2        THEN
  5984. ;   2926  3            BEGIN
  5985. ;   2927  3            Help_File [0] = %CHARCOUNT(%ASCII 'KERMIT_HELP');
  5986. ;   2928  3            Help_File [1] = UPLIT BYTE(%ASCII 'KERMIT_HELP');
  5987. ;   2929  3            STATUS = LBR$OUTPUT_HELP (LIB$PUT_OUTPUT,
  5988. ;   2930  3                                      0,
  5989. ;   2931  3                                      TEMP_DESC,
  5990. ;   2932  3                                      %ASCID'KERMIT_HELP',
  5991. ;   2933  3                                  UPLIT (HLP$M_PROMPT +
  5992. ;   2934  3                                             HLP$M_PROCESS +
  5993. ;   2935  3                                             HLP$M_GROUP +
  5994. ;   2936  3                                             HLP$M_SYSTEM),
  5995. ;   2937  3                                      LIB$GET_INPUT);
  5996. ;   2938  3            END
  5997. ;   2939  2        ELSE
  5998. ;   2940  3            BEGIN
  5999. ;   2941  3            Help_File [0] = %CHARCOUNT(%ASCII 'KERMIT_HELP');
  6000. ;   2942  3            Help_File [1] = UPLIT BYTE(%ASCII 'KERMIT_HELP');
  6001. ;   2943  3            STATUS = LBR$OUTPUT_HELP (LIB$PUT_OUTPUT,
  6002. ;   2944  3                                      0,
  6003. ;   2945  3                                      TEMP_DESC,
  6004. ;   2946  3                                      %ASCID'KERMIT',
  6005. ;   2947  3                                      UPLIT (HLP$M_PROMPT +
  6006. ;   2948  3                                             HLP$M_PROCESS +
  6007. ;   2949  3                                             HLP$M_GROUP +
  6008. ;   2950  3                                             HLP$M_SYSTEM),
  6009. ;   2951  3                                      LIB$GET_INPUT);
  6010. ;   2952  2            END;
  6011. ;   2953  2     
  6012. ;   2954  2        IF NOT .STATUS THEN LIB$SIGNAL (.STATUS);
  6013. ;   2955  2     
  6014. ;   2956  1        END;
  6015.  
  6016.  
  6017.  
  6018.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  6019.  
  6020. P.AAT:    .ASCII  \LNM$FILE_DEV\             ;                                45  4C  49  46  24  4D  4E  4C  00170
  6021.                          ;                                      56  45  44  5F  00178
  6022. P.AAS:    .LONG   17694732             ;                                              010E000C  0017C
  6023.     .ADDRESS P.AAT                 ;                                              00000000' 00180
  6024. P.AAV:    .ASCII  \KERMIT_HELP\<0>         ;                                48  5F  54  49  4D  52  45  4B  00184
  6025.                          ;                                      00  50  4C  45  0018C
  6026. P.AAU:    .LONG   17694731             ;                                              010E000B  00190
  6027.     .ADDRESS P.AAV                 ;                                              00000000' 00194
  6028. P.AAW:    .ASCII  \KERMIT_HELP\             ;                                48  5F  54  49  4D  52  45  4B  00198
  6029.                          ;                                      50  4C  45  001A0
  6030.     .BLKB   1                                       ;                      001A3
  6031. P.AAY:    .ASCII  \KERMIT_HELP\<0>         ;                                48  5F  54  49  4D  52  45  4B  001A4
  6032.                          ;                                      00  50  4C  45  001AC
  6033. P.AAX:    .LONG   17694731             ;                                              010E000B  001B0
  6034.     .ADDRESS P.AAY                 ;                                              00000000' 001B4
  6035. P.AAZ:    .LONG   15                 ;                                              0000000F  001B8
  6036. P.ABA:    .ASCII  \KERMIT_HELP\             ;                                48  5F  54  49  4D  52  45  4B  001BC
  6037.                          ;                                      50  4C  45  001C4
  6038.     .BLKB   1                                       ;                      001C7
  6039. P.ABC:    .ASCII  \KERMIT\<0><0>             ;                                00  00  54  49  4D  52  45  4B  001C8
  6040. P.ABB:    .LONG   17694726             ;                                              010E0006  001D0
  6041.     .ADDRESS P.ABC                 ;                                              00000000' 001D4
  6042. P.ABD:    .LONG   15                 ;                                              0000000F  001D8
  6043.  
  6044.     .EXTRN  LBR$OUTPUT_HELP, SYS$TRNLNM
  6045.  
  6046.     .PSECT  $CODE$,NOWRT,2
  6047.  
  6048. ;COMND_HELP
  6049. U.6:    .WORD   ^M<R2,R3>             ;Save R2,R3                   2872                    000C   00000
  6050.     MOVAB   G^LIB$GET_INPUT, R3         ;LIB$GET_INPUT, R3                                 53 00000000G  00  9E   00002
  6051.     MOVAB   G^P.AAU, R2             ;P.AAU, R2                                     52 00000000'  00  9E   00009
  6052.     SUBL2   #8, SP                 ;#8, SP                                     5E         08  C2   00010
  6053.     CLRQ    -(SP)                 ;-(SP)                       2923                  7E  7C   00013
  6054.     PUSHL   R2                 ;R2                                               52  DD   00015
  6055.     PUSHAB  -20(R2)                 ;P.AAS                                          EC   A2  9F   00017
  6056.     CLRL    -(SP)                 ;-(SP)                                               7E  D4   0001A
  6057.     CALLS   #5, G^SYS$TRNLNM         ;#5, SYS$TRNLNM                      00000000G  00         05  FB   0001C
  6058.     MOVL    #11, (SP)             ;#11, HELP_FILE               2927            6E         0B  D0   00023
  6059.     BLBC    R0, 1$                 ;STATUS, 1$                   2924            0F         50  E9   00026
  6060.     MOVAB   8(R2), 4(SP)             ;P.AAW, HELP_FILE+4               2928       04   AE    08   A2  9E   00029
  6061.     PUSHL   R3                 ;R3                       2937                  53  DD   0002E
  6062.     PUSHAB  40(R2)                 ;P.AAZ                       2933             28   A2  9F   00030
  6063.     PUSHAB  32(R2)                 ;P.AAX                       2931             20   A2  9F   00033
  6064.     BRB     2$                 ;2$                                               0D  11   00036
  6065. 1$:    MOVAB   44(R2), 4(SP)             ;P.ABA, HELP_FILE+4               2942       04   AE    2C   A2  9E   00038
  6066.     PUSHL   R3                 ;R3                       2951                  53  DD   0003D
  6067.     PUSHAB  72(R2)                 ;P.ABD                       2947             48   A2  9F   0003F
  6068.     PUSHAB  64(R2)                 ;P.ABB                       2945             40   A2  9F   00042
  6069. 2$:    PUSHAB  G^U.63                 ;U.63                                        00000000'  00  9F   00045
  6070.     CLRL    -(SP)                 ;-(SP)                       2944                  7E  D4   0004B
  6071.     PUSHAB  G^LIB$PUT_OUTPUT         ;LIB$PUT_OUTPUT               2943           00000000G  00  9F   0004D
  6072.     CALLS   #6, G^LBR$OUTPUT_HELP         ;#6, LBR$OUTPUT_HELP                      00000000G  00         06  FB   00053
  6073.     BLBS    R0, 3$                 ;STATUS, 3$                   2954            09         50  E8   0005A
  6074.     PUSHL   R0                 ;STATUS                                           50  DD   0005D
  6075.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   0005F
  6076. 3$:    RET                      ;                       2956                  04   00066
  6077.  
  6078. ; Routine Size:  103 bytes,    Routine Base:  $CODE$ + 0692
  6079.  
  6080.  
  6081. ;   2957  1     %SBTTL 'Command execution -- Support routines -- OUTPUT_LONG_WORD'
  6082. ;   2958  1    ROUTINE OUTPUT_LONG_WORD (MSG_ADDR, LONG_VALUE) : NOVALUE =
  6083. ;   2959  1     
  6084. ;   2960  1    !++
  6085. ;   2961  1    ! FUNCTIONAL DESCRIPTION:
  6086. ;   2962  1    !    This routine is used to output the various long word parameters
  6087. ;   2963  1    !    that are shown by the SHOW command.  All text is defined in the level
  6088. ;   2964  1    !    0 of this program.
  6089. ;   2965  1    !
  6090. ;   2966  1    ! CALLING SEQUENCE:
  6091. ;   2967  1    !
  6092. ;   2968  1    !    OUTPUT_LONG_WORD( MSG_ASCID, LONG_WORD_VALUE_TO_OUTPUT);
  6093. ;   2969  1    !
  6094. ;   2970  1    ! INPUT PARAMETERS:
  6095. ;   2971  1    !
  6096. ;   2972  1    !    MSG_ASCID - %ASCID of the text to use for the $FAO call.
  6097. ;   2973  1    !
  6098. ;   2974  1    !    LONG_WORD_VALUE_TO_OUTPUT - Value of the long word to pass to the $FAO.
  6099. ;   2975  1    !
  6100. ;   2976  1    ! IMPLICIT INPUTS:
  6101. ;   2977  1    !
  6102. ;   2978  1    !    None.
  6103. ;   2979  1    !
  6104. ;   2980  1    ! OUTPUT PARAMETERS:
  6105. ;   2981  1    !
  6106. ;   2982  1    !    None.
  6107. ;   2983  1    !
  6108. ;   2984  1    ! IMPLICIT OUTPUTS:
  6109. ;   2985  1    !
  6110. ;   2986  1    !    None.
  6111. ;   2987  1    !
  6112. ;   2988  1    ! COMPLETION CODES:
  6113. ;   2989  1    !
  6114. ;   2990  1    !    None.
  6115. ;   2991  1    !
  6116. ;   2992  1    ! SIDE EFFECTS:
  6117. ;   2993  1    !
  6118. ;   2994  1    !    None.
  6119. ;   2995  1    !
  6120. ;   2996  1    !--
  6121. ;   2997  1     
  6122. ;   2998  2        BEGIN
  6123. ;   2999  2     
  6124. ;   3000  2        MAP
  6125. ;   3001  2        LONG_VALUE : LONG UNSIGNED,
  6126. ;   3002  2        MSG_ADDR : LONG UNSIGNED;
  6127. ;   3003  2     
  6128. ;   3004  2        LOCAL
  6129. ;   3005  2        STATUS : UNSIGNED;            ! Status return by LIB$xxx
  6130. ;   3006  2     
  6131. ;   3007  2        INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  6132. ;   3008  2        $FAO (.MSG_ADDR, OUTPUT_SIZE, OUTPUT_DESC, .LONG_VALUE);
  6133. ;   3009  2        OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  6134. ;   3010  2        STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  6135. ;   3011  1        END;
  6136.  
  6137.  
  6138.  
  6139.     .EXTRN  SYS$FAO
  6140.  
  6141. ;OUTPUT_LONG_WORD
  6142. U.1314: .WORD   ^M<R2>                 ;Save R2                   2958                    0004   00000
  6143.     MOVAB   G^U.54, R2             ;U.54, R2                                     52 00000000'  00  9E   00002
  6144.     MOVL    #17694800, (R2)             ;#17694800, OUTPUT_DESC           3007            62 010E0050   8F  D0   00009
  6145.     MOVAB   -80(R2), 4(R2)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A2    B0   A2  9E   00010
  6146.     PUSHL   8(AP)                 ;LONG_VALUE                   3008             08   AC  DD   00015
  6147.     PUSHL   R2                 ;R2                                               52  DD   00018
  6148.     PUSHAB  8(R2)                 ;OUTPUT_SIZE                                      08   A2  9F   0001A
  6149.     PUSHL   4(AP)                 ;MSG_ADDR                                      04   AC  DD   0001D
  6150.     CALLS   #4, G^SYS$FAO             ;#4, SYS$FAO                          00000000G  00         04  FB   00020
  6151.     MOVW    8(R2), (R2)             ;OUTPUT_SIZE, OUTPUT_DESC           3009            62    08   A2  B0   00027
  6152.     PUSHL   R2                 ;R2                       3010                  52  DD   0002B
  6153.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   0002D
  6154.     RET                      ;                       3011                  04   00034
  6155.  
  6156. ; Routine Size:  53 bytes,    Routine Base:  $CODE$ + 06F9
  6157.  
  6158.  
  6159. ;   3012  1     %SBTTL 'Command Execution -- COMND_REMOTE'
  6160. ;   3013  1    ROUTINE COMND_REMOTE : NOVALUE =
  6161. ;   3014  1     
  6162. ;   3015  1    !++
  6163. ;   3016  1    ! FUNCTIONAL DESCRIPTION:
  6164. ;   3017  1    !
  6165. ;   3018  1    ! This routine will handle the REMOTE commands.  It will call KERMSG
  6166. ;   3019  1    !to perform the command.
  6167. ;   3020  1    !
  6168. ;   3021  1    ! CALLING SEQUENCE:
  6169. ;   3022  1    !
  6170. ;   3023  1    !    COMND_REMOTE ();
  6171. ;   3024  1    !
  6172. ;   3025  1    ! INPUT PARAMETERS:
  6173. ;   3026  1    !
  6174. ;   3027  1    !    None.
  6175. ;   3028  1    !
  6176. ;   3029  1    ! IMPLICIT INPUTS:
  6177. ;   3030  1    !
  6178. ;   3031  1    !    REM_TYPE - type of command to be executed
  6179. ;   3032  1    !    GEN_xDATA/GEN_xSIZE - arguments for the commands
  6180. ;   3033  1    !
  6181. ;   3034  1    ! OUPTUT PARAMETERS:
  6182. ;   3035  1    !
  6183. ;   3036  1    !    None.
  6184. ;   3037  1    !
  6185. ;   3038  1    ! IMPLICIT OUTPUTS:
  6186. ;   3039  1    !
  6187. ;   3040  1    !    None.
  6188. ;   3041  1    !
  6189. ;   3042  1    ! COMPLETION CODES:
  6190. ;   3043  1    !
  6191. ;   3044  1    !    None.
  6192. ;   3045  1    !
  6193. ;   3046  1    ! SIDE EFFECTS:
  6194. ;   3047  1    !
  6195. ;   3048  1    !    None.
  6196. ;   3049  1    !
  6197. ;   3050  1    !--
  6198. ;   3051  1     
  6199. ;   3052  2        BEGIN
  6200. ;   3053  2     
  6201. ;   3054  2        IF GET_REM_ARGS (FALSE)
  6202. ;   3055  2        THEN
  6203. ;   3056  2     
  6204. ;   3057  2        IF TERM_OPEN (TRUE)            ! Open the terminal to determine if local
  6205. ;   3058  2        THEN
  6206. ;   3059  3            BEGIN
  6207. ;   3060  3     
  6208. ;   3061  3            IF NOT .CONNECT_FLAG
  6209. ;   3062  3                THEN DO_GENERIC (.REM_TYPE)
  6210. ;   3063  3                ELSE LIB$SIGNAL (KER_LOCONLY);
  6211. ;   3064  3     
  6212. ;   3065  3            TERM_CLOSE ();
  6213. ;   3066  2            END;
  6214. ;   3067  2     
  6215. ;   3068  1        END;                    ! End of COMND_REMOTE
  6216.  
  6217.  
  6218.  
  6219.  
  6220.  
  6221. ;COMND_REMOTE
  6222. U.9:    .WORD   ^M<>                 ;Save nothing                   3013                    0000   00000
  6223.     CLRL    -(SP)                 ;-(SP)                       3054                  7E  D4   00002
  6224.     CALLS   #1, G^U.11             ;#1, U.11                          00000000V  00         01  FB   00004
  6225.     BLBC    R0, 3$                 ;R0, 3$                                     36         50  E9   0000B
  6226.     PUSHL   #1                 ;#1                       3057                  01  DD   0000E
  6227.     CALLS   #1, G^TERM_OPEN             ;#1, TERM_OPEN                          00000000G  00         01  FB   00010
  6228.     BLBC    R0, 3$                 ;R0, 3$                                     2A         50  E9   00017
  6229.     BLBS    G^CONNECT_FLAG, 1$         ;CONNECT_FLAG, 1$               3061            0F 00000000G  00  E8   0001A
  6230.     PUSHL   G^U.51                 ;U.51                       3062           00000000'  00  DD   00021
  6231.     CALLS   #1, G^DO_GENERIC         ;#1, DO_GENERIC                      00000000G  00         01  FB   00027
  6232.     BRB     2$                 ;2$                                               0D  11   0002E
  6233. 1$:    PUSHL   #134316122             ;#134316122                   3063           0801805A   8F  DD   00030
  6234.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   00036
  6235. 2$:    CALLS   #0, G^TERM_CLOSE         ;#0, TERM_CLOSE               3065 00000000G  00         00  FB   0003D
  6236. 3$:    RET                      ;                       3068                  04   00044
  6237.  
  6238. ; Routine Size:  69 bytes,    Routine Base:  $CODE$ + 072E
  6239.  
  6240.  
  6241. ;   3069  1     %SBTTL 'Command Execution -- COMND_LOCAL'
  6242. ;   3070  1    ROUTINE COMND_LOCAL : NOVALUE =
  6243. ;   3071  1     
  6244. ;   3072  1    !++
  6245. ;   3073  1    ! FUNCTIONAL DESCRIPTION:
  6246. ;   3074  1    !
  6247. ;   3075  1    ! This routine will handle the LOCAL commands.  It will call the generic
  6248. ;   3076  1    !command processor to perform the command, and type the result.
  6249. ;   3077  1    !
  6250. ;   3078  1    ! CALLING SEQUENCE:
  6251. ;   3079  1    !
  6252. ;   3080  1    !    COMND_LOCAL ();
  6253. ;   3081  1    !
  6254. ;   3082  1    ! INPUT PARAMETERS:
  6255. ;   3083  1    !
  6256. ;   3084  1    !    None.
  6257. ;   3085  1    !
  6258. ;   3086  1    ! IMPLICIT INPUTS:
  6259. ;   3087  1    !
  6260. ;   3088  1    !    REM_TYPE - type of command to be executed
  6261. ;   3089  1    !    GEN_xDATA/GEN_xSIZE - arguments for the commands
  6262. ;   3090  1    !
  6263. ;   3091  1    ! OUPTUT PARAMETERS:
  6264. ;   3092  1    !
  6265. ;   3093  1    !    None.
  6266. ;   3094  1    !
  6267. ;   3095  1    ! IMPLICIT OUTPUTS:
  6268. ;   3096  1    !
  6269. ;   3097  1    !    None.
  6270. ;   3098  1    !
  6271. ;   3099  1    ! COMPLETION CODES:
  6272. ;   3100  1    !
  6273. ;   3101  1    !    None.
  6274. ;   3102  1    !
  6275. ;   3103  1    ! SIDE EFFECTS:
  6276. ;   3104  1    !
  6277. ;   3105  1    !    None.
  6278. ;   3106  1    !
  6279. ;   3107  1    !--
  6280. ;   3108  1     
  6281. ;   3109  2        BEGIN
  6282. ;   3110  2     
  6283. ;   3111  2        LOCAL
  6284. ;   3112  2        SAVED_TY_FIL,                ! Saved value from TY_FIL
  6285. ;   3113  2        STATUS,                    ! Status values
  6286. ;   3114  2        FILE_FLAG,                ! Flag whether file is open
  6287. ;   3115  2        CHARACTER,                ! Character from get-a-char routine
  6288. ;   3116  2        STR_LENGTH,                ! Length of string
  6289. ;   3117  2        STR_ADDRESS,                ! Address of string
  6290. ;   3118  2        GET_CHR_RTN;                ! Address of routine to get a character
  6291. ;   3119  2     
  6292. ;   3120  2        EXTERNAL ROUTINE
  6293. ;   3121  2        SY_GENERIC,                ! Do a generic command
  6294. ;   3122  2        GET_FILE,                ! Get a character from a file
  6295. ;   3123  2        FILE_OPEN,                ! Open a file
  6296. ;   3124  2        FILE_CLOSE;                ! Close a file
  6297. ;   3125  2     
  6298. ;   3126  2    !
  6299. ;   3127  2    ! First get any extra arguments needed
  6300. ;   3128  2    !
  6301. ;   3129  2        STATUS = GET_REM_ARGS (TRUE);
  6302. ;   3130  2     
  6303. ;   3131  2        IF NOT .STATUS THEN RETURN;
  6304. ;   3132  2     
  6305. ;   3133  2    !
  6306. ;   3134  2    ! Initialize arguments for SY_GENERIC
  6307. ;   3135  2    !
  6308. ;   3136  2        GET_CHR_RTN = 0;                ! No routine
  6309. ;   3137  2        STR_LENGTH = 0;                ! No length
  6310. ;   3138  2        STR_ADDRESS = 0;                ! No address
  6311. ;   3139  2    !
  6312. ;   3140  2    ! Have generic routine do the command
  6313. ;   3141  2    !
  6314. ;   3142  2        STATUS = SY_GENERIC (.REM_TYPE, STR_ADDRESS, STR_LENGTH, GET_CHR_RTN);
  6315. ;   3143  2     
  6316. ;   3144  2        IF NOT .STATUS
  6317. ;   3145  2        THEN
  6318. ;   3146  2        LIB$SIGNAL (.STATUS)
  6319. ;   3147  2        ELSE
  6320. ;   3148  3        BEGIN
  6321. ;   3149  3    !
  6322. ;   3150  3    ! If we got a string, type it out
  6323. ;   3151  3    !
  6324. ;   3152  3     
  6325. ;   3153  3        IF .STR_LENGTH NEQ 0
  6326. ;   3154  3        THEN
  6327. ;   3155  4            BEGIN
  6328. ;   3156  4     
  6329. ;   3157  4            LOCAL
  6330. ;   3158  4            POINTER;
  6331. ;   3159  4     
  6332. ;   3160  4            POINTER = CH$PTR (.STR_ADDRESS);
  6333. ;   3161  4     
  6334. ;   3162  4            DECR I FROM .STR_LENGTH TO 1 DO
  6335. ;   3163  4            TT_CHAR (CH$RCHAR_A (POINTER));
  6336. ;   3164  4     
  6337. ;   3165  4            TT_CRLF ();                ! Make sure it gets dumped
  6338. ;   3166  4            END
  6339. ;   3167  3        ELSE
  6340. ;   3168  3    !
  6341. ;   3169  3    ! Here if we didn't get a string.  Either we need to call the supplied routine
  6342. ;   3170  3    ! or open a file and call GET_FILE for each character.
  6343. ;   3171  3    !
  6344. ;   3172  4            BEGIN
  6345. ;   3173  4     
  6346. ;   3174  4            IF .GET_CHR_RTN NEQ 0
  6347. ;   3175  4            THEN
  6348. ;   3176  4            FILE_FLAG = FALSE        ! No file open
  6349. ;   3177  4            ELSE
  6350. ;   3178  5            BEGIN
  6351. ;   3179  5            FILE_FLAG = TRUE;        ! Have a file
  6352. ;   3180  5            GET_CHR_RTN = GET_FILE;        ! This is our get-a-char routine
  6353. ;   3181  5            SAVED_TY_FIL = .TY_FIL;        ! Save current type out flag
  6354. ;   3182  5            TY_FIL = FALSE;            ! Make sure we don't have name typed
  6355. ;   3183  5            STATUS = FILE_OPEN (FNC_READ);    ! Open the file
  6356. ;   3184  5            TY_FIL = .SAVED_TY_FIL;        ! Restore type out value
  6357. ;   3185  5     
  6358. ;   3186  5            IF NOT .STATUS            ! If we couldn't open the file
  6359. ;   3187  5            THEN
  6360. ;   3188  5                RETURN;            ! Just return, (FILE_OPEN reported it)
  6361. ;   3189  5     
  6362. ;   3190  4            END;
  6363. ;   3191  4     
  6364. ;   3192  4            DO
  6365. ;   3193  5            BEGIN
  6366. ;   3194  5            STATUS = (.GET_CHR_RTN) (CHARACTER);    ! Get a character
  6367. ;   3195  5     
  6368. ;   3196  5            IF .STATUS AND NOT .STATUS EQL KER_EOF    ! Did we get one?
  6369. ;   3197  5            THEN
  6370. ;   3198  5                TT_CHAR (.CHARACTER)    ! Yes, type it
  6371. ;   3199  5            ELSE
  6372. ;   3200  5    !
  6373. ;   3201  5    ! If no character returned, check for EOF and close file if we opened it
  6374. ;   3202  5    !
  6375. ;   3203  5     
  6376. ;   3204  5                IF .STATUS EQL KER_EOF AND .FILE_FLAG THEN FILE_CLOSE ();
  6377. ;   3205  5     
  6378. ;   3206  5            END
  6379. ;   3207  4            UNTIL NOT .STATUS OR .STATUS EQL KER_EOF;    ! Loop until we are done
  6380. ;   3208  4     
  6381. ;   3209  4            TT_OUTPUT ();            ! Force out last buffer
  6382. ;   3210  3            END;
  6383. ;   3211  3     
  6384. ;   3212  2        END;
  6385. ;   3213  2     
  6386. ;   3214  1        END;                    ! End of COMND_LOCAL
  6387.  
  6388.  
  6389.  
  6390.     .EXTRN  SY_GENERIC, GET_FILE
  6391.  
  6392. ;COMND_LOCAL
  6393. U.10:    .WORD   ^M<R2,R3,R4,R5,R6>         ;Save R2,R3,R4,R5,R6               3070                    007C   00000
  6394.     MOVAB   G^TT_CHAR, R6             ;TT_CHAR, R6                                     56 00000000G  00  9E   00002
  6395.     MOVAB   G^TY_FIL, R5             ;TY_FIL, R5                                     55 00000000G  00  9E   00009
  6396.     SUBL2   #16, SP                 ;#16, SP                                     5E         10  C2   00010
  6397.     PUSHL   #1                 ;#1                       3129                  01  DD   00013
  6398.     CALLS   #1, G^U.11             ;#1, U.11                          00000000V  00         01  FB   00015
  6399.     MOVL    R0, R4                 ;R0, STATUS                                     54         50  D0   0001C
  6400.     BLBC    R4, 6$                 ;STATUS, 6$                   3131            71         54  E9   0001F
  6401.     CLRQ    (SP)                 ;GET_CHR_RTN                   3136                  6E  7C   00022
  6402.     CLRL    8(SP)                 ;STR_ADDRESS                   3138             08   AE  D4   00024
  6403.     PUSHL   SP                 ;SP                       3142                  5E  DD   00027
  6404.     PUSHAB  8(SP)                 ;STR_LENGTH                                      08   AE  9F   00029
  6405.     PUSHAB  16(SP)                 ;STR_ADDRESS                                      10   AE  9F   0002C
  6406.     PUSHL   G^U.51                 ;U.51                                        00000000'  00  DD   0002F
  6407.     CALLS   #4, G^SY_GENERIC         ;#4, SY_GENERIC                      00000000G  00         04  FB   00035
  6408.     MOVL    R0, R4                 ;R0, STATUS                                     54         50  D0   0003C
  6409.     BLBS    R4, 1$                 ;STATUS, 1$                   3144            0A         54  E8   0003F
  6410.     PUSHL   R4                 ;STATUS                   3146                  54  DD   00042
  6411.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   00044
  6412.     RET                      ;                                               04   0004B
  6413. 1$:    TSTL    4(SP)                 ;STR_LENGTH                   3153             04   AE  D5   0004C
  6414.     BEQL    4$                 ;4$                                               1C  13   0004F
  6415.     MOVL    8(SP), R3             ;STR_ADDRESS, POINTER               3160            53    08   AE  D0   00051
  6416.     ADDL3   #1, 4(SP), R2             ;#1, STR_LENGTH, I               3162       04   AE         01  C1   00055
  6417.                          ;                                         52       00059
  6418.     BRB     3$                 ;3$                                               06  11   0005A
  6419. 2$:    MOVZBL  (R3)+, -(SP)             ;(POINTER)+, -(SP)               3163            7E         83  9A   0005C
  6420.     CALLS   #1, (R6)             ;#1, TT_CHAR                                     66         01  FB   0005F
  6421. 3$:    SOBGTR  R2, 2$                 ;I, 2$                                         F7         52  F5   00062
  6422.     CALLS   #0, G^TT_CRLF             ;#0, TT_CRLF                   3165 00000000G  00         00  FB   00065
  6423.     RET                      ;                                               04   0006C
  6424. 4$:    TSTL    (SP)                 ;GET_CHR_RTN                   3174                  6E  D5   0006D
  6425.     BEQL    5$                 ;5$                                               04  13   0006F
  6426.     CLRL    R3                 ;FILE_FLAG                   3176                  53  D4   00071
  6427.     BRB     7$                 ;7$                                               21  11   00073
  6428. 5$:    MOVL    #1, R3                 ;#1, FILE_FLAG                   3179            53         01  D0   00075
  6429.     MOVAB   G^GET_FILE, (SP)         ;GET_FILE, GET_CHR_RTN               3180            6E 00000000G  00  9E   00078
  6430.     MOVL    (R5), R2             ;TY_FIL, SAVED_TY_FIL               3181            52         65  D0   0007F
  6431.     CLRL    (R5)                 ;TY_FIL                   3182                  65  D4   00082
  6432.     CLRL    -(SP)                 ;-(SP)                       3183                  7E  D4   00084
  6433.     CALLS   #1, G^FILE_OPEN             ;#1, FILE_OPEN                          00000000G  00         01  FB   00086
  6434.     MOVL    R0, R4                 ;R0, STATUS                                     54         50  D0   0008D
  6435.     MOVL    R2, (R5)             ;SAVED_TY_FIL, TY_FIL               3184            65         52  D0   00090
  6436. 6$:    BLBC    R4, 11$                 ;STATUS, 11$                   3186            44         54  E9   00093
  6437. 7$:    PUSHAB  12(SP)                 ;CHARACTER                   3194             0C   AE  9F   00096
  6438.     CALLS   #1, @4(SP)             ;#1, @GET_CHR_RTN                            04   BE         01  FB   00099
  6439.     MOVL    R0, R4                 ;R0, STATUS                                     54         50  D0   0009D
  6440.     BLBC    R4, 8$                 ;STATUS, 8$                   3196            11         54  E9   000A0
  6441.     CMPL    R4, #134316131             ;STATUS, #134316131                      08018063   8F         54  D1   000A3
  6442.     BEQL    8$                 ;8$                                               08  13   000AA
  6443.     PUSHL   12(SP)                 ;CHARACTER                   3198             0C   AE  DD   000AC
  6444.     CALLS   #1, (R6)             ;#1, TT_CHAR                                     66         01  FB   000AF
  6445.     BRB     9$                 ;9$                                               13  11   000B2
  6446. 8$:    CMPL    R4, #134316131             ;STATUS, #134316131               3204 08018063   8F         54  D1   000B4
  6447.     BNEQ    9$                 ;9$                                               0A  12   000BB
  6448.     BLBC    R3, 9$                 ;FILE_FLAG, 9$                                     07         53  E9   000BD
  6449.     CALLS   #0, G^FILE_CLOSE         ;#0, FILE_CLOSE                      00000000G  00         00  FB   000C0
  6450. 9$:    BLBC    R4, 10$                 ;STATUS, 10$                   3207            09         54  E9   000C7
  6451.     CMPL    R4, #134316131             ;STATUS, #134316131                      08018063   8F         54  D1   000CA
  6452.     BNEQ    7$                 ;7$                                               C3  12   000D1
  6453. 10$:    CALLS   #0, G^TT_OUTPUT             ;#0, TT_OUTPUT                   3209 00000000G  00         00  FB   000D3
  6454. 11$:    RET                      ;                       3214                  04   000DA
  6455.  
  6456. ; Routine Size:  219 bytes,    Routine Base:  $CODE$ + 0773
  6457.  
  6458.  
  6459. ;   3215  1     %SBTTL 'Command execution -- COMND_SHOW'
  6460. ;   3216  1    ROUTINE COMND_SHOW : NOVALUE =
  6461. ;   3217  1     
  6462. ;   3218  1    !++
  6463. ;   3219  1    ! FUNCTIONAL DESCRIPTION:
  6464. ;   3220  1    !
  6465. ;   3221  1    !    This routine will process the SHOW command.  This routine
  6466. ;   3222  1    !    expects that the command has already been processed and that
  6467. ;   3223  1    !    the type of SHOW command is stored in SHOW_TYPE.
  6468. ;   3224  1    !
  6469. ;   3225  1    ! CALLING SEQUENCE:
  6470. ;   3226  1    !
  6471. ;   3227  1    !    COMND_SHOW();
  6472. ;   3228  1    !
  6473. ;   3229  1    ! INPUT PARAMETERS:
  6474. ;   3230  1    !
  6475. ;   3231  1    !    None.
  6476. ;   3232  1    !
  6477. ;   3233  1    ! IMPLICIT INPUTS:
  6478. ;   3234  1    !
  6479. ;   3235  1    !    None.
  6480. ;   3236  1    !
  6481. ;   3237  1    ! OUTPUT PARAMETERS:
  6482. ;   3238  1    !
  6483. ;   3239  1    !    None.
  6484. ;   3240  1    !
  6485. ;   3241  1    ! IMPLICIT OUTPUTS:
  6486. ;   3242  1    !
  6487. ;   3243  1    !    None.
  6488. ;   3244  1    !
  6489. ;   3245  1    ! COMPLETION CODES:
  6490. ;   3246  1    !
  6491. ;   3247  1    !    None.
  6492. ;   3248  1    !
  6493. ;   3249  1    ! SIDE EFFECTS:
  6494. ;   3250  1    !
  6495. ;   3251  1    !    None.
  6496. ;   3252  1    !
  6497. ;   3253  1    !--
  6498. ;   3254  1     
  6499. ;   3255  2        BEGIN
  6500. ;   3256  2     
  6501. ;   3257  2        LOCAL
  6502. ;   3258  2        STATUS : WORD;                ! Status returned
  6503. ;   3259  2     
  6504. ;   3260  2    ! Bind some addresses to text
  6505. ;   3261  2     
  6506. ;   3262  2        BIND
  6507. ;   3263  2        OFF_TEXT = %ASCID'OFF',            ! Item is off
  6508. ;   3264  2        ON_TEXT = %ASCID'ON',            ! Item is on
  6509. ;   3265  2        SHOW_ABT_MSG = %ASCID' Incomplete file disposition    !AS',
  6510. ;   3266  2        ABT_DISCARD = %ASCID'Discard',
  6511. ;   3267  2        ABT_KEEP = %ASCID'Keep',
  6512. ;   3268  2        SHOW_CHK_MSG = %ASCID' Block check type        !AS',
  6513. ;   3269  2        CHK_1CHAR_MSG = %ASCID'One character checksum',
  6514. ;   3270  2        CHK_2CHAR_MSG = %ASCID'Two character checksum',
  6515. ;   3271  2        CHK_CRC_MSG = %ASCID'Three character CRC-CCITT',
  6516. ;   3272  2        SHOW_DEB_MSG = %ASCID' Debugging            !AS',
  6517. ;   3273  2        SHOW_DEL_MSG = %ASCID' Delay                !ZL (sec)',
  6518. ;   3274  2        SHOW_SRV_MSG = %ASCID' Server sends NAKs every !ZL seconds while waiting for a command',
  6519. ;   3275  2        SHOW_ESC_MSG = %ASCID' Escape character        !3OL (octal)',
  6520. ;   3276  2        SHOW_FTP_MSG = %ASCID' File type            !AS',
  6521. ;   3277  2        SHOW_BLK_MSG = %ASCID' BINARY and FIXED record size   !UL (bytes)',
  6522. ;   3278  2        FTP_ASCII =    %ASCID'ASCII',
  6523. ;   3279  2        FTP_BINARY = %ASCID'BINARY',
  6524. ;   3280  2        FTP_BLOCK = %ASCID'BLOCK',
  6525. ;   3281  2        FTP_FIXED = %ASCID'FIXED',
  6526. ;   3282  2        SHOW_FNM_MSG = %ASCID' File naming            !AS',
  6527. ;   3283  2        FNM_MSG_FULL = %ASCID'Full file specifcation',
  6528. ;   3284  2        FNM_MSG_NORMAL = %ASCID'Normal form',
  6529. ;   3285  2        FNM_MSG_UNTRAN = %ASCID'Untranslated',
  6530. ;   3286  2    !    SHOW_IBM_MSG = %ASCID' IBM mode            !AS',
  6531. ;   3287  2        SHOW_HAN_MSG = %ASCID' Handshaking character        !3OL (octal)',
  6532. ;   3288  2        SHOW_HAN_MSG_NONE = %ASCID' Handshaking character        None',
  6533. ;   3289  2        SHOW_LIN_MSG = %ASCID' Line used            !AS',
  6534. ;   3290  2        SHOW_ECH_MSG = %ASCID' Local echo            !AS',
  6535. ;   3291  2        SHOW_PAR_MSG = %ASCID' Parity type            !AS',
  6536. ;   3292  2        PAR_EVEN = %ASCID'Even',
  6537. ;   3293  2        PAR_ODD = %ASCID'Odd',
  6538. ;   3294  2        PAR_MARK = %ASCID'Mark',
  6539. ;   3295  2        PAR_SPACE = %ASCID'Space',
  6540. ;   3296  2        PAR_NONE = %ASCID'None',
  6541. ;   3297  2        SHOW_RTY_HDR = %ASCID' Retry maximums',
  6542. ;   3298  2        SHOW_RTY_INI_MSG = %ASCID'  Initial connection        !ZL (dec)',
  6543. ;   3299  2        SHOW_RTY_PKT_MSG = %ASCID'  Sending a packet        !ZL (dec)',
  6544. ;   3300  2        SHOW_REC_HDR = %ASCID' Receive parameters',
  6545. ;   3301  2        SHOW_SND_HDR = %ASCID' Send parameters',
  6546. ;   3302  2        SHOW_PKT_MSG = %ASCID'  Packet length            !ZL (dec)',
  6547. ;   3303  2        SHOW_PAD_MSG = %ASCID'  Padding length        !ZL (dec)',
  6548. ;   3304  2        SHOW_PDC_MSG = %ASCID'  Padding character        !3OL (octal)',
  6549. ;   3305  2        SHOW_TIM_MSG = %ASCID'  Time out            !ZL (sec)',
  6550. ;   3306  2        SHOW_EOL_MSG = %ASCID'  End of line character        !3OL (octal)',
  6551. ;   3307  2        SHOW_QUO_MSG = %ASCID'  Quoting character        !3OL (octal)',
  6552. ;   3308  2        SHOW_SOH_MSG = %ASCID'  Start of packet        !3OL (octal)',
  6553. ;   3309  2        SHOW_8QU_MSG = %ASCID'  8-bit quoting character    !3OL (octal)',
  6554. ;   3310  2        SHOW_TRN_HDR = %ASCID' Transmit parameters',                            !   
  6555. ;   3311  2        SHOW_TRD_MSG = %ASCID'  Delay                         0.!AD (sec)',     ! 
  6556. ;   3312  2        SHOW_TRE_MSG = %ASCID'  Echo                    !AS',           ! 
  6557. ;   3313  2        SHOW_RPT_MSG = %ASCID' Repeat quoting character    !3OL (octal)';
  6558. ;   3314  2     
  6559. ;   3315  2    !++
  6560. ;   3316  2    ! FUNCTIONAL DESCRIPTION:
  6561. ;   3317  2    !
  6562. ;   3318  2    !    This routine is used to output the keywords TRUE or FALSE.
  6563. ;   3319  2    !    All text that this routine uses is defined in the level 0 BEGIN/END
  6564. ;   3320  2    !    of the program.
  6565. ;   3321  2    !
  6566. ;   3322  2    ! CALLING SEQUENCE:
  6567. ;   3323  2    !
  6568. ;   3324  2    !    OUTPUT_TRUE_FALSE( MSG_ASCID, FLAG_WORD);
  6569. ;   3325  2    !
  6570. ;   3326  2    ! INPUT PARAMETERS:
  6571. ;   3327  2    !
  6572. ;   3328  2    !    MSG_ASCID - %ASCID of the text to use for the $FAO call.
  6573. ;   3329  2    !
  6574. ;   3330  2    !    FLAG_WORD - Long word containing the value of either TRUE or FALSE.
  6575. ;   3331  2    !
  6576. ;   3332  2    ! IMPLICIT INPUTS:
  6577. ;   3333  2    !
  6578. ;   3334  2    !    None.
  6579. ;   3335  2    !
  6580. ;   3336  2    ! OUTPUT PARAMETERS:
  6581. ;   3337  2    !
  6582. ;   3338  2    !    None.
  6583. ;   3339  2    !
  6584. ;   3340  2    ! IMPLICIT OUTPUTS:
  6585. ;   3341  2    !
  6586. ;   3342  2    !    None.
  6587. ;   3343  2    !
  6588. ;   3344  2    ! COMPLETION CODES:
  6589. ;   3345  2    !
  6590. ;   3346  2    !    None.
  6591. ;   3347  2    !
  6592. ;   3348  2    ! SIDE EFFECTS:
  6593. ;   3349  2    !
  6594. ;   3350  2    !    None.
  6595. ;   3351  2    !
  6596. ;   3352  2    !--
  6597. ;   3353  2     
  6598. ;   3354  2        ROUTINE OUTPUT_TRUE_FALSE (MSG_ADDR, FLAG_ADDR) : NOVALUE =
  6599. ;   3355  3        BEGIN
  6600. ;   3356  3     
  6601. ;   3357  3        MAP
  6602. ;   3358  3            FLAG_ADDR : LONG UNSIGNED,
  6603. ;   3359  3            MSG_ADDR : LONG UNSIGNED;
  6604. ;   3360  3     
  6605. ;   3361  3        LOCAL
  6606. ;   3362  3            STATUS : UNSIGNED;            ! Status return by LIB$xxx
  6607. ;   3363  3     
  6608. ;   3364  3        INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  6609. ; P 3365  3        $FAO (.MSG_ADDR, OUTPUT_SIZE, OUTPUT_DESC,
  6610. ; P 3366  3            (SELECTONE ..FLAG_ADDR OF
  6611. ; P 3367  3            SET
  6612. ; P 3368  3            [TRUE] : ON_TEXT;
  6613. ; P 3369  3            [FALSE] : OFF_TEXT;
  6614. ;   3370  3            TES));
  6615. ;   3371  3        OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  6616. ;   3372  3        STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  6617. ;   3373  2        END;
  6618.  
  6619.  
  6620.  
  6621.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  6622.  
  6623. P.ABF:    .ASCII  \OFF\<0>             ;                                            00  46  46  4F  001DC
  6624. P.ABE:    .LONG   17694723             ;                                              010E0003  001E0
  6625.     .ADDRESS P.ABF                 ;                                              00000000' 001E4
  6626. P.ABH:    .ASCII  \ON\<0><0>             ;                                            00  00  4E  4F  001E8
  6627. P.ABG:    .LONG   17694722             ;                                              010E0002  001EC
  6628.     .ADDRESS P.ABH                 ;                                              00000000' 001F0
  6629. P.ABJ:    .ASCII  \ Incomplete file disposition\<9>\!AS\
  6630.                          ;                                6C  70  6D  6F  63  6E  49  20  001F4
  6631.                          ;                          65  6C  69  66  20  65  74  65  001FC
  6632.                          ;                          69  73  6F  70  73  69  64  20  00204
  6633.                          ;                          53  41  21  09  6E  6F  69  74  0020C
  6634. P.ABI:    .LONG   17694752             ;                                              010E0020  00214
  6635.     .ADDRESS P.ABJ                 ;                                              00000000' 00218
  6636. P.ABL:    .ASCII  \Discard\<0>             ;                                00  64  72  61  63  73  69  44  0021C
  6637. P.ABK:    .LONG   17694727             ;                                              010E0007  00224
  6638.     .ADDRESS P.ABL                 ;                                              00000000' 00228
  6639. P.ABN:    .ASCII  \Keep\                 ;                                            70  65  65  4B  0022C
  6640. P.ABM:    .LONG   17694724             ;                                              010E0004  00230
  6641.     .ADDRESS P.ABN                 ;                                              00000000' 00234
  6642. P.ABP:    .ASCII  \ Block check type\<9><9>\!AS\<0><0>
  6643.                          ;                                63  20  6B  63  6F  6C  42  20  00238
  6644.                          ;                          70  79  74  20  6B  63  65  68  00240
  6645.                          ;                          00  00  53  41  21  09  09  65  00248
  6646. P.ABO:    .LONG   17694742             ;                                              010E0016  00250
  6647.     .ADDRESS P.ABP                 ;                                              00000000' 00254
  6648. P.ABR:    .ASCII  \One character checksum\<0><0>     ;                                72  61  68  63  20  65  6E  4F  00258
  6649.                          ;                          68  63  20  72  65  74  63  61  00260
  6650.                          ;                          00  00  6D  75  73  6B  63  65  00268
  6651. P.ABQ:    .LONG   17694742             ;                                              010E0016  00270
  6652.     .ADDRESS P.ABR                 ;                                              00000000' 00274
  6653. P.ABT:    .ASCII  \Two character checksum\<0><0>     ;                                72  61  68  63  20  6F  77  54  00278
  6654.                          ;                          68  63  20  72  65  74  63  61  00280
  6655.                          ;                          00  00  6D  75  73  6B  63  65  00288
  6656. P.ABS:    .LONG   17694742             ;                                              010E0016  00290
  6657.     .ADDRESS P.ABT                 ;                                              00000000' 00294
  6658. P.ABV:    .ASCII  \Three character CRC-CCITT\<0><0><0>
  6659.                          ;                                68  63  20  65  65  72  68  54  00298
  6660.                          ;                          20  72  65  74  63  61  72  61  002A0
  6661.                          ;                          54  49  43  43  2D  43  52  43  002A8
  6662.                          ;                                      00  00  00  54  002B0
  6663. P.ABU:    .LONG   17694745             ;                                              010E0019  002B4
  6664.     .ADDRESS P.ABV                 ;                                              00000000' 002B8
  6665. P.ABX:    .ASCII  \ Debugging\<9><9><9>\!AS\     ;                                69  67  67  75  62  65  44  20  002BC
  6666.                          ;                          53  41  21  09  09  09  67  6E  002C4
  6667. P.ABW:    .LONG   17694736             ;                                              010E0010  002CC
  6668.     .ADDRESS P.ABX                 ;                                              00000000' 002D0
  6669. P.ABZ:    .ASCII  \ Delay\<9><9><9><9>\!ZL (sec)\<0>
  6670.                          ;                                09  09  79  61  6C  65  44  20  002D4
  6671.                          ;                          73  28  20  4C  5A  21  09  09  002DC
  6672.                          ;                                      00  29  63  65  002E4
  6673. P.ABY:    .LONG   17694739             ;                                              010E0013  002E8
  6674.     .ADDRESS P.ABZ                 ;                                              00000000' 002EC
  6675. P.ACB:    .ASCII  \ Server sends NAKs every !ZL seconds while waiting for a command\
  6676.                          ;                                20  72  65  76  72  65  53  20  002F0
  6677.                          ;                          41  4E  20  73  64  6E  65  73  002F8
  6678.                          ;                          79  72  65  76  65  20  73  4B  00300
  6679.                          ;                          63  65  73  20  4C  5A  21  20  00308
  6680.                          ;                          69  68  77  20  73  64  6E  6F  00310
  6681.                          ;                          69  74  69  61  77  20  65  6C  00318
  6682.                          ;                          61  20  72  6F  66  20  67  6E  00320
  6683.                          ;                          64  6E  61  6D  6D  6F  63  20  00328
  6684. P.ACA:    .LONG   17694784             ;                                              010E0040  00330
  6685.     .ADDRESS P.ACB                 ;                                              00000000' 00334
  6686. P.ACD:    .ASCII  \ Escape character\<9><9>\!3OL (octal)\<0>
  6687.                          ;                                20  65  70  61  63  73  45  20  00338
  6688.                          ;                          65  74  63  61  72  61  68  63  00340
  6689.                          ;                          20  4C  4F  33  21  09  09  72  00348
  6690.                          ;                          00  29  6C  61  74  63  6F  28  00350
  6691. P.ACC:    .LONG   17694751             ;                                              010E001F  00358
  6692.     .ADDRESS P.ACD                 ;                                              00000000' 0035C
  6693. P.ACF:    .ASCII  \ File type\<9><9><9>\!AS\     ;                                79  74  20  65  6C  69  46  20  00360
  6694.                          ;                          53  41  21  09  09  09  65  70  00368
  6695. P.ACE:    .LONG   17694736             ;                                              010E0010  00370
  6696.     .ADDRESS P.ACF                 ;                                              00000000' 00374
  6697. P.ACH:    .ASCII  \ BINARY and FIXED record size   !UL (bytes)\<0>
  6698.                          ;                                20  59  52  41  4E  49  42  20  00378
  6699.                          ;                          45  58  49  46  20  64  6E  61  00380
  6700.                          ;                          64  72  6F  63  65  72  20  44  00388
  6701.                          ;                          20  20  20  65  7A  69  73  20  00390
  6702.                          ;                          74  79  62  28  20  4C  55  21  00398
  6703.                          ;                                      00  29  73  65  003A0
  6704. P.ACG:    .LONG   17694763             ;                                              010E002B  003A4
  6705.     .ADDRESS P.ACH                 ;                                              00000000' 003A8
  6706. P.ACJ:    .ASCII  \ASCII\<0><0><0>         ;                                00  00  00  49  49  43  53  41  003AC
  6707. P.ACI:    .LONG   17694725             ;                                              010E0005  003B4
  6708.     .ADDRESS P.ACJ                 ;                                              00000000' 003B8
  6709. P.ACL:    .ASCII  \BINARY\<0><0>             ;                                00  00  59  52  41  4E  49  42  003BC
  6710. P.ACK:    .LONG   17694726             ;                                              010E0006  003C4
  6711.     .ADDRESS P.ACL                 ;                                              00000000' 003C8
  6712. P.ACN:    .ASCII  \BLOCK\<0><0><0>         ;                                00  00  00  4B  43  4F  4C  42  003CC
  6713. P.ACM:    .LONG   17694725             ;                                              010E0005  003D4
  6714.     .ADDRESS P.ACN                 ;                                              00000000' 003D8
  6715. P.ACP:    .ASCII  \FIXED\<0><0><0>         ;                                00  00  00  44  45  58  49  46  003DC
  6716. P.ACO:    .LONG   17694725             ;                                              010E0005  003E4
  6717.     .ADDRESS P.ACP                 ;                                              00000000' 003E8
  6718. P.ACR:    .ASCII  \ File naming\<9><9><9>\!AS\<0><0>
  6719.                          ;                                61  6E  20  65  6C  69  46  20  003EC
  6720.                          ;                          21  09  09  09  67  6E  69  6D  003F4
  6721.                          ;                                      00  00  53  41  003FC
  6722. P.ACQ:    .LONG   17694738             ;                                              010E0012  00400
  6723.     .ADDRESS P.ACR                 ;                                              00000000' 00404
  6724. P.ACT:    .ASCII  \Full file specifcation\<0><0>     ;                                6C  69  66  20  6C  6C  75  46  00408
  6725.                          ;                          66  69  63  65  70  73  20  65  00410
  6726.                          ;                          00  00  6E  6F  69  74  61  63  00418
  6727. P.ACS:    .LONG   17694742             ;                                              010E0016  00420
  6728.     .ADDRESS P.ACT                 ;                                              00000000' 00424
  6729. P.ACV:    .ASCII  \Normal form\<0>         ;                                66  20  6C  61  6D  72  6F  4E  00428
  6730.                          ;                                      00  6D  72  6F  00430
  6731. P.ACU:    .LONG   17694731             ;                                              010E000B  00434
  6732.     .ADDRESS P.ACV                 ;                                              00000000' 00438
  6733. P.ACX:    .ASCII  \Untranslated\             ;                                6C  73  6E  61  72  74  6E  55  0043C
  6734.                          ;                                      64  65  74  61  00444
  6735. P.ACW:    .LONG   17694732             ;                                              010E000C  00448
  6736.     .ADDRESS P.ACX                 ;                                              00000000' 0044C
  6737. P.ACZ:    .ASCII  \ Handshaking character\<9><9>\!3OL (octal)\
  6738.                          ;                                61  68  73  64  6E  61  48  20  00450
  6739.                          ;                          61  68  63  20  67  6E  69  6B  00458
  6740.                          ;                          09  09  72  65  74  63  61  72  00460
  6741.                          ;                          63  6F  28  20  4C  4F  33  21  00468
  6742.                          ;                                      29  6C  61  74  00470
  6743. P.ACY:    .LONG   17694756             ;                                              010E0024  00474
  6744.     .ADDRESS P.ACZ                 ;                                              00000000' 00478
  6745. P.ADB:    .ASCII  \ Handshaking character\<9><9>\None\
  6746.                          ;                                61  68  73  64  6E  61  48  20  0047C
  6747.                          ;                          61  68  63  20  67  6E  69  6B  00484
  6748.                          ;                          09  09  72  65  74  63  61  72  0048C
  6749.                          ;                                      65  6E  6F  4E  00494
  6750. P.ADA:    .LONG   17694748             ;                                              010E001C  00498
  6751.     .ADDRESS P.ADB                 ;                                              00000000' 0049C
  6752. P.ADD:    .ASCII  \ Line used\<9><9><9>\!AS\     ;                                73  75  20  65  6E  69  4C  20  004A0
  6753.                          ;                          53  41  21  09  09  09  64  65  004A8
  6754. P.ADC:    .LONG   17694736             ;                                              010E0010  004B0
  6755.     .ADDRESS P.ADD                 ;                                              00000000' 004B4
  6756. P.ADF:    .ASCII  \ Local echo\<9><9><9>\!AS\<0><0><0>
  6757.                          ;                                65  20  6C  61  63  6F  4C  20  004B8
  6758.                          ;                          41  21  09  09  09  6F  68  63  004C0
  6759.                          ;                                      00  00  00  53  004C8
  6760. P.ADE:    .LONG   17694737             ;                                              010E0011  004CC
  6761.     .ADDRESS P.ADF                 ;                                              00000000' 004D0
  6762. P.ADH:    .ASCII  \ Parity type\<9><9><9>\!AS\<0><0>
  6763.                          ;                                20  79  74  69  72  61  50  20  004D4
  6764.                          ;                          21  09  09  09  65  70  79  74  004DC
  6765.                          ;                                      00  00  53  41  004E4
  6766. P.ADG:    .LONG   17694738             ;                                              010E0012  004E8
  6767.     .ADDRESS P.ADH                 ;                                              00000000' 004EC
  6768. P.ADJ:    .ASCII  \Even\                 ;                                            6E  65  76  45  004F0
  6769. P.ADI:    .LONG   17694724             ;                                              010E0004  004F4
  6770.     .ADDRESS P.ADJ                 ;                                              00000000' 004F8
  6771. P.ADL:    .ASCII  \Odd\<0>             ;                                            00  64  64  4F  004FC
  6772. P.ADK:    .LONG   17694723             ;                                              010E0003  00500
  6773.     .ADDRESS P.ADL                 ;                                              00000000' 00504
  6774. P.ADN:    .ASCII  \Mark\                 ;                                            6B  72  61  4D  00508
  6775. P.ADM:    .LONG   17694724             ;                                              010E0004  0050C
  6776.     .ADDRESS P.ADN                 ;                                              00000000' 00510
  6777. P.ADP:    .ASCII  \Space\<0><0><0>         ;                                00  00  00  65  63  61  70  53  00514
  6778. P.ADO:    .LONG   17694725             ;                                              010E0005  0051C
  6779.     .ADDRESS P.ADP                 ;                                              00000000' 00520
  6780. P.ADR:    .ASCII  \None\                 ;                                            65  6E  6F  4E  00524
  6781. P.ADQ:    .LONG   17694724             ;                                              010E0004  00528
  6782.     .ADDRESS P.ADR                 ;                                              00000000' 0052C
  6783. P.ADT:    .ASCII  \ Retry maximums\<0>         ;                                6D  20  79  72  74  65  52  20  00530
  6784.                          ;                          00  73  6D  75  6D  69  78  61  00538
  6785. P.ADS:    .LONG   17694735             ;                                              010E000F  00540
  6786.     .ADDRESS P.ADT                 ;                                              00000000' 00544
  6787. P.ADV:    .ASCII  \  Initial connection\<9><9>\!ZL (dec)\<0>
  6788.                          ;                                61  69  74  69  6E  49  20  20  00548
  6789.                          ;                          63  65  6E  6E  6F  63  20  6C  00550
  6790.                          ;                          5A  21  09  09  6E  6F  69  74  00558
  6791.                          ;                          00  29  63  65  64  28  20  4C  00560
  6792. P.ADU:    .LONG   17694751             ;                                              010E001F  00568
  6793.     .ADDRESS P.ADV                 ;                                              00000000' 0056C
  6794. P.ADX:    .ASCII  \  Sending a packet\<9><9>\!ZL (dec)\<0><0><0>
  6795.                          ;                                6E  69  64  6E  65  53  20  20  00570
  6796.                          ;                          6B  63  61  70  20  61  20  67  00578
  6797.                          ;                          20  4C  5A  21  09  09  74  65  00580
  6798.                          ;                          00  00  00  29  63  65  64  28  00588
  6799. P.ADW:    .LONG   17694749             ;                                              010E001D  00590
  6800.     .ADDRESS P.ADX                 ;                                              00000000' 00594
  6801. P.ADZ:    .ASCII  \ Receive parameters\<0>     ;                                65  76  69  65  63  65  52  20  00598
  6802.                          ;                          74  65  6D  61  72  61  70  20  005A0
  6803.                          ;                                      00  73  72  65  005A8
  6804. P.ADY:    .LONG   17694739             ;                                              010E0013  005AC
  6805.     .ADDRESS P.ADZ                 ;                                              00000000' 005B0
  6806. P.AEB:    .ASCII  \ Send parameters\         ;                                61  70  20  64  6E  65  53  20  005B4
  6807.                          ;                          73  72  65  74  65  6D  61  72  005BC
  6808. P.AEA:    .LONG   17694736             ;                                              010E0010  005C4
  6809.     .ADDRESS P.AEB                 ;                                              00000000' 005C8
  6810. P.AED:    .ASCII  \  Packet length\<9><9><9>\!ZL (dec)\<0>
  6811.                          ;                                74  65  6B  63  61  50  20  20  005CC
  6812.                          ;                          09  68  74  67  6E  65  6C  20  005D4
  6813.                          ;                          64  28  20  4C  5A  21  09  09  005DC
  6814.                          ;                                      00  29  63  65  005E4
  6815. P.AEC:    .LONG   17694747             ;                                              010E001B  005E8
  6816.     .ADDRESS P.AED                 ;                                              00000000' 005EC
  6817. P.AEF:    .ASCII  \  Padding length\<9><9>\!ZL (dec)\<0>
  6818.                          ;                                6E  69  64  64  61  50  20  20  005F0
  6819.                          ;                          68  74  67  6E  65  6C  20  67  005F8
  6820.                          ;                          64  28  20  4C  5A  21  09  09  00600
  6821.                          ;                                      00  29  63  65  00608
  6822. P.AEE:    .LONG   17694747             ;                                              010E001B  0060C
  6823.     .ADDRESS P.AEF                 ;                                              00000000' 00610
  6824. P.AEH:    .ASCII  \  Padding character\<9><9>\!3OL (octal)\<0><0><0>
  6825.                          ;                                6E  69  64  64  61  50  20  20  00614
  6826.                          ;                          63  61  72  61  68  63  20  67  0061C
  6827.                          ;                          4F  33  21  09  09  72  65  74  00624
  6828.                          ;                          6C  61  74  63  6F  28  20  4C  0062C
  6829.                          ;                                      00  00  00  29  00634
  6830. P.AEG:    .LONG   17694753             ;                                              010E0021  00638
  6831.     .ADDRESS P.AEH                 ;                                              00000000' 0063C
  6832. P.AEJ:    .ASCII  \  Time out\<9><9><9>\!ZL (sec)\<0><0>
  6833.                          ;                                6F  20  65  6D  69  54  20  20  00640
  6834.                          ;                          4C  5A  21  09  09  09  74  75  00648
  6835.                          ;                          00  00  29  63  65  73  28  20  00650
  6836. P.AEI:    .LONG   17694742             ;                                              010E0016  00658
  6837.     .ADDRESS P.AEJ                 ;                                              00000000' 0065C
  6838. P.AEL:    .ASCII  \  End of line character\<9><9>\!3OL (octal)\<0><0><0>
  6839.                          ;                                66  6F  20  64  6E  45  20  20  00660
  6840.                          ;                          68  63  20  65  6E  69  6C  20  00668
  6841.                          ;                          09  72  65  74  63  61  72  61  00670
  6842.                          ;                          6F  28  20  4C  4F  33  21  09  00678
  6843.                          ;                          00  00  00  29  6C  61  74  63  00680
  6844. P.AEK:    .LONG   17694757             ;                                              010E0025  00688
  6845.     .ADDRESS P.AEL                 ;                                              00000000' 0068C
  6846. P.AEN:    .ASCII  \  Quoting character\<9><9>\!3OL (octal)\<0><0><0>
  6847.                          ;                                6E  69  74  6F  75  51  20  20  00690
  6848.                          ;                          63  61  72  61  68  63  20  67  00698
  6849.                          ;                          4F  33  21  09  09  72  65  74  006A0
  6850.                          ;                          6C  61  74  63  6F  28  20  4C  006A8
  6851.                          ;                                      00  00  00  29  006B0
  6852. P.AEM:    .LONG   17694753             ;                                              010E0021  006B4
  6853.     .ADDRESS P.AEN                 ;                                              00000000' 006B8
  6854. P.AEP:    .ASCII  \  Start of packet\<9><9>\!3OL (octal)\<0>
  6855.                          ;                                20  74  72  61  74  53  20  20  006BC
  6856.                          ;                          65  6B  63  61  70  20  66  6F  006C4
  6857.                          ;                          20  4C  4F  33  21  09  09  74  006CC
  6858.                          ;                          00  29  6C  61  74  63  6F  28  006D4
  6859. P.AEO:    .LONG   17694751             ;                                              010E001F  006DC
  6860.     .ADDRESS P.AEP                 ;                                              00000000' 006E0
  6861. P.AER:    .ASCII  \  8-bit quoting character\<9>\!3OL (octal)\<0><0>
  6862.                          ;                                20  74  69  62  2D  38  20  20  006E4
  6863.                          ;                          20  67  6E  69  74  6F  75  71  006EC
  6864.                          ;                          65  74  63  61  72  61  68  63  006F4
  6865.                          ;                          28  20  4C  4F  33  21  09  72  006FC
  6866.                          ;                          00  00  29  6C  61  74  63  6F  00704
  6867. P.AEQ:    .LONG   17694758             ;                                              010E0026  0070C
  6868.     .ADDRESS P.AER                 ;                                              00000000' 00710
  6869. P.AET:    .ASCII  \ Transmit parameters\         ;                                69  6D  73  6E  61  72  54  20  00714
  6870.                          ;                          65  6D  61  72  61  70  20  74  0071C
  6871.                          ;                                      73  72  65  74  00724
  6872. P.AES:    .LONG   17694740             ;                                              010E0014  00728
  6873.     .ADDRESS P.AET                 ;                                              00000000' 0072C
  6874. P.AEV:    .ASCII  \  Delay                         0.!AD (sec)\<0>
  6875.                          ;                                20  79  61  6C  65  44  20  20  00730
  6876.                          ;                          20  20  20  20  20  20  20  20  00738
  6877.                          ;                          20  20  20  20  20  20  20  20  00740
  6878.                          ;                          20  20  20  20  20  20  20  20  00748
  6879.                          ;                          73  28  20  44  41  21  2E  30  00750
  6880.                          ;                                      00  29  63  65  00758
  6881. P.AEU:    .LONG   17694763             ;                                              010E002B  0075C
  6882.     .ADDRESS P.AEV                 ;                                              00000000' 00760
  6883. P.AEX:    .ASCII  \  Echo\<9><9><9>\        !AS\     ;                                09  09  6F  68  63  45  20  20  00764
  6884.                          ;                          20  20  20  20  20  20  20  09  0076C
  6885.                          ;                                      53  41  21  20  00774
  6886. P.AEW:    .LONG   17694740             ;                                              010E0014  00778
  6887.     .ADDRESS P.AEX                 ;                                              00000000' 0077C
  6888. P.AEZ:    .ASCII  \ Repeat quoting character\<9>\!3OL (octal)\<0><0>
  6889.                          ;                                20  74  61  65  70  65  52  20  00780
  6890.                          ;                          20  67  6E  69  74  6F  75  71  00788
  6891.                          ;                          65  74  63  61  72  61  68  63  00790
  6892.                          ;                          28  20  4C  4F  33  21  09  72  00798
  6893.                          ;                          00  00  29  6C  61  74  63  6F  007A0
  6894. P.AEY:    .LONG   17694758             ;                                              010E0026  007A8
  6895.     .ADDRESS P.AEZ                 ;                                              00000000' 007AC
  6896.  
  6897. U.1317=            P.ABE
  6898. U.1318=            P.ABG
  6899. U.1319=            P.ABI
  6900. U.1320=            P.ABK
  6901. U.1321=            P.ABM
  6902. U.1322=            P.ABO
  6903. U.1323=            P.ABQ
  6904. U.1324=            P.ABS
  6905. U.1325=            P.ABU
  6906. U.1326=            P.ABW
  6907. U.1327=            P.ABY
  6908. U.1328=            P.ACA
  6909. U.1329=            P.ACC
  6910. U.1330=            P.ACE
  6911. U.1331=            P.ACG
  6912. U.1332=            P.ACI
  6913. U.1333=            P.ACK
  6914. U.1334=            P.ACM
  6915. U.1335=            P.ACO
  6916. U.1336=            P.ACQ
  6917. U.1337=            P.ACS
  6918. U.1338=            P.ACU
  6919. U.1339=            P.ACW
  6920. U.1340=            P.ACY
  6921. U.1341=            P.ADA
  6922. U.1342=            P.ADC
  6923. U.1343=            P.ADE
  6924. U.1344=            P.ADG
  6925. U.1345=            P.ADI
  6926. U.1346=            P.ADK
  6927. U.1347=            P.ADM
  6928. U.1348=            P.ADO
  6929. U.1349=            P.ADQ
  6930. U.1350=            P.ADS
  6931. U.1351=            P.ADU
  6932. U.1352=            P.ADW
  6933. U.1353=            P.ADY
  6934. U.1354=            P.AEA
  6935. U.1355=            P.AEC
  6936. U.1356=            P.AEE
  6937. U.1357=            P.AEG
  6938. U.1358=            P.AEI
  6939. U.1359=            P.AEK
  6940. U.1360=            P.AEM
  6941. U.1361=            P.AEO
  6942. U.1362=            P.AEQ
  6943. U.1363=            P.AES
  6944. U.1364=            P.AEU
  6945. U.1365=            P.AEW
  6946. U.1366=            P.AEY
  6947.  
  6948.  
  6949.     .PSECT  $CODE$,NOWRT,2
  6950.  
  6951. ;OUTPUT_TRUE_FALSE
  6952. U.1367: .WORD   ^M<R2>                 ;Save R2                   3354                    0004   00000
  6953.     MOVAB   G^U.54, R2             ;U.54, R2                                     52 00000000'  00  9E   00002
  6954.     MOVL    #17694800, (R2)             ;#17694800, OUTPUT_DESC           3364            62 010E0050   8F  D0   00009
  6955.     MOVAB   -80(R2), 4(R2)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A2    B0   A2  9E   00010
  6956.     MOVL    @8(AP), R1             ;@FLAG_ADDR, R1               3370            51    08   BC  D0   00015
  6957.     CMPL    R1, #1                 ;R1, #1                                     01         51  D1   00019
  6958.     BNEQ    1$                 ;1$                                               09  12   0001C
  6959.     MOVAB   G^U.1318, R0             ;U.1318, R0                                     50 00000000'  00  9E   0001E
  6960.     BRB     2$                 ;2$                                               0B  11   00025
  6961. 1$:    TSTL    R1                 ;R1                                               51  D5   00027
  6962.     BNEQ    3$                 ;3$                                               0B  12   00029
  6963.     MOVAB   G^U.1317, R0             ;U.1317, R0                                     50 00000000'  00  9E   0002B
  6964. 2$:    PUSHL   R0                 ;R0                                               50  DD   00032
  6965.     BRB     4$                 ;4$                                               03  11   00034
  6966. 3$:    MNEGL   #1, -(SP)             ;#1, -(SP)                                     7E         01  CE   00036
  6967. 4$:    PUSHL   R2                 ;R2                                               52  DD   00039
  6968.     PUSHAB  8(R2)                 ;OUTPUT_SIZE                                      08   A2  9F   0003B
  6969.     PUSHL   4(AP)                 ;MSG_ADDR                                      04   AC  DD   0003E
  6970.     CALLS   #4, G^SYS$FAO             ;#4, SYS$FAO                          00000000G  00         04  FB   00041
  6971.     MOVW    8(R2), (R2)             ;OUTPUT_SIZE, OUTPUT_DESC           3371            62    08   A2  B0   00048
  6972.     PUSHL   R2                 ;R2                       3372                  52  DD   0004C
  6973.     CALLS   #1, G^LIB$PUT_OUTPUT         ;#1, LIB$PUT_OUTPUT                      00000000G  00         01  FB   0004E
  6974.     RET                      ;                       3373                  04   00055
  6975.  
  6976. ; Routine Size:  86 bytes,    Routine Base:  $CODE$ + 084E
  6977.  
  6978.  
  6979. ;   3374  2     
  6980. ;   3375  2        SELECT .SHOW_TYPE OF
  6981. ;   3376  2        SET
  6982. ;   3377  2    !
  6983. ;   3378  2    ! Show version
  6984. ;   3379  2    !
  6985. ;   3380  2     
  6986. ;   3381  2        [SHOW_ALL, SHOW_VER] :
  6987. ;   3382  2            STATUS = LIB$PUT_OUTPUT (IDENT_STRING);    ! Type our name and version
  6988. ;   3383  2     
  6989. ;   3384  2        [SHOW_ALL, SHOW_CHK, SHOW_PAC] :
  6990. ;   3385  3            BEGIN
  6991. ;   3386  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  6992. ; P 3387  3            $FAO (SHOW_CHK_MSG, OUTPUT_SIZE, OUTPUT_DESC,
  6993. ; P 3388  3            (SELECTONE .CHKTYPE OF
  6994. ; P 3389  3                SET
  6995. ; P 3390  3                [CHK_1CHAR] : CHK_1CHAR_MSG;
  6996. ; P 3391  3                [CHK_2CHAR] : CHK_2CHAR_MSG;
  6997. ; P 3392  3                [CHK_CRC] : CHK_CRC_MSG;
  6998. ;   3393  3                TES));
  6999. ;   3394  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7000. ;   3395  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7001. ;   3396  2            END;
  7002. ;   3397  2     
  7003. ;   3398  2        [SHOW_ALL, SHOW_DEB] :
  7004. ;   3399  2            OUTPUT_TRUE_FALSE (SHOW_DEB_MSG, DEBUG_FLAG);
  7005. ;   3400  2     
  7006. ;   3401  2        [SHOW_ALL, SHOW_DEL, SHOW_COM, SHOW_TIM] :
  7007. ;   3402  2            OUTPUT_LONG_WORD (SHOW_DEL_MSG, .DELAY);
  7008. ;   3403  2     
  7009. ;   3404  2        [SHOW_ALL, SHOW_TIM] :
  7010. ;   3405  2            OUTPUT_LONG_WORD (SHOW_SRV_MSG, .SRV_TIMEOUT);
  7011. ;   3406  2     
  7012. ;   3407  2        [SHOW_ALL, SHOW_ESC, SHOW_COM] :
  7013. ;   3408  2            OUTPUT_LONG_WORD (SHOW_ESC_MSG, .ESCAPE_CHR);
  7014. ;   3409  2     
  7015. ;   3410  2        [SHOW_ALL, SHOW_FIL] :             !
  7016. ;   3411  3            BEGIN
  7017. ;   3412  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7018. ; P 3413  3            $FAO (SHOW_FTP_MSG,
  7019. ; P 3414  3                      OUTPUT_SIZE,
  7020. ; P 3415  3                      OUTPUT_DESC,
  7021. ; P 3416  3                     (SELECTONE .FILE_TYPE OF
  7022. ; P 3417  3                        SET
  7023. ; P 3418  3                        [FILE_ASC] : FTP_ASCII;
  7024. ; P 3419  3                        [FILE_BIN] : FTP_BINARY;
  7025. ; P 3420  3                        [FILE_FIX] : FTP_FIXED;
  7026. ; P 3421  3                        [FILE_BLK] : FTP_BLOCK;
  7027. ;   3422  3                        TES));
  7028. ;   3423  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7029. ;   3424  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7030. ;   3425  3    !
  7031. ;   3426  3    ! Display the file name format
  7032. ;   3427  3    !
  7033. ;   3428  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7034. ; P 3429  3            $FAO (SHOW_FNM_MSG, OUTPUT_SIZE, OUTPUT_DESC,
  7035. ; P 3430  3            (SELECTONE .FIL_NORMAL_FORM OF
  7036. ; P 3431  3                SET
  7037. ; P 3432  3                [FNM_FULL] : FNM_MSG_FULL;
  7038. ; P 3433  3                [FNM_NORMAL] : FNM_MSG_NORMAL;
  7039. ; P 3434  3                [FNM_UNTRAN] : FNM_MSG_UNTRAN;
  7040. ;   3435  3                TES));
  7041. ;   3436  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7042. ;   3437  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7043. ;   3438  3    
  7044. ;   3439  3    ! Display file block size
  7045. ;   3440  3                INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7046. ;   3441  3                $FAO(SHOW_BLK_MSG, OUTPUT_SIZE, OUTPUT_DESC, .file_blocksize);
  7047. ;   3442  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7048. ;   3443  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7049. ;   3444  3    
  7050. ;   3445  2            END;
  7051. ;   3446  2     
  7052. ;   3447  2        [SHOW_ALL, SHOW_COM] :
  7053. ;   3448  2            IF .IBM_CHAR GEQ 0
  7054. ;   3449  2            THEN
  7055. ;   3450  2            OUTPUT_LONG_WORD (SHOW_HAN_MSG, .IBM_CHAR)
  7056. ;   3451  2            ELSE
  7057. ;   3452  2            STATUS = LIB$PUT_OUTPUT (SHOW_HAN_MSG_NONE);
  7058. ;   3453  2     
  7059. ;   3454  2        [SHOW_ALL, SHOW_ABT, SHOW_FIL] :
  7060. ;   3455  3            BEGIN
  7061. ;   3456  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7062. ;   3457  3            $FAO (SHOW_ABT_MSG, OUTPUT_SIZE, OUTPUT_DESC, (IF .ABT_FLAG THEN ABT_DISCARD ELSE ABT_KEEP));
  7063. ;   3458  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7064. ;   3459  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7065. ;   3460  2            END;
  7066. ;   3461  2     
  7067. ;   3462  2        [SHOW_ALL, SHOW_LIN, SHOW_COM] :
  7068. ;   3463  3            BEGIN
  7069. ;   3464  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7070. ;   3465  3     
  7071. ;   3466  3            IF .TERM_DESC [DSC$W_LENGTH] GTR 0
  7072. ;   3467  3            THEN
  7073. ;   3468  4            $FAO (SHOW_LIN_MSG, OUTPUT_SIZE, OUTPUT_DESC, TERM_DESC)
  7074. ;   3469  3            ELSE
  7075. ;   3470  3            $FAO (SHOW_LIN_MSG, OUTPUT_SIZE, OUTPUT_DESC, %ASCID'none');
  7076. ;   3471  3     
  7077. ;   3472  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7078. ;   3473  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7079. ;   3474  2            END;
  7080. ;   3475  2     
  7081. ;   3476  2        [SHOW_ALL, SHOW_ECH, SHOW_COM] :
  7082. ;   3477  2            OUTPUT_TRUE_FALSE (SHOW_ECH_MSG, ECHO_FLAG);
  7083. ;   3478  2     
  7084. ;   3479  2        [SHOW_ALL, SHOW_PAR, SHOW_COM] :
  7085. ;   3480  3            BEGIN
  7086. ;   3481  3            INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7087. ; P 3482  3            $FAO (SHOW_PAR_MSG, OUTPUT_SIZE, OUTPUT_DESC,
  7088. ; P 3483  3            (SELECTONE .PARITY_TYPE OF
  7089. ; P 3484  3                SET
  7090. ; P 3485  3                [PR_EVEN] : PAR_EVEN;
  7091. ; P 3486  3                [PR_ODD] : PAR_ODD;
  7092. ; P 3487  3                [PR_NONE] : PAR_NONE;
  7093. ; P 3488  3                [PR_MARK] : PAR_MARK;
  7094. ; P 3489  3                [PR_SPACE] : PAR_SPACE;
  7095. ;   3490  3                TES));
  7096. ;   3491  3            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7097. ;   3492  3            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7098. ;   3493  2            END;
  7099. ;   3494  2     
  7100. ;   3495  2        [SHOW_ALL, SHOW_RTY, SHOW_PAC] :
  7101. ;   3496  3            BEGIN
  7102. ;   3497  3            STATUS = LIB$PUT_OUTPUT (SHOW_RTY_HDR);
  7103. ;   3498  3            OUTPUT_LONG_WORD (SHOW_RTY_INI_MSG, .SI_RETRIES);
  7104. ;   3499  3            OUTPUT_LONG_WORD (SHOW_RTY_PKT_MSG, .PKT_RETRIES);
  7105. ;   3500  2            END;
  7106. ;   3501  2     
  7107. ;   3502  2        [SHOW_ALL, SHOW_SEN, SHOW_PAC] :
  7108. ;   3503  3            BEGIN
  7109. ;   3504  3            STATUS = LIB$PUT_OUTPUT (SHOW_SND_HDR);
  7110. ;   3505  3            OUTPUT_LONG_WORD (SHOW_PKT_MSG, ABS (.SND_PKT_SIZE));
  7111. ;   3506  3            OUTPUT_LONG_WORD (SHOW_PAD_MSG, ABS (.SND_NPAD));
  7112. ;   3507  3            OUTPUT_LONG_WORD (SHOW_PDC_MSG, ABS (.SND_PADCHAR));
  7113. ;   3508  3            OUTPUT_LONG_WORD (SHOW_TIM_MSG, ABS (.SND_TIMEOUT));
  7114. ;   3509  3            OUTPUT_LONG_WORD (SHOW_EOL_MSG, ABS (.SND_EOL));
  7115. ;   3510  3            OUTPUT_LONG_WORD (SHOW_QUO_MSG, ABS (.SND_QUOTE_CHR));
  7116. ;   3511  3            OUTPUT_LONG_WORD (SHOW_SOH_MSG, ABS (.SND_SOH));
  7117. ;   3512  2            END;
  7118. ;   3513  2     
  7119. ;   3514  2        [SHOW_ALL, SHOW_REC, SHOW_PAC] :
  7120. ;   3515  3            BEGIN
  7121. ;   3516  3            STATUS = LIB$PUT_OUTPUT (SHOW_REC_HDR);
  7122. ;   3517  3            OUTPUT_LONG_WORD (SHOW_PKT_MSG, .RCV_PKT_SIZE);
  7123. ;   3518  3            OUTPUT_LONG_WORD (SHOW_PAD_MSG, .RCV_NPAD);
  7124. ;   3519  3            OUTPUT_LONG_WORD (SHOW_PDC_MSG, .RCV_PADCHAR);
  7125. ;   3520  3            OUTPUT_LONG_WORD (SHOW_TIM_MSG, .RCV_TIMEOUT);
  7126. ;   3521  3            OUTPUT_LONG_WORD (SHOW_EOL_MSG, .RCV_EOL);
  7127. ;   3522  3            OUTPUT_LONG_WORD (SHOW_QUO_MSG, .RCV_QUOTE_CHR);
  7128. ;   3523  3            OUTPUT_LONG_WORD (SHOW_8QU_MSG, .RCV_8QUOTE_CHR);
  7129. ;   3524  3            OUTPUT_LONG_WORD (SHOW_SOH_MSG, .RCV_SOH);
  7130. ;   3525  2            END;
  7131. ;   3526  2     
  7132. ;   3527  2        [SHOW_ALL, SHOW_TRN] :                                              !   
  7133. ;   3528  3            BEGIN                                                           !
  7134. ;   3529  3            STATUS = LIB$PUT_OUTPUT (SHOW_TRN_HDR);                         !
  7135. ;   3530  3                INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);       !
  7136. ;   3531  3                $FAO (SHOW_TRD_MSG, OUTPUT_SIZE, OUTPUT_DESC, 1, TRANS_DELAY);  !
  7137. ;   3532  3                OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;                      !
  7138. ;   3533  3                STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);                          !
  7139. ;   3534  3            OUTPUT_TRUE_FALSE (SHOW_TRE_MSG, TRANS_ECHO_FLAG);              !
  7140. ;   3535  2            END;                                                            !
  7141. ;   3536  2     
  7142. ;   3537  2        [SHOW_ALL, SHOW_PAC] :
  7143. ;   3538  3            BEGIN
  7144. ;   3539  3            OUTPUT_LONG_WORD (SHOW_RPT_MSG, .SET_REPT_CHR);
  7145. ;   3540  2            END;
  7146. ;   3541  2     
  7147. ;   3542  2        TES;
  7148. ;   3543  2     
  7149. ;   3544  1        END;                    ! End of COMND_SHOW
  7150.  
  7151.  
  7152.  
  7153.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  7154.  
  7155. P.AFB:    .ASCII  \none\                 ;                                            65  6E  6F  6E  007B0
  7156. P.AFA:    .LONG   17694724             ;                                              010E0004  007B4
  7157.     .ADDRESS P.AFB                 ;                                              00000000' 007B8
  7158.  
  7159.  
  7160.  
  7161.     .PSECT  $CODE$,NOWRT,2
  7162.  
  7163. ;COMND_SHOW
  7164. U.7:    .WORD   ^M<R2,R3,R4,R5,R6,R7,R8,R9>     ;Save R2,R3,R4,R5,R6,R7,R8,R9           3216                    03FC   00000
  7165.     MOVAB   G^TERM_DESC, R9             ;TERM_DESC, R9                                     59 00000000G  00  9E   00002
  7166.     MOVAB   G^SYS$FAO, R8             ;SYS$FAO, R8                                     58 00000000G  00  9E   00009
  7167.     MOVAB   G^LIB$PUT_OUTPUT, R7         ;LIB$PUT_OUTPUT, R7                                 57 00000000G  00  9E   00010
  7168.     MOVAB   W^U.1314, R6             ;U.1314, R6                                     56     FE3A   CF  9E   00017
  7169.     MOVAB   G^U.1355, R5             ;U.1355, R5                                     55 00000000'  00  9E   0001C
  7170.     MOVAB   G^U.54, R4             ;U.54, R4                                     54 00000000'  00  9E   00023
  7171.     MOVL    -92(R4), R2             ;SHOW_TYPE, R2                   3375            52    A4   A4  D0   0002A
  7172.     CMPL    R2, #1                 ;R2, #1                   3381            01         52  D1   0002E
  7173.     BEQL    1$                 ;1$                                               05  13   00031
  7174.     CMPL    R2, #17                 ;R2, #17                                     11         52  D1   00033
  7175.     BNEQ    2$                 ;2$                                               0A  12   00036
  7176. 1$:    PUSHAB  -1480(R5)             ;IDENT_STRING                   3382               FA38   C5  9F   00038
  7177.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   0003C
  7178.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   0003F
  7179. 2$:    CMPL    R2, #1                 ;R2, #1                   3384            01         52  D1   00042
  7180.     BEQL    3$                 ;3$                                               0A  13   00045
  7181.     CMPL    R2, #12                 ;R2, #12                                     0C         52  D1   00047
  7182.     BEQL    3$                 ;3$                                               05  13   0004A
  7183.     CMPL    R2, #15                 ;R2, #15                                     0F         52  D1   0004C
  7184.     BNEQ    9$                 ;9$                                               56  12   0004F
  7185. 3$:    MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3386            64 010E0050   8F  D0   00051
  7186.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   00058
  7187.     MOVL    G^CHKTYPE, R0             ;CHKTYPE, R0                   3393            50 00000000G  00  D0   0005D
  7188.     CMPL    R0, #49                 ;R0, #49                                     31         50  D1   00064
  7189.     BNEQ    4$                 ;4$                                               07  12   00067
  7190.     MOVAB   -888(R5), R1             ;CHK_1CHAR_MSG, R1                                 51     FC88   C5  9E   00069
  7191.     BRB     5$                 ;5$                                               0A  11   0006E
  7192. 4$:    CMPL    R0, #50                 ;R0, #50                                     32         50  D1   00070
  7193.     BNEQ    6$                 ;6$                                               09  12   00073
  7194.     MOVAB   -856(R5), R1             ;CHK_2CHAR_MSG, R1                                 51     FCA8   C5  9E   00075
  7195. 5$:    PUSHL   R1                 ;R1                                               51  DD   0007A
  7196.     BRB     8$                 ;8$                                               11  11   0007C
  7197. 6$:    CMPL    R0, #51                 ;R0, #51                                     33         50  D1   0007E
  7198.     BNEQ    7$                 ;7$                                               09  12   00081
  7199.     MOVAB   -820(R5), R0             ;CHK_CRC_MSG, R0                                 50     FCCC   C5  9E   00083
  7200.     PUSHL   R0                 ;R0                                               50  DD   00088
  7201.     BRB     8$                 ;8$                                               03  11   0008A
  7202. 7$:    MNEGL   #1, -(SP)             ;#1, -(SP)                                     7E         01  CE   0008C
  7203. 8$:    PUSHL   R4                 ;R4                                               54  DD   0008F
  7204.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   00091
  7205.     PUSHAB  -920(R5)             ;SHOW_CHK_MSG                                        FC68   C5  9F   00094
  7206.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   00098
  7207.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3394            64    08   A4  B0   0009B
  7208.     PUSHL   R4                 ;R4                       3395                  54  DD   0009F
  7209.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   000A1
  7210.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   000A4
  7211. 9$:    TSTL    R2                 ;R2                       3398                  52  D5   000A7
  7212.     BLEQ    10$                 ;10$                                               14  15   000A9
  7213.     CMPL    R2, #2                 ;R2, #2                                     02         52  D1   000AB
  7214.     BGTR    10$                 ;10$                                               0F  14   000AE
  7215.     PUSHAB  G^DEBUG_FLAG             ;DEBUG_FLAG                   3399           00000000G  00  9F   000B0
  7216.     PUSHAB  -796(R5)             ;SHOW_DEB_MSG                                        FCE4   C5  9F   000B6
  7217.     CALLS   #2, 341(R6)             ;#2, OUTPUT_TRUE_FALSE                          0155   C6         02  FB   000BA
  7218. 10$:    CMPL    R2, #1                 ;R2, #1                   3401            01         52  D1   000BF
  7219.     BEQL    11$                 ;11$                                               0F  13   000C2
  7220.     CMPL    R2, #3                 ;R2, #3                                     03         52  D1   000C4
  7221.     BEQL    11$                 ;11$                                               0A  13   000C7
  7222.     CMPL    R2, #5                 ;R2, #5                                     05         52  D1   000C9
  7223.     BEQL    11$                 ;11$                                               05  13   000CC
  7224.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   000CE
  7225.     BNEQ    12$                 ;12$                                               0D  12   000D1
  7226. 11$:    PUSHL   G^DELAY                 ;DELAY                       3402           00000000G  00  DD   000D3
  7227.     PUSHAB  -768(R5)             ;SHOW_DEL_MSG                                        FD00   C5  9F   000D9
  7228.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   000DD
  7229. 12$:    CMPL    R2, #1                 ;R2, #1                   3404            01         52  D1   000E0
  7230.     BEQL    13$                 ;13$                                               05  13   000E3
  7231.     CMPL    R2, #5                 ;R2, #5                                     05         52  D1   000E5
  7232.     BNEQ    14$                 ;14$                                               0D  12   000E8
  7233. 13$:    PUSHL   G^SRV_TIMEOUT             ;SRV_TIMEOUT                   3405           00000000G  00  DD   000EA
  7234.     PUSHAB  -696(R5)             ;SHOW_SRV_MSG                                        FD48   C5  9F   000F0
  7235.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   000F4
  7236. 14$:    CMPL    R2, #1                 ;R2, #1                   3407            01         52  D1   000F7
  7237.     BEQL    15$                 ;15$                                               0A  13   000FA
  7238.     CMPL    R2, #4                 ;R2, #4                                     04         52  D1   000FC
  7239.     BEQL    15$                 ;15$                                               05  13   000FF
  7240.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   00101
  7241.     BNEQ    16$                 ;16$                                               0D  12   00104
  7242. 15$:    PUSHL   G^ESCAPE_CHR             ;ESCAPE_CHR                   3408           00000000'  00  DD   00106
  7243.     PUSHAB  -656(R5)             ;SHOW_ESC_MSG                                        FD70   C5  9F   0010C
  7244.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00110
  7245. 16$:    CMPL    R2, #1                 ;R2, #1                   3410            01         52  D1   00113
  7246.     BEQL    17$                 ;17$                                               08  13   00116
  7247.     CMPL    R2, #14                 ;R2, #14                                     0E         52  D1   00118
  7248.     BEQL    17$                 ;17$                                               03  13   0011B
  7249.     BRW     29$                 ;29$                                             00E2  31   0011D
  7250. 17$:    MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3412            64 010E0050   8F  D0   00120
  7251.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   00127
  7252.     MOVL    G^FILE_TYPE, R0             ;FILE_TYPE, R0                   3422            50 00000000G  00  D0   0012C
  7253.     CMPL    R0, #1                 ;R0, #1                                     01         50  D1   00133
  7254.     BNEQ    18$                 ;18$                                               07  12   00136
  7255.     MOVAB   -564(R5), R1             ;FTP_ASCII, R1                                     51     FDCC   C5  9E   00138
  7256.     BRB     20$                 ;20$                                               16  11   0013D
  7257. 18$:    CMPL    R0, #2                 ;R0, #2                                     02         50  D1   0013F
  7258.     BNEQ    19$                 ;19$                                               07  12   00142
  7259.     MOVAB   -548(R5), R1             ;FTP_BINARY, R1                                 51     FDDC   C5  9E   00144
  7260.     BRB     20$                 ;20$                                               0A  11   00149
  7261. 19$:    CMPL    R0, #4                 ;R0, #4                                     04         50  D1   0014B
  7262.     BNEQ    21$                 ;21$                                               09  12   0014E
  7263.     MOVAB   -516(R5), R1             ;FTP_FIXED, R1                                     51     FDFC   C5  9E   00150
  7264. 20$:    PUSHL   R1                 ;R1                                               51  DD   00155
  7265.     BRB     23$                 ;23$                                               11  11   00157
  7266. 21$:    CMPL    R0, #3                 ;R0, #3                                     03         50  D1   00159
  7267.     BNEQ    22$                 ;22$                                               09  12   0015C
  7268.     MOVAB   -532(R5), R0             ;FTP_BLOCK, R0                                     50     FDEC   C5  9E   0015E
  7269.     PUSHL   R0                 ;R0                                               50  DD   00163
  7270.     BRB     23$                 ;23$                                               03  11   00165
  7271. 22$:    MNEGL   #1, -(SP)             ;#1, -(SP)                                     7E         01  CE   00167
  7272. 23$:    PUSHL   R4                 ;R4                                               54  DD   0016A
  7273.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   0016C
  7274.     PUSHAB  -632(R5)             ;SHOW_FTP_MSG                                        FD88   C5  9F   0016F
  7275.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   00173
  7276.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3423            64    08   A4  B0   00176
  7277.     PUSHL   R4                 ;R4                       3424                  54  DD   0017A
  7278.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   0017C
  7279.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   0017F
  7280.     MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3428            64 010E0050   8F  D0   00182
  7281.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   00189
  7282.     MOVL    G^FIL_NORMAL_FORM, R0         ;FIL_NORMAL_FORM, R0               3435            50 00000000G  00  D0   0018E
  7283.     CMPL    R0, #2                 ;R0, #2                                     02         50  D1   00195
  7284.     BNEQ    24$                 ;24$                                               07  12   00198
  7285.     MOVAB   -456(R5), R1             ;FNM_MSG_FULL, R1                                 51     FE38   C5  9E   0019A
  7286.     BRB     25$                 ;25$                                               0A  11   0019F
  7287. 24$:    CMPL    R0, #1                 ;R0, #1                                     01         50  D1   001A1
  7288.     BNEQ    26$                 ;26$                                               09  12   001A4
  7289.     MOVAB   -436(R5), R1             ;FNM_MSG_NORMAL, R1                                 51     FE4C   C5  9E   001A6
  7290. 25$:    PUSHL   R1                 ;R1                                               51  DD   001AB
  7291.     BRB     28$                 ;28$                                               11  11   001AD
  7292. 26$:    CMPL    R0, #4                 ;R0, #4                                     04         50  D1   001AF
  7293.     BNEQ    27$                 ;27$                                               09  12   001B2
  7294.     MOVAB   -416(R5), R0             ;FNM_MSG_UNTRAN, R0                                 50     FE60   C5  9E   001B4
  7295.     PUSHL   R0                 ;R0                                               50  DD   001B9
  7296.     BRB     28$                 ;28$                                               03  11   001BB
  7297. 27$:    MNEGL   #1, -(SP)             ;#1, -(SP)                                     7E         01  CE   001BD
  7298. 28$:    PUSHL   R4                 ;R4                                               54  DD   001C0
  7299.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   001C2
  7300.     PUSHAB  -488(R5)             ;SHOW_FNM_MSG                                        FE18   C5  9F   001C5
  7301.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   001C9
  7302.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3436            64    08   A4  B0   001CC
  7303.     PUSHL   R4                 ;R4                       3437                  54  DD   001D0
  7304.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   001D2
  7305.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   001D5
  7306.     MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3440            64 010E0050   8F  D0   001D8
  7307.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   001DF
  7308.     PUSHL   G^FILE_BLOCKSIZE         ;FILE_BLOCKSIZE               3441           00000000G  00  DD   001E4
  7309.     PUSHL   R4                 ;R4                                               54  DD   001EA
  7310.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   001EC
  7311.     PUSHAB  -580(R5)             ;SHOW_BLK_MSG                                        FDBC   C5  9F   001EF
  7312.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   001F3
  7313.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3442            64    08   A4  B0   001F6
  7314.     PUSHL   R4                 ;R4                       3443                  54  DD   001FA
  7315.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   001FC
  7316.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   001FF
  7317. 29$:    CMPL    R2, #1                 ;R2, #1                   3447            01         52  D1   00202
  7318.     BEQL    30$                 ;30$                                               05  13   00205
  7319.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   00207
  7320.     BNEQ    32$                 ;32$                                               1E  12   0020A
  7321. 30$:    MOVL    G^IBM_CHAR, R0             ;IBM_CHAR, R0                   3448            50 00000000G  00  D0   0020C
  7322.     BLSS    31$                 ;31$                                               0B  19   00213
  7323.     PUSHL   R0                 ;R0                       3450                  50  DD   00215
  7324.     PUSHAB  -372(R5)             ;SHOW_HAN_MSG                                        FE8C   C5  9F   00217
  7325.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0021B
  7326.     BRB     32$                 ;32$                                               0A  11   0021E
  7327. 31$:    PUSHAB  -336(R5)             ;SHOW_HAN_MSG_NONE               3452               FEB0   C5  9F   00220
  7328.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00224
  7329.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   00227
  7330. 32$:    CMPL    R2, #1                 ;R2, #1                   3454            01         52  D1   0022A
  7331.     BEQL    33$                 ;33$                                               0A  13   0022D
  7332.     CMPL    R2, #13                 ;R2, #13                                     0D         52  D1   0022F
  7333.     BLSS    36$                 ;36$                                               3E  19   00232
  7334.     CMPL    R2, #14                 ;R2, #14                                     0E         52  D1   00234
  7335.     BGTR    36$                 ;36$                                               39  14   00237
  7336. 33$:    MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3456            64 010E0050   8F  D0   00239
  7337.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   00240
  7338.     BLBC    G^ABT_FLAG, 34$             ;ABT_FLAG, 34$                   3457            07 00000000G  00  E9   00245
  7339.     MOVAB   -964(R5), R0             ;ABT_DISCARD, R0                                 50     FC3C   C5  9E   0024C
  7340.     BRB     35$                 ;35$                                               05  11   00251
  7341. 34$:    MOVAB   -952(R5), R0             ;ABT_KEEP, R0                                     50     FC48   C5  9E   00253
  7342. 35$:    PUSHL   R0                 ;R0                                               50  DD   00258
  7343.     PUSHL   R4                 ;R4                                               54  DD   0025A
  7344.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   0025C
  7345.     PUSHAB  -980(R5)             ;SHOW_ABT_MSG                                        FC2C   C5  9F   0025F
  7346.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   00263
  7347.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3458            64    08   A4  B0   00266
  7348.     PUSHL   R4                 ;R4                       3459                  54  DD   0026A
  7349.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   0026C
  7350.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   0026F
  7351. 36$:    CMPL    R2, #1                 ;R2, #1                   3462            01         52  D1   00272
  7352.     BEQL    37$                 ;37$                                               0A  13   00275
  7353.     CMPL    R2, #6                 ;R2, #6                                     06         52  D1   00277
  7354.     BEQL    37$                 ;37$                                               05  13   0027A
  7355.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   0027C
  7356.     BNEQ    40$                 ;40$                                               30  12   0027F
  7357. 37$:    MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3464            64 010E0050   8F  D0   00281
  7358.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   00288
  7359.     TSTW    (R9)                 ;TERM_DESC                   3466                  69  B5   0028D
  7360.     BEQL    38$                 ;38$                                               04  13   0028F
  7361.     PUSHL   R9                 ;R9                       3468                  59  DD   00291
  7362.     BRB     39$                 ;39$                                               04  11   00293
  7363. 38$:    PUSHAB  460(R5)                 ;P.AFA                       3470               01CC   C5  9F   00295
  7364. 39$:    PUSHL   R4                 ;R4                                               54  DD   00299
  7365.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   0029B
  7366.     PUSHAB  -312(R5)             ;SHOW_LIN_MSG                                        FEC8   C5  9F   0029E
  7367.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   002A2
  7368.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3472            64    08   A4  B0   002A5
  7369.     PUSHL   R4                 ;R4                       3473                  54  DD   002A9
  7370.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   002AB
  7371.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   002AE
  7372. 40$:    CMPL    R2, #1                 ;R2, #1                   3476            01         52  D1   002B1
  7373.     BEQL    41$                 ;41$                                               0A  13   002B4
  7374.     CMPL    R2, #7                 ;R2, #7                                     07         52  D1   002B6
  7375.     BEQL    41$                 ;41$                                               05  13   002B9
  7376.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   002BB
  7377.     BNEQ    42$                 ;42$                                               0F  12   002BE
  7378. 41$:    PUSHAB  G^ECHO_FLAG             ;ECHO_FLAG                   3477           00000000G  00  9F   002C0
  7379.     PUSHAB  -284(R5)             ;SHOW_ECH_MSG                                        FEE4   C5  9F   002C6
  7380.     CALLS   #2, 341(R6)             ;#2, OUTPUT_TRUE_FALSE                          0155   C6         02  FB   002CA
  7381. 42$:    CMPL    R2, #1                 ;R2, #1                   3479            01         52  D1   002CF
  7382.     BEQL    43$                 ;43$                                               0A  13   002D2
  7383.     CMPL    R2, #10                 ;R2, #10                                     0A         52  D1   002D4
  7384.     BEQL    43$                 ;43$                                               05  13   002D7
  7385.     CMPL    R2, #16                 ;R2, #16                                     10         52  D1   002D9
  7386.     BNEQ    51$                 ;51$                                               6D  12   002DC
  7387. 43$:    MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3481            64 010E0050   8F  D0   002DE
  7388.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   002E5
  7389.     MOVL    G^PARITY_TYPE, R0         ;PARITY_TYPE, R0               3490            50 00000000G  00  D0   002EA
  7390.     CMPL    R0, #2                 ;R0, #2                                     02         50  D1   002F1
  7391.     BNEQ    44$                 ;44$                                               07  12   002F4
  7392.     MOVAB   -244(R5), R1             ;PAR_EVEN, R1                                     51     FF0C   C5  9E   002F6
  7393.     BRB     47$                 ;47$                                               21  11   002FB
  7394. 44$:    CMPL    R0, #3                 ;R0, #3                                     03         50  D1   002FD
  7395.     BNEQ    45$                 ;45$                                               07  12   00300
  7396.     MOVAB   -232(R5), R1             ;PAR_ODD, R1                                     51     FF18   C5  9E   00302
  7397.     BRB     47$                 ;47$                                               15  11   00307
  7398. 45$:    TSTL    R0                 ;R0                                               50  D5   00309
  7399.     BNEQ    46$                 ;46$                                               07  12   0030B
  7400.     MOVAB   -192(R5), R1             ;PAR_NONE, R1                                     51     FF40   C5  9E   0030D
  7401.     BRB     47$                 ;47$                                               0A  11   00312
  7402. 46$:    CMPL    R0, #1                 ;R0, #1                                     01         50  D1   00314
  7403.     BNEQ    48$                 ;48$                                               09  12   00317
  7404.     MOVAB   -220(R5), R1             ;PAR_MARK, R1                                     51     FF24   C5  9E   00319
  7405. 47$:    PUSHL   R1                 ;R1                                               51  DD   0031E
  7406.     BRB     50$                 ;50$                                               11  11   00320
  7407. 48$:    CMPL    R0, #4                 ;R0, #4                                     04         50  D1   00322
  7408.     BNEQ    49$                 ;49$                                               09  12   00325
  7409.     MOVAB   -204(R5), R0             ;PAR_SPACE, R0                                     50     FF34   C5  9E   00327
  7410.     PUSHL   R0                 ;R0                                               50  DD   0032C
  7411.     BRB     50$                 ;50$                                               03  11   0032E
  7412. 49$:    MNEGL   #1, -(SP)             ;#1, -(SP)                                     7E         01  CE   00330
  7413. 50$:    PUSHL   R4                 ;R4                                               54  DD   00333
  7414.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   00335
  7415.     PUSHAB  -256(R5)             ;SHOW_PAR_MSG                                        FF00   C5  9F   00338
  7416.     CALLS   #4, (R8)             ;#4, SYS$FAO                                     68         04  FB   0033C
  7417.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3491            64    08   A4  B0   0033F
  7418.     PUSHL   R4                 ;R4                       3492                  54  DD   00343
  7419.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00345
  7420.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   00348
  7421. 51$:    CMPL    R2, #1                 ;R2, #1                   3495            01         52  D1   0034B
  7422.     BEQL    52$                 ;52$                                               0A  13   0034E
  7423.     CMPL    R2, #11                 ;R2, #11                                     0B         52  D1   00350
  7424.     BEQL    52$                 ;52$                                               05  13   00353
  7425.     CMPL    R2, #15                 ;R2, #15                                     0F         52  D1   00355
  7426.     BNEQ    53$                 ;53$                                               22  12   00358
  7427. 52$:    PUSHAB  -168(R5)             ;SHOW_RTY_HDR                   3497               FF58   C5  9F   0035A
  7428.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   0035E
  7429.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   00361
  7430.     PUSHL   G^SI_RETRIES             ;SI_RETRIES                   3498           00000000G  00  DD   00364
  7431.     PUSHAB  -128(R5)             ;SHOW_RTY_INI_MSG                                  80   A5  9F   0036A
  7432.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0036D
  7433.     PUSHL   G^PKT_RETRIES             ;PKT_RETRIES                   3499           00000000G  00  DD   00370
  7434.     PUSHAB  -88(R5)                 ;SHOW_RTY_PKT_MSG                                  A8   A5  9F   00376
  7435.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00379
  7436. 53$:    CMPL    R2, #1                 ;R2, #1                   3502            01         52  D1   0037C
  7437.     BEQL    54$                 ;54$                                               0D  13   0037F
  7438.     CMPL    R2, #8                 ;R2, #8                                     08         52  D1   00381
  7439.     BEQL    54$                 ;54$                                               08  13   00384
  7440.     CMPL    R2, #15                 ;R2, #15                                     0F         52  D1   00386
  7441.     BEQL    54$                 ;54$                                               03  13   00389
  7442.     BRW     62$                 ;62$                                             0082  31   0038B
  7443. 54$:    PUSHAB  -36(R5)                 ;SHOW_SND_HDR                   3504             DC   A5  9F   0038E
  7444.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00391
  7445.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   00394
  7446.     PUSHL   G^SND_PKT_SIZE             ;SND_PKT_SIZE                   3505           00000000G  00  DD   00397
  7447.     BGEQ    55$                 ;55$                                               03  18   0039D
  7448.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   0039F
  7449. 55$:    PUSHL   R5                 ;R5                                               55  DD   003A2
  7450.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003A4
  7451.     PUSHL   G^SND_NPAD             ;SND_NPAD                   3506           00000000G  00  DD   003A7
  7452.     BGEQ    56$                 ;56$                                               03  18   003AD
  7453.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   003AF
  7454. 56$:    PUSHAB  36(R5)                 ;SHOW_PAD_MSG                                      24   A5  9F   003B2
  7455.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003B5
  7456.     PUSHL   G^SND_PADCHAR             ;SND_PADCHAR                   3507           00000000G  00  DD   003B8
  7457.     BGEQ    57$                 ;57$                                               03  18   003BE
  7458.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   003C0
  7459. 57$:    PUSHAB  80(R5)                 ;SHOW_PDC_MSG                                      50   A5  9F   003C3
  7460.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003C6
  7461.     PUSHL   G^SND_TIMEOUT             ;SND_TIMEOUT                   3508           00000000G  00  DD   003C9
  7462.     BGEQ    58$                 ;58$                                               03  18   003CF
  7463.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   003D1
  7464. 58$:    PUSHAB  112(R5)                 ;SHOW_TIM_MSG                                      70   A5  9F   003D4
  7465.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003D7
  7466.     PUSHL   G^SND_EOL             ;SND_EOL                   3509           00000000G  00  DD   003DA
  7467.     BGEQ    59$                 ;59$                                               03  18   003E0
  7468.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   003E2
  7469. 59$:    PUSHAB  160(R5)                 ;SHOW_EOL_MSG                                        00A0   C5  9F   003E5
  7470.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003E9
  7471.     PUSHL   G^SND_QUOTE_CHR             ;SND_QUOTE_CHR                   3510           00000000G  00  DD   003EC
  7472.     BGEQ    60$                 ;60$                                               03  18   003F2
  7473.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   003F4
  7474. 60$:    PUSHAB  204(R5)                 ;SHOW_QUO_MSG                                        00CC   C5  9F   003F7
  7475.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   003FB
  7476.     PUSHL   G^SND_SOH             ;SND_SOH                   3511           00000000G  00  DD   003FE
  7477.     BGEQ    61$                 ;61$                                               03  18   00404
  7478.     MNEGL   (SP), (SP)             ;(SP), (SP)                                     6E         6E  CE   00406
  7479. 61$:    PUSHAB  244(R5)                 ;SHOW_SOH_MSG                                        00F4   C5  9F   00409
  7480.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0040D
  7481. 62$:    CMPL    R2, #1                 ;R2, #1                   3514            01         52  D1   00410
  7482.     BEQL    63$                 ;63$                                               0A  13   00413
  7483.     CMPL    R2, #9                 ;R2, #9                                     09         52  D1   00415
  7484.     BEQL    63$                 ;63$                                               05  13   00418
  7485.     CMPL    R2, #15                 ;R2, #15                                     0F         52  D1   0041A
  7486.     BNEQ    64$                 ;64$                                               6C  12   0041D
  7487. 63$:    PUSHAB  -60(R5)                 ;SHOW_REC_HDR                   3516             C4   A5  9F   0041F
  7488.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00422
  7489.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   00425
  7490.     PUSHL   G^RCV_PKT_SIZE             ;RCV_PKT_SIZE                   3517           00000000G  00  DD   00428
  7491.     PUSHL   R5                 ;R5                                               55  DD   0042E
  7492.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00430
  7493.     PUSHL   G^RCV_NPAD             ;RCV_NPAD                   3518           00000000G  00  DD   00433
  7494.     PUSHAB  36(R5)                 ;SHOW_PAD_MSG                                      24   A5  9F   00439
  7495.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0043C
  7496.     PUSHL   G^RCV_PADCHAR             ;RCV_PADCHAR                   3519           00000000G  00  DD   0043F
  7497.     PUSHAB  80(R5)                 ;SHOW_PDC_MSG                                      50   A5  9F   00445
  7498.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00448
  7499.     PUSHL   G^RCV_TIMEOUT             ;RCV_TIMEOUT                   3520           00000000G  00  DD   0044B
  7500.     PUSHAB  112(R5)                 ;SHOW_TIM_MSG                                      70   A5  9F   00451
  7501.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00454
  7502.     PUSHL   G^RCV_EOL             ;RCV_EOL                   3521           00000000G  00  DD   00457
  7503.     PUSHAB  160(R5)                 ;SHOW_EOL_MSG                                        00A0   C5  9F   0045D
  7504.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00461
  7505.     PUSHL   G^RCV_QUOTE_CHR             ;RCV_QUOTE_CHR                   3522           00000000G  00  DD   00464
  7506.     PUSHAB  204(R5)                 ;SHOW_QUO_MSG                                        00CC   C5  9F   0046A
  7507.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0046E
  7508.     PUSHL   G^RCV_8QUOTE_CHR         ;RCV_8QUOTE_CHR               3523           00000000G  00  DD   00471
  7509.     PUSHAB  292(R5)                 ;SHOW_8QU_MSG                                        0124   C5  9F   00477
  7510.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   0047B
  7511.     PUSHL   G^RCV_SOH             ;RCV_SOH                   3524           00000000G  00  DD   0047E
  7512.     PUSHAB  244(R5)                 ;SHOW_SOH_MSG                                        00F4   C5  9F   00484
  7513.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   00488
  7514. 64$:    CMPL    R2, #1                 ;R2, #1                   3527            01         52  D1   0048B
  7515.     BEQL    65$                 ;65$                                               05  13   0048E
  7516.     CMPL    R2, #18                 ;R2, #18                                     12         52  D1   00490
  7517.     BNEQ    66$                 ;66$                                               45  12   00493
  7518. 65$:    PUSHAB  320(R5)                 ;SHOW_TRN_HDR                   3529               0140   C5  9F   00495
  7519.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00499
  7520.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   0049C
  7521.     MOVL    #17694800, (R4)             ;#17694800, OUTPUT_DESC           3530            64 010E0050   8F  D0   0049F
  7522.     MOVAB   -80(R4), 4(R4)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A4    B0   A4  9E   004A6
  7523.     PUSHAB  G^TRANS_DELAY             ;TRANS_DELAY                   3531           00000000G  00  9F   004AB
  7524.     PUSHL   #1                 ;#1                                               01  DD   004B1
  7525.     PUSHL   R4                 ;R4                                               54  DD   004B3
  7526.     PUSHAB  8(R4)                 ;OUTPUT_SIZE                                      08   A4  9F   004B5
  7527.     PUSHAB  372(R5)                 ;SHOW_TRD_MSG                                        0174   C5  9F   004B8
  7528.     CALLS   #5, (R8)             ;#5, SYS$FAO                                     68         05  FB   004BC
  7529.     MOVW    8(R4), (R4)             ;OUTPUT_SIZE, OUTPUT_DESC           3532            64    08   A4  B0   004BF
  7530.     PUSHL   R4                 ;R4                       3533                  54  DD   004C3
  7531.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   004C5
  7532.     MOVW    R0, R3                 ;R0, STATUS                                     53         50  B0   004C8
  7533.     PUSHAB  G^TRANS_ECHO_FLAG         ;TRANS_ECHO_FLAG               3534           00000000G  00  9F   004CB
  7534.     PUSHAB  400(R5)                 ;SHOW_TRE_MSG                                        0190   C5  9F   004D1
  7535.     CALLS   #2, 341(R6)             ;#2, OUTPUT_TRUE_FALSE                          0155   C6         02  FB   004D5
  7536. 66$:    CMPL    R2, #1                 ;R2, #1                   3537            01         52  D1   004DA
  7537.     BEQL    67$                 ;67$                                               05  13   004DD
  7538.     CMPL    R2, #15                 ;R2, #15                                     0F         52  D1   004DF
  7539.     BNEQ    68$                 ;68$                                               0D  12   004E2
  7540. 67$:    PUSHL   G^SET_REPT_CHR             ;SET_REPT_CHR                   3539           00000000G  00  DD   004E4
  7541.     PUSHAB  448(R5)                 ;SHOW_RPT_MSG                                        01C0   C5  9F   004EA
  7542.     CALLS   #2, (R6)             ;#2, OUTPUT_LONG_WORD                                 66         02  FB   004EE
  7543. 68$:    RET                      ;                       3544                  04   004F1
  7544.  
  7545. ; Routine Size:  1266 bytes,    Routine Base:  $CODE$ + 08A4
  7546.  
  7547.  
  7548. ;   3545  1     %SBTTL 'Command execution -- COMND_STATUS'
  7549. ;   3546  1    ROUTINE COMND_STATUS : NOVALUE =
  7550. ;   3547  1     
  7551. ;   3548  1    !++
  7552. ;   3549  1    ! FUNCTIONAL DESCRIPTION:
  7553. ;   3550  1    !
  7554. ;   3551  1    !    This routine will display the status of Kermit-32.
  7555. ;   3552  1    !
  7556. ;   3553  1    ! CALLING SEQUENCE:
  7557. ;   3554  1    !
  7558. ;   3555  1    !    COMND_STATUS ();
  7559. ;   3556  1    !
  7560. ;   3557  1    ! INPUT PARAMETERS:
  7561. ;   3558  1    !
  7562. ;   3559  1    !    None.
  7563. ;   3560  1    !
  7564. ;   3561  1    ! IMPLICIT INPUTS:
  7565. ;   3562  1    !
  7566. ;   3563  1    !    None.
  7567. ;   3564  1    !
  7568. ;   3565  1    ! OUTPUT PARAMETERS:
  7569. ;   3566  1    !
  7570. ;   3567  1    !    None.
  7571. ;   3568  1    !
  7572. ;   3569  1    ! IMPLICIT OUTPUTS:
  7573. ;   3570  1    !
  7574. ;   3571  1    !    None.
  7575. ;   3572  1    !
  7576. ;   3573  1    ! COMPLETION CODES:
  7577. ;   3574  1    !
  7578. ;   3575  1    !    None.
  7579. ;   3576  1    !
  7580. ;   3577  1    ! SIDE EFFECTS:
  7581. ;   3578  1    !
  7582. ;   3579  1    !    None.
  7583. ;   3580  1    !
  7584. ;   3581  1    !--
  7585. ;   3582  1     
  7586. ;   3583  2        BEGIN
  7587. ;   3584  2     
  7588. ;   3585  2        LOCAL
  7589. ;   3586  2        STATUS,                    ! Status returned by system call
  7590. ;   3587  2        POINTER,                ! Pointer to the LAST_ERROR text
  7591. ;   3588  2        CHAR_COUNT;                ! Character count
  7592. ;   3589  2     
  7593. ;   3590  2        BIND
  7594. ;   3591  2        TEXT_CR = %ASCID'',
  7595. ;   3592  2        TEXT_BAUD = %ASCID' Effective data rate    !ZL baud',
  7596. ;   3593  2        TEXT_NAKS_SENT = %ASCID' NAKs received        !ZL',
  7597. ;   3594  2        TEXT_NAKS_RCV = %ASCID' NAKs sent        !ZL',
  7598. ;   3595  2        TEXT_PKTS_SENT = %ASCID' Packets sent        !ZL',
  7599. ;   3596  2        TEXT_PKTS_RCV = %ASCID' Packets received    !ZL',
  7600. ;   3597  2        TEXT_CHR_SENT = %ASCID' Characters sent    !ZL',
  7601. ;   3598  2        TEXT_DATA_CHAR_SENT = %ASCID' Data characters sent    !ZL',
  7602. ;   3599  2        TEXT_DATA_CHAR_RCV = %ASCID' Data characters received !ZL',
  7603. ;   3600  2        TEXT_CHR_RCV = %ASCID' Characters received    !ZL',
  7604. ;   3601  2        TEXT_TOTAL_HDR = %ASCID'Totals since Kermit was started',
  7605. ;   3602  2        TEXT_XFR_HDR = %ASCID'Totals for the last transfer';
  7606. ;   3603  2     
  7607. ;   3604  2        STATUS = LIB$PUT_OUTPUT (TEXT_CR);
  7608. ;   3605  2        STATUS = LIB$PUT_OUTPUT (TEXT_XFR_HDR);
  7609. ;   3606  2        OUTPUT_LONG_WORD (TEXT_CHR_SENT, .SMSG_TOTAL_CHARS);
  7610. ;   3607  2        OUTPUT_LONG_WORD (TEXT_DATA_CHAR_SENT, .SMSG_DATA_CHARS);
  7611. ;   3608  2        OUTPUT_LONG_WORD (TEXT_NAKS_SENT, .SMSG_NAKS);
  7612. ;   3609  2        OUTPUT_LONG_WORD (TEXT_PKTS_SENT, .SMSG_COUNT);
  7613. ;   3610  2        OUTPUT_LONG_WORD (TEXT_CHR_RCV, .RMSG_TOTAL_CHARS);
  7614. ;   3611  2        OUTPUT_LONG_WORD (TEXT_DATA_CHAR_RCV, .RMSG_DATA_CHARS);
  7615. ;   3612  2        OUTPUT_LONG_WORD (TEXT_NAKS_RCV, .RMSG_NAKS);
  7616. ;   3613  2        OUTPUT_LONG_WORD (TEXT_PKTS_RCV, .RMSG_COUNT);
  7617. ;   3614  2     
  7618. ;   3615  2        IF .XFR_TIME NEQ 0
  7619. ;   3616  2        THEN
  7620. ;   3617  3            BEGIN
  7621. ;   3618  3                LOCAL
  7622. ;   3619  3                    Data_Chars,
  7623. ;   3620  3                    Baud_Rate;
  7624. ;   3621  3    
  7625. ;   3622  3            IF .RMSG_DATA_CHARS LEQ .SMSG_DATA_CHARS
  7626. ;   3623  3                THEN Data_Chars = .SMSG_DATA_CHARS
  7627. ;   3624  3                ELSE Data_Chars = .RMSG_DATA_CHARS;
  7628. ;   3625  3    
  7629. ;   3626  3                Baud_Rate = .Data_Chars * 10 / ((.Xfr_Time + 500) / 1000);
  7630. ;   3627  3            OUTPUT_LONG_WORD (TEXT_BAUD, .Baud_Rate);
  7631. ;   3628  2                END;
  7632. ;   3629  2    !    OUTPUT_LONG_WORD (TEXT_BAUD, .Baud_Rate);
  7633. ;   3630  2    !        (((IF .RMSG_DATA_CHARS LEQ .SMSG_DATA_CHARS THEN .SMSG_DATA_CHARS ELSE .RMSG_DATA_CHARS)*10)/((
  7634. ;   3631  2    !        .XFR_TIME + 500)/1000)));
  7635. ;   3632  2     
  7636. ;   3633  2        STATUS = LIB$PUT_OUTPUT (TEXT_CR);
  7637. ;   3634  2        STATUS = LIB$PUT_OUTPUT (TEXT_TOTAL_HDR);
  7638. ;   3635  2        OUTPUT_LONG_WORD (TEXT_CHR_SENT, .SND_TOTAL_CHARS);
  7639. ;   3636  2        OUTPUT_LONG_WORD (TEXT_DATA_CHAR_SENT, .SND_DATA_CHARS);
  7640. ;   3637  2        OUTPUT_LONG_WORD (TEXT_NAKS_SENT, .SND_NAKS);
  7641. ;   3638  2        OUTPUT_LONG_WORD (TEXT_PKTS_SENT, .SND_COUNT);
  7642. ;   3639  2        OUTPUT_LONG_WORD (TEXT_CHR_RCV, .RCV_TOTAL_CHARS);
  7643. ;   3640  2        OUTPUT_LONG_WORD (TEXT_DATA_CHAR_RCV, .RCV_DATA_CHARS);
  7644. ;   3641  2        OUTPUT_LONG_WORD (TEXT_NAKS_RCV, .RCV_NAKS);
  7645. ;   3642  2        OUTPUT_LONG_WORD (TEXT_PKTS_RCV, .RCV_COUNT);
  7646. ;   3643  2     
  7647. ;   3644  2        IF .TOTAL_TIME NEQ 0
  7648. ;   3645  2        THEN
  7649. ;   3646  2        OUTPUT_LONG_WORD (TEXT_BAUD,
  7650. ;   3647  2            (((.RCV_DATA_CHARS + .SND_DATA_CHARS)*10)/((.TOTAL_TIME + 500)/1000)));
  7651. ;   3648  2     
  7652. ;   3649  2    !
  7653. ;   3650  2    ! Output the error text if there is any
  7654. ;   3651  2    !
  7655. ;   3652  2        POINTER = CH$PTR (LAST_ERROR);
  7656. ;   3653  2        CHAR_COUNT = 0;
  7657. ;   3654  2     
  7658. ;   3655  2        WHILE CH$RCHAR_A (POINTER) NEQ CHR_NUL DO
  7659. ;   3656  2        CHAR_COUNT = .CHAR_COUNT + 1;
  7660. ;   3657  2     
  7661. ;   3658  2        IF .CHAR_COUNT NEQ 0
  7662. ;   3659  2        THEN
  7663. ;   3660  3        BEGIN
  7664. ;   3661  3        INIT_STR_DESC (OUTPUT_DESC, OUTPUT_LINE, OUT_BFR_LENGTH);
  7665. ;   3662  3        STATUS = $FAO (%ASCID'Last error: !AD', OUTPUT_SIZE, OUTPUT_DESC, .CHAR_COUNT, LAST_ERROR);
  7666. ;   3663  3     
  7667. ;   3664  3        IF NOT .STATUS
  7668. ;   3665  3        THEN
  7669. ;   3666  3            LIB$SIGNAL (.STATUS)
  7670. ;   3667  3        ELSE
  7671. ;   3668  4            BEGIN
  7672. ;   3669  4            OUTPUT_DESC [DSC$W_LENGTH] = .OUTPUT_SIZE;
  7673. ;   3670  4            STATUS = LIB$PUT_OUTPUT (OUTPUT_DESC);
  7674. ;   3671  4     
  7675. ;   3672  4            IF NOT .STATUS THEN LIB$SIGNAL (.STATUS);
  7676. ;   3673  4     
  7677. ;   3674  3            END;
  7678. ;   3675  3     
  7679. ;   3676  2        END;
  7680. ;   3677  2     
  7681. ;   3678  1        END;                    ! End of SHOW_STATUS
  7682.  
  7683.  
  7684.  
  7685.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  7686.  
  7687. P.AFD:    .BLKB   0                 ;                                                    007BC
  7688. P.AFC:    .LONG   17694720             ;                                              010E0000  007BC
  7689.     .ADDRESS P.AFD                 ;                                              00000000' 007C0
  7690. P.AFF:    .ASCII  \ Effective data rate\<9>\!ZL baud\<0><0><0>
  7691.                          ;                                69  74  63  65  66  66  45  20  007C4
  7692.                          ;                          20  61  74  61  64  20  65  76  007CC
  7693.                          ;                          4C  5A  21  09  65  74  61  72  007D4
  7694.                          ;                          00  00  00  64  75  61  62  20  007DC
  7695. P.AFE:    .LONG   17694749             ;                                              010E001D  007E4
  7696.     .ADDRESS P.AFF                 ;                                              00000000' 007E8
  7697. P.AFH:    .ASCII  \ NAKs received\<9><9>\!ZL\<0>     ;                                65  72  20  73  4B  41  4E  20  007EC
  7698.                          ;                          09  09  64  65  76  69  65  63  007F4
  7699.                          ;                                      00  4C  5A  21  007FC
  7700. P.AFG:    .LONG   17694739             ;                                              010E0013  00800
  7701.     .ADDRESS P.AFH                 ;                                              00000000' 00804
  7702. P.AFJ:    .ASCII  \ NAKs sent\<9><9>\!ZL\<0>     ;                                65  73  20  73  4B  41  4E  20  00808
  7703.                          ;                          00  4C  5A  21  09  09  74  6E  00810
  7704. P.AFI:    .LONG   17694735             ;                                              010E000F  00818
  7705.     .ADDRESS P.AFJ                 ;                                              00000000' 0081C
  7706. P.AFL:    .ASCII  \ Packets sent\<9><9>\!ZL\<0><0> ;                                73  74  65  6B  63  61  50  20  00820
  7707.                          ;                          21  09  09  74  6E  65  73  20  00828
  7708.                          ;                                      00  00  4C  5A  00830
  7709. P.AFK:    .LONG   17694738             ;                                              010E0012  00834
  7710.     .ADDRESS P.AFL                 ;                                              00000000' 00838
  7711. P.AFN:    .ASCII  \ Packets received\<9>\!ZL\<0><0><0>
  7712.                          ;                                73  74  65  6B  63  61  50  20  0083C
  7713.                          ;                          65  76  69  65  63  65  72  20  00844
  7714.                          ;                          00  00  00  4C  5A  21  09  64  0084C
  7715. P.AFM:    .LONG   17694741             ;                                              010E0015  00854
  7716.     .ADDRESS P.AFN                 ;                                              00000000' 00858
  7717. P.AFP:    .ASCII  \ Characters sent\<9>\!ZL\     ;                                74  63  61  72  61  68  43  20  0085C
  7718.                          ;                          74  6E  65  73  20  73  72  65  00864
  7719.                          ;                                      4C  5A  21  09  0086C
  7720. P.AFO:    .LONG   17694740             ;                                              010E0014  00870
  7721.     .ADDRESS P.AFP                 ;                                              00000000' 00874
  7722. P.AFR:    .ASCII  \ Data characters sent\<9>\!ZL\<0><0><0>
  7723.                          ;                                68  63  20  61  74  61  44  20  00878
  7724.                          ;                          73  72  65  74  63  61  72  61  00880
  7725.                          ;                          5A  21  09  74  6E  65  73  20  00888
  7726.                          ;                                      00  00  00  4C  00890
  7727. P.AFQ:    .LONG   17694745             ;                                              010E0019  00894
  7728.     .ADDRESS P.AFR                 ;                                              00000000' 00898
  7729. P.AFT:    .ASCII  \ Data characters received !ZL\<0><0><0>
  7730.                          ;                                68  63  20  61  74  61  44  20  0089C
  7731.                          ;                          73  72  65  74  63  61  72  61  008A4
  7732.                          ;                          65  76  69  65  63  65  72  20  008AC
  7733.                          ;                          00  00  00  4C  5A  21  20  64  008B4
  7734. P.AFS:    .LONG   17694749             ;                                              010E001D  008BC
  7735.     .ADDRESS P.AFT                 ;                                              00000000' 008C0
  7736. P.AFV:    .ASCII  \ Characters received\<9>\!ZL\     ;                                74  63  61  72  61  68  43  20  008C4
  7737.                          ;                          65  63  65  72  20  73  72  65  008CC
  7738.                          ;                          4C  5A  21  09  64  65  76  69  008D4
  7739. P.AFU:    .LONG   17694744             ;                                              010E0018  008DC
  7740.     .ADDRESS P.AFV                 ;                                              00000000' 008E0
  7741. P.AFX:    .ASCII  \Totals since Kermit was started\<0>
  7742.                          ;                                73  20  73  6C  61  74  6F  54  008E4
  7743.                          ;                          72  65  4B  20  65  63  6E  69  008EC
  7744.                          ;                          20  73  61  77  20  74  69  6D  008F4
  7745.                          ;                          00  64  65  74  72  61  74  73  008FC
  7746. P.AFW:    .LONG   17694751             ;                                              010E001F  00904
  7747.     .ADDRESS P.AFX                 ;                                              00000000' 00908
  7748. P.AFZ:    .ASCII  \Totals for the last transfer\     ;                                66  20  73  6C  61  74  6F  54  0090C
  7749.                          ;                          6C  20  65  68  74  20  72  6F  00914
  7750.                          ;                          6E  61  72  74  20  74  73  61  0091C
  7751.                          ;                                      72  65  66  73  00924
  7752. P.AFY:    .LONG   17694748             ;                                              010E001C  00928
  7753.     .ADDRESS P.AFZ                 ;                                              00000000' 0092C
  7754. P.AGB:    .ASCII  \Last error: !AD\<0>         ;                                72  72  65  20  74  73  61  4C  00930
  7755.                          ;                          00  44  41  21  20  3A  72  6F  00938
  7756. P.AGA:    .LONG   17694735             ;                                              010E000F  00940
  7757.     .ADDRESS P.AGB                 ;                                              00000000' 00944
  7758.  
  7759. U.1370=            P.AFC
  7760. U.1371=            P.AFE
  7761. U.1372=            P.AFG
  7762. U.1373=            P.AFI
  7763. U.1374=            P.AFK
  7764. U.1375=            P.AFM
  7765. U.1376=            P.AFO
  7766. U.1377=            P.AFQ
  7767. U.1378=            P.AFS
  7768. U.1379=            P.AFU
  7769. U.1380=            P.AFW
  7770. U.1381=            P.AFY
  7771.  
  7772.  
  7773.     .PSECT  $CODE$,NOWRT,2
  7774.  
  7775. ;COMND_STATUS
  7776. 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
  7777.         R11>                 ;R11
  7778.     MOVAB   G^RCV_DATA_CHARS, R11         ;RCV_DATA_CHARS, R11                                 5B 00000000G  00  9E   00002
  7779.     MOVAB   G^SND_DATA_CHARS, R10         ;SND_DATA_CHARS, R10                                 5A 00000000G  00  9E   00009
  7780.     MOVAB   G^RMSG_DATA_CHARS, R9         ;RMSG_DATA_CHARS, R9                                 59 00000000G  00  9E   00010
  7781.     MOVAB   G^SMSG_DATA_CHARS, R8         ;SMSG_DATA_CHARS, R8                                 58 00000000G  00  9E   00017
  7782.     MOVAB   G^LIB$PUT_OUTPUT, R7         ;LIB$PUT_OUTPUT, R7                                 57 00000000G  00  9E   0001E
  7783.     MOVAB   G^U.54, R6             ;U.54, R6                                     56 00000000'  00  9E   00025
  7784.     MOVAB   W^U.1314, R5             ;U.1314, R5                                     55     F933   CF  9E   0002C
  7785.     MOVAB   G^U.1370, R4             ;U.1370, R4                                     54 00000000'  00  9E   00031
  7786.     PUSHL   R4                 ;R4                       3604                  54  DD   00038
  7787.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   0003A
  7788.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   0003D
  7789.     PUSHAB  364(R4)                 ;TEXT_XFR_HDR                   3605               016C   C4  9F   00040
  7790.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   00044
  7791.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   00047
  7792.     PUSHL   G^SMSG_TOTAL_CHARS         ;SMSG_TOTAL_CHARS               3606           00000000G  00  DD   0004A
  7793.     PUSHAB  180(R4)                 ;TEXT_CHR_SENT                                        00B4   C4  9F   00050
  7794.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00054
  7795.     PUSHL   (R8)                 ;SMSG_DATA_CHARS               3607                  68  DD   00057
  7796.     PUSHAB  216(R4)                 ;TEXT_DATA_CHAR_SENT                                    00D8   C4  9F   00059
  7797.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   0005D
  7798.     PUSHL   G^SMSG_NAKS             ;SMSG_NAKS                   3608           00000000G  00  DD   00060
  7799.     PUSHAB  68(R4)                 ;TEXT_NAKS_SENT                                  44   A4  9F   00066
  7800.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00069
  7801.     PUSHL   G^SMSG_COUNT             ;SMSG_COUNT                   3609           00000000G  00  DD   0006C
  7802.     PUSHAB  120(R4)                 ;TEXT_PKTS_SENT                                  78   A4  9F   00072
  7803.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00075
  7804.     PUSHL   G^RMSG_TOTAL_CHARS         ;RMSG_TOTAL_CHARS               3610           00000000G  00  DD   00078
  7805.     PUSHAB  288(R4)                 ;TEXT_CHR_RCV                                        0120   C4  9F   0007E
  7806.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00082
  7807.     PUSHL   (R9)                 ;RMSG_DATA_CHARS               3611                  69  DD   00085
  7808.     PUSHAB  256(R4)                 ;TEXT_DATA_CHAR_RCV                                    0100   C4  9F   00087
  7809.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   0008B
  7810.     PUSHL   G^RMSG_NAKS             ;RMSG_NAKS                   3612           00000000G  00  DD   0008E
  7811.     PUSHAB  92(R4)                 ;TEXT_NAKS_RCV                                      5C   A4  9F   00094
  7812.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00097
  7813.     PUSHL   G^RMSG_COUNT             ;RMSG_COUNT                   3613           00000000G  00  DD   0009A
  7814.     PUSHAB  152(R4)                 ;TEXT_PKTS_RCV                                        0098   C4  9F   000A0
  7815.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   000A4
  7816.     MOVL    G^XFR_TIME, R0             ;XFR_TIME, R0                   3615            50 00000000G  00  D0   000A7
  7817.     BEQL    2$                 ;2$                                               29  13   000AE
  7818.     MOVL    (R9), R1             ;RMSG_DATA_CHARS, R1               3622            51         69  D0   000B0
  7819.     MOVL    (R8), R2             ;SMSG_DATA_CHARS, R2                                 52         68  D0   000B3
  7820.     CMPL    R1, R2                 ;R1, R2                                     52         51  D1   000B6
  7821.     BGTR    1$                 ;1$                                               03  14   000B9
  7822.     MOVL    R2, R1                 ;R2, DATA_CHARS               3623            51         52  D0   000BB
  7823. 1$:    MULL2   #10, R1                 ;#10, R1                   3626            51         0A  C4   000BE
  7824.     MOVAB   500(R0), R0             ;500(R0), R0                                     50     01F4   C0  9E   000C1
  7825.     DIVL2   #1000, R0             ;#1000, R0                                     50 000003E8   8F  C6   000C6
  7826.     DIVL3   R0, R1, R0             ;R0, R1, BAUD_RATE                                 51         50  C7   000CD
  7827.                          ;                                         50       000D0
  7828.     PUSHL   R0                 ;BAUD_RATE                   3627                  50  DD   000D1
  7829.     PUSHAB  40(R4)                 ;TEXT_BAUD                                      28   A4  9F   000D3
  7830.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   000D6
  7831. 2$:    PUSHL   R4                 ;R4                       3633                  54  DD   000D9
  7832.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   000DB
  7833.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   000DE
  7834.     PUSHAB  328(R4)                 ;TEXT_TOTAL_HDR               3634               0148   C4  9F   000E1
  7835.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   000E5
  7836.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   000E8
  7837.     PUSHL   G^SND_TOTAL_CHARS         ;SND_TOTAL_CHARS               3635           00000000G  00  DD   000EB
  7838.     PUSHAB  180(R4)                 ;TEXT_CHR_SENT                                        00B4   C4  9F   000F1
  7839.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   000F5
  7840.     PUSHL   (R10)                 ;SND_DATA_CHARS               3636                  6A  DD   000F8
  7841.     PUSHAB  216(R4)                 ;TEXT_DATA_CHAR_SENT                                    00D8   C4  9F   000FA
  7842.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   000FE
  7843.     PUSHL   G^SND_NAKS             ;SND_NAKS                   3637           00000000G  00  DD   00101
  7844.     PUSHAB  68(R4)                 ;TEXT_NAKS_SENT                                  44   A4  9F   00107
  7845.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   0010A
  7846.     PUSHL   G^SND_COUNT             ;SND_COUNT                   3638           00000000G  00  DD   0010D
  7847.     PUSHAB  120(R4)                 ;TEXT_PKTS_SENT                                  78   A4  9F   00113
  7848.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00116
  7849.     PUSHL   G^RCV_TOTAL_CHARS         ;RCV_TOTAL_CHARS               3639           00000000G  00  DD   00119
  7850.     PUSHAB  288(R4)                 ;TEXT_CHR_RCV                                        0120   C4  9F   0011F
  7851.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00123
  7852.     PUSHL   (R11)                 ;RCV_DATA_CHARS               3640                  6B  DD   00126
  7853.     PUSHAB  256(R4)                 ;TEXT_DATA_CHAR_RCV                                    0100   C4  9F   00128
  7854.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   0012C
  7855.     PUSHL   G^RCV_NAKS             ;RCV_NAKS                   3641           00000000G  00  DD   0012F
  7856.     PUSHAB  92(R4)                 ;TEXT_NAKS_RCV                                      5C   A4  9F   00135
  7857.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00138
  7858.     PUSHL   G^RCV_COUNT             ;RCV_COUNT                   3642           00000000G  00  DD   0013B
  7859.     PUSHAB  152(R4)                 ;TEXT_PKTS_RCV                                        0098   C4  9F   00141
  7860.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   00145
  7861.     MOVL    G^TOTAL_TIME, R0         ;TOTAL_TIME, R0               3644            50 00000000G  00  D0   00148
  7862.     BEQL    3$                 ;3$                                               1D  13   0014F
  7863.     ADDL3   (R10), (R11), R1         ;SND_DATA_CHARS, RCV_DATA_CHARS, R1   3647            6B         6A  C1   00151
  7864.                          ;                                         51       00154
  7865.     MULL2   #10, R1                 ;#10, R1                                     51         0A  C4   00155
  7866.     MOVAB   500(R0), R0             ;500(R0), R0                                     50     01F4   C0  9E   00158
  7867.     DIVL2   #1000, R0             ;#1000, R0                                     50 000003E8   8F  C6   0015D
  7868.     DIVL3   R0, R1, -(SP)             ;R0, R1, -(SP)                                     51         50  C7   00164
  7869.                          ;                                         7E       00167
  7870.     PUSHAB  40(R4)                 ;TEXT_BAUD                   3646             28   A4  9F   00168
  7871.     CALLS   #2, (R5)             ;#2, OUTPUT_LONG_WORD                                 65         02  FB   0016B
  7872. 3$:    MOVAB   G^LAST_ERROR, R1         ;LAST_ERROR, POINTER               3652            51 00000000G  00  9E   0016E
  7873.     CLRL    R0                 ;CHAR_COUNT                   3653                  50  D4   00175
  7874. 4$:    MOVZBL  (R1)+, R2             ;(POINTER)+, R2               3655            52         81  9A   00177
  7875.     BEQL    5$                 ;5$                                               04  13   0017A
  7876.     INCL    R0                 ;CHAR_COUNT                   3656                  50  D6   0017C
  7877.     BRB     4$                 ;4$                                               F7  11   0017E
  7878. 5$:    TSTL    R0                 ;CHAR_COUNT                   3658                  50  D5   00180
  7879.     BEQL    7$                 ;7$                                               42  13   00182
  7880.     MOVL    #17694800, (R6)             ;#17694800, OUTPUT_DESC           3661            66 010E0050   8F  D0   00184
  7881.     MOVAB   -80(R6), 4(R6)             ;OUTPUT_LINE, OUTPUT_DESC+4                        04   A6    B0   A6  9E   0018B
  7882.     PUSHAB  G^LAST_ERROR             ;LAST_ERROR                   3662           00000000G  00  9F   00190
  7883.     PUSHL   R0                 ;CHAR_COUNT                                           50  DD   00196
  7884.     PUSHL   R6                 ;R6                                               56  DD   00198
  7885.     PUSHAB  8(R6)                 ;OUTPUT_SIZE                                      08   A6  9F   0019A
  7886.     PUSHAB  388(R4)                 ;P.AGA                                            0184   C4  9F   0019D
  7887.     CALLS   #5, G^SYS$FAO             ;#5, SYS$FAO                          00000000G  00         05  FB   001A1
  7888.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   001A8
  7889.     BLBC    R3, 6$                 ;STATUS, 6$                   3664            0F         53  E9   001AB
  7890.     MOVW    8(R6), (R6)             ;OUTPUT_SIZE, OUTPUT_DESC           3669            66    08   A6  B0   001AE
  7891.     PUSHL   R6                 ;R6                       3670                  56  DD   001B2
  7892.     CALLS   #1, (R7)             ;#1, LIB$PUT_OUTPUT                                 67         01  FB   001B4
  7893.     MOVL    R0, R3                 ;R0, STATUS                                     53         50  D0   001B7
  7894.     BLBS    R3, 7$                 ;STATUS, 7$                   3672            09         53  E8   001BA
  7895. 6$:    PUSHL   R3                 ;STATUS                                           53  DD   001BD
  7896.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   001BF
  7897. 7$:    RET                      ;                       3678                  04   001C6
  7898.  
  7899. ; Routine Size:  455 bytes,    Routine Base:  $CODE$ + 0D96
  7900.  
  7901.  
  7902. ;   3679  1     %SBTTL 'GET_REM_ARGS - Get extra arguments for remote commands'
  7903. ;   3680  1    ROUTINE GET_REM_ARGS (LOCAL_FLAG) =
  7904. ;   3681  1     
  7905. ;   3682  1    !++
  7906. ;   3683  1    ! FUNCTIONAL DESCRIPTION:
  7907. ;   3684  1    !
  7908. ;   3685  1    ! This routine will get any extra arguments required for remote commands.
  7909. ;   3686  1    !It will prompt the user and get the input from SYS$COMMAND:.
  7910. ;   3687  1    !
  7911. ;   3688  1    ! CALLING SEQUENCE:
  7912. ;   3689  1    !
  7913. ;   3690  1    !    STATUS = GET_REM_ARGS (LOCAL_FLAG);
  7914. ;   3691  1    !
  7915. ;   3692  1    ! INPUT PARAMETERS:
  7916. ;   3693  1    !
  7917. ;   3694  1    !    LOCAL_FLAG - If true, this is for a LOCAL xxx command.  Only get the
  7918. ;   3695  1    !            arguments we know we need for local commands. Otherwise
  7919. ;   3696  1    !            get all possible arguments.
  7920. ;   3697  1    !
  7921. ;   3698  1    ! IMPLICIT INPUTS:
  7922. ;   3699  1    !
  7923. ;   3700  1    !    REM_TYPE - Type of remote command to get arguments for.
  7924. ;   3701  1    !
  7925. ;   3702  1    ! OUPTUT PARAMETERS:
  7926. ;   3703  1    !
  7927. ;   3704  1    !    None.
  7928. ;   3705  1    !
  7929. ;   3706  1    ! IMPLICIT OUTPUTS:
  7930. ;   3707  1    !
  7931. ;   3708  1    !    GEN_xDATA, GEN_xSIZE - Text and sizes of arguments
  7932. ;   3709  1    !
  7933. ;   3710  1    ! COMPLETION CODES:
  7934. ;   3711  1    !
  7935. ;   3712  1    !    Status values from subroutines called if in error.
  7936. ;   3713  1    !
  7937. ;   3714  1    ! SIDE EFFECTS:
  7938. ;   3715  1    !
  7939. ;   3716  1    !    None.
  7940. ;   3717  1    !
  7941. ;   3718  1    !--
  7942. ;   3719  1     
  7943. ;   3720  2        BEGIN
  7944. ;   3721  2     
  7945. ;   3722  2        EXTERNAL ROUTINE
  7946. ;   3723  2        GET_COMMAND;                ! Get line from SYS$COMMAND:
  7947. ;   3724  2     
  7948. ;   3725  2        LOCAL
  7949. ;   3726  2        GEN_2DESC : BLOCK [8, BYTE],        ! Descriptor for second argument
  7950. ;   3727  2        GEN_3DESC : BLOCK [8, BYTE],        ! Descriptor for third argument
  7951. ;   3728  2        STATUS;                    ! Random status values
  7952. ;   3729  2     
  7953. ;   3730  2    !
  7954. ;   3731  2    ! Set up descriptors for second and third arguments
  7955. ;   3732  2    !
  7956. ;   3733  2        INIT_STR_DESC (GEN_2DESC, GEN_2DATA, MAX_MSG);
  7957. ;   3734  2        INIT_STR_DESC (GEN_3DESC, GEN_3DATA, MAX_MSG);
  7958. ;   3735  2     
  7959. ;   3736  2        SELECTONE .REM_TYPE OF
  7960. ;   3737  2        SET
  7961. ;   3738  2     
  7962. ;   3739  2        [GC_CONNECT] :
  7963. ;   3740  2     
  7964. ;   3741  2            IF NOT .LOCAL_FLAG AND .GEN_1SIZE GTR 0
  7965. ;   3742  2            THEN
  7966. ;   3743  2            RETURN GET_COMMAND (GEN_2DESC, %ASCID'Password: ',
  7967. ;   3744  2                GEN_2SIZE, FALSE);
  7968. ;   3745  2     
  7969. ;   3746  2        [GC_COPY, GC_RENAME] :
  7970. ;   3747  2     
  7971. ;   3748  2            WHILE TRUE DO
  7972. ;   3749  3            BEGIN
  7973. ;   3750  3            STATUS = GET_COMMAND (GEN_2DESC, %ASCID'New file: ', GEN_2SIZE, TRUE);
  7974. ;   3751  3     
  7975. ;   3752  3            IF NOT .STATUS OR .GEN_2SIZE NEQ 0 THEN RETURN .STATUS;
  7976. ;   3753  3     
  7977. ;   3754  2            END;
  7978. ;   3755  2     
  7979. ;   3756  2        [GC_LGN] :
  7980. ;   3757  3            BEGIN
  7981. ;   3758  3            STATUS = GET_COMMAND (GEN_3DESC, %ASCID'Account: ', GEN_3SIZE, TRUE);
  7982. ;   3759  3     
  7983. ;   3760  3            IF NOT .STATUS THEN RETURN .STATUS;
  7984. ;   3761  3     
  7985. ;   3762  3            RETURN GET_COMMAND (GEN_2DESC, %ASCID'Password: ', GEN_2SIZE, FALSE);
  7986. ;   3763  2            END;
  7987. ;   3764  2     
  7988. ;   3765  2        [GC_SEND_MSG] :
  7989. ;   3766  2            RETURN GET_COMMAND (GEN_2DESC, %ASCID'Message: ', GEN_2SIZE, TRUE);
  7990. ;   3767  2     
  7991. ;   3768  2        [GC_WHO] :
  7992. ;   3769  2     
  7993. ;   3770  2            IF NOT .LOCAL_FLAG THEN RETURN GET_COMMAND (GEN_2DESC, %ASCID'Options: ', GEN_2SIZE, TRUE);
  7994. ;   3771  2     
  7995. ;   3772  2        TES;
  7996. ;   3773  2     
  7997. ;   3774  2    !
  7998. ;   3775  2    ! If we fall out of the SELECT, we don't need any arguments
  7999. ;   3776  2    !
  8000. ;   3777  2        RETURN TRUE;
  8001. ;   3778  1        END;                    ! End of GET_REM_ARGS
  8002.  
  8003.  
  8004.  
  8005.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  8006.  
  8007. P.AGD:    .ASCII  \Password: \<0><0>         ;                                64  72  6F  77  73  73  61  50  00948
  8008.                          ;                                      00  00  20  3A  00950
  8009. P.AGC:    .LONG   17694730             ;                                              010E000A  00954
  8010.     .ADDRESS P.AGD                 ;                                              00000000' 00958
  8011. P.AGF:    .ASCII  \New file: \<0><0>         ;                                65  6C  69  66  20  77  65  4E  0095C
  8012.                          ;                                      00  00  20  3A  00964
  8013. P.AGE:    .LONG   17694730             ;                                              010E000A  00968
  8014.     .ADDRESS P.AGF                 ;                                              00000000' 0096C
  8015. P.AGH:    .ASCII  \Account: \<0><0><0>         ;                                3A  74  6E  75  6F  63  63  41  00970
  8016.                          ;                                      00  00  00  20  00978
  8017. P.AGG:    .LONG   17694729             ;                                              010E0009  0097C
  8018.     .ADDRESS P.AGH                 ;                                              00000000' 00980
  8019. P.AGJ:    .ASCII  \Password: \<0><0>         ;                                64  72  6F  77  73  73  61  50  00984
  8020.                          ;                                      00  00  20  3A  0098C
  8021. P.AGI:    .LONG   17694730             ;                                              010E000A  00990
  8022.     .ADDRESS P.AGJ                 ;                                              00000000' 00994
  8023. P.AGL:    .ASCII  \Message: \<0><0><0>         ;                                3A  65  67  61  73  73  65  4D  00998
  8024.                          ;                                      00  00  00  20  009A0
  8025. P.AGK:    .LONG   17694729             ;                                              010E0009  009A4
  8026.     .ADDRESS P.AGL                 ;                                              00000000' 009A8
  8027. P.AGN:    .ASCII  \Options: \<0><0><0>         ;                                3A  73  6E  6F  69  74  70  4F  009AC
  8028.                          ;                                      00  00  00  20  009B4
  8029. P.AGM:    .LONG   17694729             ;                                              010E0009  009B8
  8030.     .ADDRESS P.AGN                 ;                                              00000000' 009BC
  8031.  
  8032.  
  8033.  
  8034.     .PSECT  $CODE$,NOWRT,2
  8035.  
  8036. ;GET_REM_ARGS
  8037. U.11:    .WORD   ^M<R2,R3,R4>             ;Save R2,R3,R4                   3680                    001C   00000
  8038.     MOVAB   G^GET_COMMAND, R4         ;GET_COMMAND, R4                                 54 00000000G  00  9E   00002
  8039.     MOVAB   G^P.AGC, R3             ;P.AGC, R3                                     53 00000000'  00  9E   00009
  8040.     MOVAB   G^GEN_2SIZE, R2             ;GEN_2SIZE, R2                                     52 00000000G  00  9E   00010
  8041.     SUBL2   #12, SP                 ;#12, SP                                     5E         0C  C2   00017
  8042.     MOVL    #17695722, 4(SP)         ;#17695722, GEN_2DESC               3733       04   AE 010E03EA   8F  D0   0001A
  8043.     MOVAB   G^GEN_2DATA, 8(SP)         ;GEN_2DATA, GEN_2DESC+4                        08   AE 00000000G  00  9E   00022
  8044.     PUSHL   #17695722             ;#17695722                   3734           010E03EA   8F  DD   0002A
  8045.     MOVAB   G^GEN_3DATA, 4(SP)         ;GEN_3DATA, GEN_3DESC+4                        04   AE 00000000G  00  9E   00030
  8046.     MOVL    G^U.51, R1             ;U.51, R1                   3736            51 00000000'  00  D0   00038
  8047.     CMPL    R1, #9                 ;R1, #9                   3739            09         51  D1   0003F
  8048.     BNEQ    1$                 ;1$                                               14  12   00042
  8049.     BLBS    4(AP), 7$             ;LOCAL_FLAG, 7$               3741            76    04   AC  E8   00044
  8050.     TSTL    G^GEN_1SIZE             ;GEN_1SIZE                                    00000000G  00  D5   00048
  8051.     BLEQ    7$                 ;7$                                               6E  15   0004E
  8052.     CLRL    -(SP)                 ;-(SP)                       3744                  7E  D4   00050
  8053.     PUSHL   R2                 ;R2                                               52  DD   00052
  8054.     PUSHL   R3                 ;R3                       3743                  53  DD   00054
  8055.     BRB     6$                 ;6$                                               5F  11   00056
  8056. 1$:    CMPL    R1, #10                 ;R1, #10                   3746            0A         51  D1   00058
  8057.     BLSS    3$                 ;3$                                               1A  19   0005B
  8058.     CMPL    R1, #11                 ;R1, #11                                     0B         51  D1   0005D
  8059.     BGTR    3$                 ;3$                                               15  14   00060
  8060. 2$:    PUSHL   #1                 ;#1                       3750                  01  DD   00062
  8061.     PUSHL   R2                 ;R2                                               52  DD   00064
  8062.     PUSHAB  20(R3)                 ;P.AGE                                          14   A3  9F   00066
  8063.     PUSHAB  20(SP)                 ;GEN_2DESC                                      14   AE  9F   00069
  8064.     CALLS   #4, (R4)             ;#4, GET_COMMAND                                 64         04  FB   0006C
  8065.     BLBC    R0, 8$                 ;STATUS, 8$                   3752            4F         50  E9   0006F
  8066.     TSTL    (R2)                 ;GEN_2SIZE                                           62  D5   00072
  8067.     BEQL    2$                 ;2$                                               EC  13   00074
  8068.     RET                      ;                                               04   00076
  8069. 3$:    CMPL    R1, #8                 ;R1, #8                   3756            08         51  D1   00077
  8070.     BNEQ    4$                 ;4$                                               1D  12   0007A
  8071.     PUSHL   #1                 ;#1                       3758                  01  DD   0007C
  8072.     PUSHAB  G^GEN_3SIZE             ;GEN_3SIZE                                    00000000G  00  9F   0007E
  8073.     PUSHAB  40(R3)                 ;P.AGG                                          28   A3  9F   00084
  8074.     PUSHAB  12(SP)                 ;GEN_3DESC                                      0C   AE  9F   00087
  8075.     CALLS   #4, (R4)             ;#4, GET_COMMAND                                 64         04  FB   0008A
  8076.     BLBC    R0, 8$                 ;STATUS, 8$                   3760            31         50  E9   0008D
  8077.     CLRL    -(SP)                 ;-(SP)                       3762                  7E  D4   00090
  8078.     PUSHL   R2                 ;R2                                               52  DD   00092
  8079.     PUSHAB  60(R3)                 ;P.AGI                                          3C   A3  9F   00094
  8080.     BRB     6$                 ;6$                                               1E  11   00097
  8081. 4$:    CMPL    R1, #13                 ;R1, #13                   3765            0D         51  D1   00099
  8082.     BNEQ    5$                 ;5$                                               09  12   0009C
  8083.     PUSHL   #1                 ;#1                       3766                  01  DD   0009E
  8084.     PUSHL   R2                 ;R2                                               52  DD   000A0
  8085.     PUSHAB  80(R3)                 ;P.AGK                                          50   A3  9F   000A2
  8086.     BRB     6$                 ;6$                                               10  11   000A5
  8087. 5$:    CMPL    R1, #12                 ;R1, #12                   3768            0C         51  D1   000A7
  8088.     BNEQ    7$                 ;7$                                               12  12   000AA
  8089.     BLBS    4(AP), 7$             ;LOCAL_FLAG, 7$               3770            0E    04   AC  E8   000AC
  8090.     PUSHL   #1                 ;#1                                               01  DD   000B0
  8091.     PUSHL   R2                 ;R2                                               52  DD   000B2
  8092.     PUSHAB  100(R3)                 ;P.AGM                                          64   A3  9F   000B4
  8093. 6$:    PUSHAB  20(SP)                 ;GEN_2DESC                                      14   AE  9F   000B7
  8094.     CALLS   #4, (R4)             ;#4, GET_COMMAND                                 64         04  FB   000BA
  8095.     RET                      ;                                               04   000BD
  8096. 7$:    MOVL    #1, R0                 ;#1, R0                   3777            50         01  D0   000BE
  8097. 8$:    RET                      ;                                               04   000C1
  8098.  
  8099. ; Routine Size:  194 bytes,    Routine Base:  $CODE$ + 0F5D
  8100.  
  8101.  
  8102. ;   3779  1     %SBTTL 'TPARSE support -- STORE_BLOCKSIZE'
  8103. ;   3780  1    ROUTINE STORE_BLOCKSIZE =
  8104. ;   3781  1     
  8105. ;   3782  1    !++
  8106. ;   3783  1    ! FUNCTIONAL DESCRIPTION:
  8107. ;   3784  1    !
  8108. ;   3785  1    !    This routine will store the blocksize to be used when creating
  8109. ;   3786  1    !    BINARY and FIXED files.
  8110. ;   3787  1    !
  8111. ;   3788  1    ! CALLING SEQUENCE:
  8112. ;   3789  1    !
  8113. ;   3790  1    !    Standard LIB$TPARSE routine call.
  8114. ;   3791  1    !
  8115. ;   3792  1    ! INPUT PARAMETERS:
  8116. ;   3793  1    !
  8117. ;   3794  1    !    None.
  8118. ;   3795  1    !
  8119. ;   3796  1    ! IMPLICIT INPUTS:
  8120. ;   3797  1    !
  8121. ;   3798  1    !    None.
  8122. ;   3799  1    !
  8123. ;   3800  1    ! OUTPUT PARAMETERS:
  8124. ;   3801  1    !
  8125. ;   3802  1    !    None.
  8126. ;   3803  1    !
  8127. ;   3804  1    ! IMPLICIT OUTPUTS:
  8128. ;   3805  1    !
  8129. ;   3806  1    !    None.
  8130. ;   3807  1    !
  8131. ;   3808  1    ! COMPLETION CODES:
  8132. ;   3809  1    !
  8133. ;   3810  1    !    None.
  8134. ;   3811  1    !
  8135. ;   3812  1    ! SIDE EFFECTS:
  8136. ;   3813  1    !
  8137. ;   3814  1    !    None.
  8138. ;   3815  1    !
  8139. ;   3816  1    !--
  8140. ;   3817  1     
  8141. ;   3818  2        BEGIN
  8142. ;   3819  2        TPARSE_ARGS;
  8143. ;   3820  2    !    file_blocksize = .AP [TPA$L_PARAM];
  8144. ;   3821  2        file_blocksize_set = 1;
  8145. ;   3822  2        RETURN SS$_NORMAL;
  8146. ;   3823  1        END;                    ! End of STORE_BLOCKSIZE
  8147.  
  8148.  
  8149.  
  8150.  
  8151.  
  8152. ;STORE_BLOCKSIZE
  8153. U.17:    .WORD   ^M<>                 ;Save nothing                   3780                    0000   00000
  8154.     MOVL    #1, G^FILE_BLOCKSIZE_SET     ;#1, FILE_BLOCKSIZE_SET           3821 00000000G  00         01  D0   00002
  8155.     MOVL    #1, R0                 ;#1, R0                   3822            50         01  D0   00009
  8156.     RET                      ;                                               04   0000C
  8157.  
  8158. ; Routine Size:  13 bytes,    Routine Base:  $CODE$ + 101F
  8159.  
  8160.  
  8161. ;   3824  1     %SBTTL 'TPARSE support -- STORE_DEBUG'
  8162. ;   3825  1    ROUTINE STORE_DEBUG =
  8163. ;   3826  1     
  8164. ;   3827  1    !++
  8165. ;   3828  1    ! FUNCTIONAL DESCRIPTION:
  8166. ;   3829  1    !
  8167. ;   3830  1    !    This routine will store the debug flag into the DEBUG_FLAG
  8168. ;   3831  1    !    location.
  8169. ;   3832  1    !
  8170. ;   3833  1    ! CALLING SEQUENCE:
  8171. ;   3834  1    !
  8172. ;   3835  1    !    Standard LIB$TPARSE routine call.
  8173. ;   3836  1    !
  8174. ;   3837  1    ! INPUT PARAMETERS:
  8175. ;   3838  1    !
  8176. ;   3839  1    !    None.
  8177. ;   3840  1    !
  8178. ;   3841  1    ! IMPLICIT INPUTS:
  8179. ;   3842  1    !
  8180. ;   3843  1    !    None.
  8181. ;   3844  1    !
  8182. ;   3845  1    ! OUTPUT PARAMETERS:
  8183. ;   3846  1    !
  8184. ;   3847  1    !    None.
  8185. ;   3848  1    !
  8186. ;   3849  1    ! IMPLICIT OUTPUTS:
  8187. ;   3850  1    !
  8188. ;   3851  1    !    None.
  8189. ;   3852  1    !
  8190. ;   3853  1    ! COMPLETION CODES:
  8191. ;   3854  1    !
  8192. ;   3855  1    !    None.
  8193. ;   3856  1    !
  8194. ;   3857  1    ! SIDE EFFECTS:
  8195. ;   3858  1    !
  8196. ;   3859  1    !    None.
  8197. ;   3860  1    !
  8198. ;   3861  1    !--
  8199. ;   3862  1     
  8200. ;   3863  2        BEGIN
  8201. ;   3864  2        TPARSE_ARGS;
  8202. ;   3865  2        DEBUG_FLAG = .AP [TPA$L_PARAM];
  8203. ;   3866  2        RETURN SS$_NORMAL;
  8204. ;   3867  1        END;                    ! End of STORE_DEBUG
  8205.  
  8206.  
  8207.  
  8208.  
  8209.  
  8210. ;STORE_DEBUG
  8211. U.18:    .WORD   ^M<>                 ;Save nothing                   3825                    0000   00000
  8212.     MOVL    32(AP), G^DEBUG_FLAG         ;32(AP), DEBUG_FLAG               3865 00000000G  00    20   AC  D0   00002
  8213.     MOVL    #1, R0                 ;#1, R0                   3866            50         01  D0   0000A
  8214.     RET                      ;                                               04   0000D
  8215.  
  8216. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 102C
  8217.  
  8218.  
  8219. ;   3868  1     %SBTTL 'TPARSE support -- STORE_TR_DELAY'
  8220. ;   3869  1    ROUTINE STORE_TR_DELAY =                         !  and below             
  8221. ;   3870  1     
  8222. ;   3871  1    !++
  8223. ;   3872  1    ! FUNCTIONAL DESCRIPTION:
  8224. ;   3873  1    !
  8225. ;   3874  1    !    This routine will store the transmit delay into the
  8226. ;   3875  1    !    TRANS_DELAY location.
  8227. ;   3876  1    !
  8228. ;   3877  1    ! CALLING SEQUENCE:
  8229. ;   3878  1    !
  8230. ;   3879  1    !    Standard LIB$TPARSE routine call.
  8231. ;   3880  1    !
  8232. ;   3881  1    ! INPUT PARAMETERS:
  8233. ;   3882  1    !
  8234. ;   3883  1    !    None.
  8235. ;   3884  1    !
  8236. ;   3885  1    ! IMPLICIT INPUTS:
  8237. ;   3886  1    !
  8238. ;   3887  1    !    None.
  8239. ;   3888  1    !
  8240. ;   3889  1    ! OUTPUT PARAMETERS:
  8241. ;   3890  1    !
  8242. ;   3891  1    !    None.
  8243. ;   3892  1    !
  8244. ;   3893  1    ! IMPLICIT OUTPUTS:
  8245. ;   3894  1    !
  8246. ;   3895  1    !    None.
  8247. ;   3896  1    !
  8248. ;   3897  1    ! COMPLETION CODES:
  8249. ;   3898  1    !
  8250. ;   3899  1    !    None.
  8251. ;   3900  1    !
  8252. ;   3901  1    ! SIDE EFFECTS:
  8253. ;   3902  1    !
  8254. ;   3903  1    !    None.
  8255. ;   3904  1    !
  8256. ;   3905  1    !--
  8257. ;   3906  1     
  8258. ;   3907  2        BEGIN                                       ! 
  8259. ;   3908  2        TPARSE_ARGS;                                ! 
  8260. ;   3909  2        TRANS_DELAY = .AP [TPA$L_PARAM];            ! 
  8261. ;   3910  2        RETURN SS$_NORMAL;                          ! 
  8262. ;   3911  1        END;                    ! End of STORE_TR_DELAY 
  8263.  
  8264.  
  8265.  
  8266.  
  8267.  
  8268. ;STORE_TR_DELAY
  8269. U.20:    .WORD   ^M<>                 ;Save nothing                   3869                    0000   00000
  8270.     MOVL    32(AP), G^TRANS_DELAY         ;32(AP), TRANS_DELAY               3909 00000000G  00    20   AC  D0   00002
  8271.     MOVL    #1, R0                 ;#1, R0                   3910            50         01  D0   0000A
  8272.     RET                      ;                                               04   0000D
  8273.  
  8274. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 103A
  8275.  
  8276.  
  8277. ;   3912  1     %SBTTL 'TPARSE support -- STORE_TR_ECHO'
  8278. ;   3913  1    ROUTINE STORE_TR_ECHO =                         !  and below   
  8279. ;   3914  1     
  8280. ;   3915  1    !++
  8281. ;   3916  1    ! FUNCTIONAL DESCRIPTION:
  8282. ;   3917  1    !
  8283. ;   3918  1    !    This routine will store the transmit echo flag into the
  8284. ;   3919  1    !    TRANS_ECHO_FLAG location.
  8285. ;   3920  1    !
  8286. ;   3921  1    ! CALLING SEQUENCE:
  8287. ;   3922  1    !
  8288. ;   3923  1    !    Standard LIB$TPARSE routine call.
  8289. ;   3924  1    !
  8290. ;   3925  1    ! INPUT PARAMETERS:
  8291. ;   3926  1    !
  8292. ;   3927  1    !    None.
  8293. ;   3928  1    !
  8294. ;   3929  1    ! IMPLICIT INPUTS:
  8295. ;   3930  1    !
  8296. ;   3931  1    !    None.
  8297. ;   3932  1    !
  8298. ;   3933  1    ! OUTPUT PARAMETERS:
  8299. ;   3934  1    !
  8300. ;   3935  1    !    None.
  8301. ;   3936  1    !
  8302. ;   3937  1    ! IMPLICIT OUTPUTS:
  8303. ;   3938  1    !
  8304. ;   3939  1    !    None.
  8305. ;   3940  1    !
  8306. ;   3941  1    ! COMPLETION CODES:
  8307. ;   3942  1    !
  8308. ;   3943  1    !    None.
  8309. ;   3944  1    !
  8310. ;   3945  1    ! SIDE EFFECTS:
  8311. ;   3946  1    !
  8312. ;   3947  1    !    None.
  8313. ;   3948  1    !
  8314. ;   3949  1    !--
  8315. ;   3950  1     
  8316. ;   3951  2        BEGIN                                       ! 
  8317. ;   3952  2        TPARSE_ARGS;                                ! 
  8318. ;   3953  2        TRANS_ECHO_FLAG = .AP [TPA$L_PARAM];        ! 
  8319. ;   3954  2        RETURN SS$_NORMAL;                          ! 
  8320. ;   3955  1        END;                    ! End of STORE_TR_ECHO
  8321.  
  8322.  
  8323.  
  8324.  
  8325.  
  8326. ;STORE_TR_ECHO
  8327. U.19:    .WORD   ^M<>                 ;Save nothing                   3913                    0000   00000
  8328.     MOVL    32(AP), G^TRANS_ECHO_FLAG     ;32(AP), TRANS_ECHO_FLAG           3953 00000000G  00    20   AC  D0   00002
  8329.     MOVL    #1, R0                 ;#1, R0                   3954            50         01  D0   0000A
  8330.     RET                      ;                                               04   0000D
  8331.  
  8332. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 1048
  8333.  
  8334.  
  8335. ;   3956  1     
  8336. ;   3957  1     %SBTTL 'TPARSE support -- STORE_IBM'
  8337. ;   3958  1    ROUTINE STORE_IBM =
  8338. ;   3959  1     
  8339. ;   3960  1    !++
  8340. ;   3961  1    ! FUNCTIONAL DESCRIPTION:
  8341. ;   3962  1    !
  8342. ;   3963  1    !    This routine will store the IBM flag into the IBM_FLAG
  8343. ;   3964  1    !    location.
  8344. ;   3965  1    !
  8345. ;   3966  1    ! CALLING SEQUENCE:
  8346. ;   3967  1    !
  8347. ;   3968  1    !    Standard LIB$TPARSE routine call.
  8348. ;   3969  1    !
  8349. ;   3970  1    ! INPUT PARAMETERS:
  8350. ;   3971  1    !
  8351. ;   3972  1    !    None.
  8352. ;   3973  1    !
  8353. ;   3974  1    ! IMPLICIT INPUTS:
  8354. ;   3975  1    !
  8355. ;   3976  1    !    None.
  8356. ;   3977  1    !
  8357. ;   3978  1    ! OUTPUT PARAMETERS:
  8358. ;   3979  1    !
  8359. ;   3980  1    !    None.
  8360. ;   3981  1    !
  8361. ;   3982  1    ! IMPLICIT OUTPUTS:
  8362. ;   3983  1    !
  8363. ;   3984  1    !    None.
  8364. ;   3985  1    !
  8365. ;   3986  1    ! COMPLETION CODES:
  8366. ;   3987  1    !
  8367. ;   3988  1    !    None.
  8368. ;   3989  1    !
  8369. ;   3990  1    ! SIDE EFFECTS:
  8370. ;   3991  1    !
  8371. ;   3992  1    !    None.
  8372. ;   3993  1    !
  8373. ;   3994  1    !--
  8374. ;   3995  1     
  8375. ;   3996  2        BEGIN
  8376. ;   3997  2     
  8377. ;   3998  2        EXTERNAL LITERAL
  8378. ;   3999  2        IBM_MODE_ECHO : WEAK,            ! IBM mode echo value
  8379. ;   4000  2        IBM_MODE_PARITY : WEAK,            ! Default parity
  8380. ;   4001  2        IBM_MODE_CHARACTER : WEAK;        ! And handshake character for
  8381. ;   4002  2     
  8382. ;   4003  2                                ! IBM mode
  8383. ;   4004  2        TPARSE_ARGS;
  8384. ;   4005  2     
  8385. ;   4006  2        IF .AP [TPA$L_PARAM]
  8386. ;   4007  2        THEN
  8387. ;   4008  3        BEGIN
  8388. ;   4009  3        IBM_CHAR = (IF IBM_MODE_CHARACTER NEQ 0 THEN IBM_MODE_CHARACTER ELSE CHR_DC1);
  8389. ;   4010  3        PARITY_TYPE = (IF IBM_MODE_PARITY NEQ 0 THEN IBM_MODE_PARITY ELSE PR_MARK);
  8390. ;   4011  3        ECHO_FLAG = (IF IBM_MODE_ECHO NEQ 0 THEN IBM_MODE_ECHO ELSE TRUE);
  8391. ;   4012  3        END
  8392. ;   4013  2        ELSE
  8393. ;   4014  3        BEGIN
  8394. ;   4015  3        IBM_CHAR = -1;                ! Turn IBM mode off
  8395. ;   4016  3        ECHO_FLAG = FALSE;            ! No local echo
  8396. ;   4017  3        PARITY_TYPE = PR_NONE;            ! and no parity
  8397. ;   4018  2        END;
  8398. ;   4019  2     
  8399. ;   4020  2        RETURN SS$_NORMAL;
  8400. ;   4021  1        END;                    ! End of STORE_IBM
  8401.  
  8402.  
  8403.  
  8404.     .WEAK   IBM_MODE_ECHO, IBM_MODE_PARITY, IBM_MODE_CHARACTER
  8405.  
  8406. ;STORE_IBM
  8407. U.27:    .WORD   ^M<R2,R3,R4,R5,R6,R7>         ;Save R2,R3,R4,R5,R6,R7           3958                    00FC   00000
  8408.     MOVL    #IBM_MODE_CHARACTER, R7         ;#IBM_MODE_CHARACTER, R7                             57 00000000G  8F  D0   00002
  8409.     MOVAB   G^ECHO_FLAG, R6             ;ECHO_FLAG, R6                                     56 00000000G  00  9E   00009
  8410.     MOVL    #IBM_MODE_ECHO, R5         ;#IBM_MODE_ECHO, R5                                 55 00000000G  8F  D0   00010
  8411.     MOVAB   G^PARITY_TYPE, R4         ;PARITY_TYPE, R4                                 54 00000000G  00  9E   00017
  8412.     MOVL    #IBM_MODE_PARITY, R3         ;#IBM_MODE_PARITY, R3                                 53 00000000G  8F  D0   0001E
  8413.     MOVAB   G^IBM_CHAR, R2             ;IBM_CHAR, R2                                     52 00000000G  00  9E   00025
  8414.     BLBC    32(AP), 7$             ;32(AP), 7$                   4006            2F    20   AC  E9   0002C
  8415.     TSTL    R7                 ;R7                       4009                  57  D5   00030
  8416.     BEQL    1$                 ;1$                                               05  13   00032
  8417.     MOVL    R7, R0                 ;R7, R0                                     50         57  D0   00034
  8418.     BRB     2$                 ;2$                                               03  11   00037
  8419. 1$:    MOVL    #17, R0                 ;#17, R0                                     50         11  D0   00039
  8420. 2$:    MOVL    R0, (R2)             ;R0, IBM_CHAR                                     62         50  D0   0003C
  8421.     TSTL    R3                 ;R3                       4010                  53  D5   0003F
  8422.     BEQL    3$                 ;3$                                               05  13   00041
  8423.     MOVL    R3, R0                 ;R3, R0                                     50         53  D0   00043
  8424.     BRB     4$                 ;4$                                               03  11   00046
  8425. 3$:    MOVL    #1, R0                 ;#1, R0                                     50         01  D0   00048
  8426. 4$:    MOVL    R0, (R4)             ;R0, PARITY_TYPE                                 64         50  D0   0004B
  8427.     TSTL    R5                 ;R5                       4011                  55  D5   0004E
  8428.     BEQL    5$                 ;5$                                               05  13   00050
  8429.     MOVL    R5, R0                 ;R5, R0                                     50         55  D0   00052
  8430.     BRB     6$                 ;6$                                               03  11   00055
  8431. 5$:    MOVL    #1, R0                 ;#1, R0                                     50         01  D0   00057
  8432. 6$:    MOVL    R0, (R6)             ;R0, ECHO_FLAG                                     66         50  D0   0005A
  8433.     BRB     8$                 ;8$                                               07  11   0005D
  8434. 7$:    MNEGL   #1, (R2)             ;#1, IBM_CHAR                   4015            62         01  CE   0005F
  8435.     CLRL    (R6)                 ;ECHO_FLAG                   4016                  66  D4   00062
  8436.     CLRL    (R4)                 ;PARITY_TYPE                   4017                  64  D4   00064
  8437. 8$:    MOVL    #1, R0                 ;#1, R0                   4020            50         01  D0   00066
  8438.     RET                      ;                                               04   00069
  8439.  
  8440. ; Routine Size:  106 bytes,    Routine Base:  $CODE$ + 1056
  8441.  
  8442.  
  8443. ;   4022  1     %SBTTL 'TPARSE support -- STORE_ABT'
  8444. ;   4023  1    ROUTINE STORE_ABT =
  8445. ;   4024  1     
  8446. ;   4025  1    !++
  8447. ;   4026  1    ! FUNCTIONAL DESCRIPTION:
  8448. ;   4027  1    !
  8449. ;   4028  1    !    This routine will store the aborted file disposition into ABT_FLAG
  8450. ;   4029  1    !
  8451. ;   4030  1    ! CALLING SEQUENCE:
  8452. ;   4031  1    !
  8453. ;   4032  1    !    Standard LIB$TPARSE routine call.
  8454. ;   4033  1    !
  8455. ;   4034  1    ! INPUT PARAMETERS:
  8456. ;   4035  1    !
  8457. ;   4036  1    !    None.
  8458. ;   4037  1    !
  8459. ;   4038  1    ! IMPLICIT INPUTS:
  8460. ;   4039  1    !
  8461. ;   4040  1    !    None.
  8462. ;   4041  1    !
  8463. ;   4042  1    ! OUTPUT PARAMETERS:
  8464. ;   4043  1    !
  8465. ;   4044  1    !    None.
  8466. ;   4045  1    !
  8467. ;   4046  1    ! IMPLICIT OUTPUTS:
  8468. ;   4047  1    !
  8469. ;   4048  1    !    None.
  8470. ;   4049  1    !
  8471. ;   4050  1    ! COMPLETION CODES:
  8472. ;   4051  1    !
  8473. ;   4052  1    !    None.
  8474. ;   4053  1    !
  8475. ;   4054  1    ! SIDE EFFECTS:
  8476. ;   4055  1    !
  8477. ;   4056  1    !    None.
  8478. ;   4057  1    !
  8479. ;   4058  1    !--
  8480. ;   4059  1     
  8481. ;   4060  2        BEGIN
  8482. ;   4061  2        TPARSE_ARGS;
  8483. ;   4062  2        ABT_FLAG = .AP [TPA$L_PARAM];
  8484. ;   4063  2        RETURN SS$_NORMAL;
  8485. ;   4064  1        END;                    ! End of STORE_ABT
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491. ;STORE_ABT
  8492. U.26:    .WORD   ^M<>                 ;Save nothing                   4023                    0000   00000
  8493.     MOVL    32(AP), G^ABT_FLAG         ;32(AP), ABT_FLAG               4062 00000000G  00    20   AC  D0   00002
  8494.     MOVL    #1, R0                 ;#1, R0                   4063            50         01  D0   0000A
  8495.     RET                      ;                                               04   0000D
  8496.  
  8497. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 10C0
  8498.  
  8499.  
  8500. ;   4065  1     %SBTTL 'TPARSE support -- STORE_CHK'
  8501. ;   4066  1    ROUTINE STORE_CHK =
  8502. ;   4067  1     
  8503. ;   4068  1    !++
  8504. ;   4069  1    ! FUNCTIONAL DESCRIPTION:
  8505. ;   4070  1    !
  8506. ;   4071  1    !    This routine will store the block check type into XXXX
  8507. ;   4072  1    !    location.
  8508. ;   4073  1    !
  8509. ;   4074  1    ! CALLING SEQUENCE:
  8510. ;   4075  1    !
  8511. ;   4076  1    !    Standard LIB$TPARSE routine call.
  8512. ;   4077  1    !
  8513. ;   4078  1    ! INPUT PARAMETERS:
  8514. ;   4079  1    !
  8515. ;   4080  1    !    None.
  8516. ;   4081  1    !
  8517. ;   4082  1    ! IMPLICIT INPUTS:
  8518. ;   4083  1    !
  8519. ;   4084  1    !    None.
  8520. ;   4085  1    !
  8521. ;   4086  1    ! OUTPUT PARAMETERS:
  8522. ;   4087  1    !
  8523. ;   4088  1    !    None.
  8524. ;   4089  1    !
  8525. ;   4090  1    ! IMPLICIT OUTPUTS:
  8526. ;   4091  1    !
  8527. ;   4092  1    !    None.
  8528. ;   4093  1    !
  8529. ;   4094  1    ! COMPLETION CODES:
  8530. ;   4095  1    !
  8531. ;   4096  1    !    None.
  8532. ;   4097  1    !
  8533. ;   4098  1    ! SIDE EFFECTS:
  8534. ;   4099  1    !
  8535. ;   4100  1    !    None.
  8536. ;   4101  1    !
  8537. ;   4102  1    !--
  8538. ;   4103  1     
  8539. ;   4104  2        BEGIN
  8540. ;   4105  2        TPARSE_ARGS;
  8541. ;   4106  2        CHKTYPE = .AP [TPA$L_PARAM];
  8542. ;   4107  2        RETURN SS$_NORMAL;
  8543. ;   4108  1        END;                    ! End of STORE_CHK
  8544.  
  8545.  
  8546.  
  8547.  
  8548.  
  8549. ;STORE_CHK
  8550. U.25:    .WORD   ^M<>                 ;Save nothing                   4066                    0000   00000
  8551.     MOVL    32(AP), G^CHKTYPE         ;32(AP), CHKTYPE               4106 00000000G  00    20   AC  D0   00002
  8552.     MOVL    #1, R0                 ;#1, R0                   4107            50         01  D0   0000A
  8553.     RET                      ;                                               04   0000D
  8554.  
  8555. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 10CE
  8556.  
  8557.  
  8558. ;   4109  1     %SBTTL 'TPARSE support -- STORE_FTP - Store file type'
  8559. ;   4110  1    ROUTINE STORE_FTP =
  8560. ;   4111  1     
  8561. ;   4112  1    !++
  8562. ;   4113  1    ! FUNCTIONAL DESCRIPTION:
  8563. ;   4114  1    !
  8564. ;   4115  1    !    This routine will store the file type that was specified by the
  8565. ;   4116  1    !    user for the KERFIL processing.
  8566. ;   4117  1    !
  8567. ;   4118  1    ! CALLING SEQUENCE:
  8568. ;   4119  1    !
  8569. ;   4120  1    !    Standard call from LIB$TPARSE.
  8570. ;   4121  1    !
  8571. ;   4122  1    ! INPUT PARAMETERS:
  8572. ;   4123  1    !
  8573. ;   4124  1    !    None.
  8574. ;   4125  1    !
  8575. ;   4126  1    ! IMPLICIT INPUTS:
  8576. ;   4127  1    !
  8577. ;   4128  1    !    None.
  8578. ;   4129  1    !
  8579. ;   4130  1    ! OUTPUT PARAMETERS:
  8580. ;   4131  1    !
  8581. ;   4132  1    !    None.
  8582. ;   4133  1    !
  8583. ;   4134  1    ! IMPLICIT OUTPUTS:
  8584. ;   4135  1    !
  8585. ;   4136  1    !    None.
  8586. ;   4137  1    !
  8587. ;   4138  1    ! COMPLETION CODES:
  8588. ;   4139  1    !
  8589. ;   4140  1    !    None.
  8590. ;   4141  1    !
  8591. ;   4142  1    ! SIDE EFFECTS:
  8592. ;   4143  1    !
  8593. ;   4144  1    !    None.
  8594. ;   4145  1    !
  8595. ;   4146  1    !--
  8596. ;   4147  1     
  8597. ;   4148  2        BEGIN
  8598. ;   4149  2        TPARSE_ARGS;
  8599. ;   4150  2        FILE_TYPE = .AP [TPA$L_PARAM];
  8600. ;   4151  2    
  8601. ;   4152  2        IF (.FILE_TYPE EQL FILE_FIX) OR
  8602. ;   4153  3           (.FILE_TYPE EQL FILE_BIN)
  8603. ;   4154  2        THEN 
  8604. ;   4155  3            BEGIN
  8605. ;   4156  3            TT_TEXT(UPLIT('Current block size for file transfer is ', 0));
  8606. ;   4157  3            TT_NUMBER(.file_blocksize);
  8607. ;   4158  3            TT_CRLF();
  8608. ;   4159  2            END;
  8609. ;   4160  2    
  8610. ;   4161  2        RETURN SS$_NORMAL;
  8611. ;   4162  1        END;                    ! End of STORE_FTP
  8612.  
  8613.  
  8614.  
  8615.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  8616.  
  8617. P.AGO:    .ASCII  \Current block size for file transfer is \
  8618.                          ;                                20  74  6E  65  72  72  75  43  009C0
  8619.                          ;                          69  73  20  6B  63  6F  6C  62  009C8
  8620.                          ;                          66  20  72  6F  66  20  65  7A  009D0
  8621.                          ;                          6E  61  72  74  20  65  6C  69  009D8
  8622.                          ;                          20  73  69  20  72  65  66  73  009E0
  8623.     .LONG   0                 ;                                              00000000  009E8
  8624.  
  8625.  
  8626.  
  8627.     .PSECT  $CODE$,NOWRT,2
  8628.  
  8629. ;STORE_FTP
  8630. U.21:    .WORD   ^M<R2>                 ;Save R2                   4110                    0004   00000
  8631.     MOVAB   G^FILE_TYPE, R2             ;FILE_TYPE, R2                                     52 00000000G  00  9E   00002
  8632.     MOVL    32(AP), (R2)             ;32(AP), FILE_TYPE               4150            62    20   AC  D0   00009
  8633.     MOVL    (R2), R0             ;FILE_TYPE, R0                   4152            50         62  D0   0000D
  8634.     CMPL    R0, #4                 ;R0, #4                                     04         50  D1   00010
  8635.     BEQL    1$                 ;1$                                               05  13   00013
  8636.     CMPL    R0, #2                 ;R0, #2                   4153            02         50  D1   00015
  8637.     BNEQ    2$                 ;2$                                               21  12   00018
  8638. 1$:    PUSHAB  G^P.AGO                 ;P.AGO                       4156           00000000'  00  9F   0001A
  8639.     CALLS   #1, G^TT_TEXT             ;#1, TT_TEXT                          00000000G  00         01  FB   00020
  8640.     PUSHL   G^FILE_BLOCKSIZE         ;FILE_BLOCKSIZE               4157           00000000G  00  DD   00027
  8641.     CALLS   #1, G^TT_NUMBER             ;#1, TT_NUMBER                          00000000G  00         01  FB   0002D
  8642.     CALLS   #0, G^TT_CRLF             ;#0, TT_CRLF                   4158 00000000G  00         00  FB   00034
  8643. 2$:    MOVL    #1, R0                 ;#1, R0                   4161            50         01  D0   0003B
  8644.     RET                      ;                                               04   0003E
  8645.  
  8646. ; Routine Size:  63 bytes,    Routine Base:  $CODE$ + 10DC
  8647.  
  8648.  
  8649. ;   4163  1     %SBTTL 'TPARSE support -- STORE_FNM - Store file type'
  8650. ;   4164  1    ROUTINE STORE_FNM =
  8651. ;   4165  1     
  8652. ;   4166  1    !++
  8653. ;   4167  1    ! FUNCTIONAL DESCRIPTION:
  8654. ;   4168  1    !
  8655. ;   4169  1    !    This routine will store the file type that was specified by the
  8656. ;   4170  1    !    user for the KERFIL processing.
  8657. ;   4171  1    !
  8658. ;   4172  1    ! CALLING SEQUENCE:
  8659. ;   4173  1    !
  8660. ;   4174  1    !    Standard call from LIB$TPARSE.
  8661. ;   4175  1    !
  8662. ;   4176  1    ! INPUT PARAMETERS:
  8663. ;   4177  1    !
  8664. ;   4178  1    !    None.
  8665. ;   4179  1    !
  8666. ;   4180  1    ! IMPLICIT INPUTS:
  8667. ;   4181  1    !
  8668. ;   4182  1    !    None.
  8669. ;   4183  1    !
  8670. ;   4184  1    ! OUTPUT PARAMETERS:
  8671. ;   4185  1    !
  8672. ;   4186  1    !    None.
  8673. ;   4187  1    !
  8674. ;   4188  1    ! IMPLICIT OUTPUTS:
  8675. ;   4189  1    !
  8676. ;   4190  1    !    None.
  8677. ;   4191  1    !
  8678. ;   4192  1    ! COMPLETION CODES:
  8679. ;   4193  1    !
  8680. ;   4194  1    !    None.
  8681. ;   4195  1    !
  8682. ;   4196  1    ! SIDE EFFECTS:
  8683. ;   4197  1    !
  8684. ;   4198  1    !    None.
  8685. ;   4199  1    !
  8686. ;   4200  1    !--
  8687. ;   4201  1     
  8688. ;   4202  2        BEGIN
  8689. ;   4203  2        TPARSE_ARGS;
  8690. ;   4204  2        FIL_NORMAL_FORM = .AP [TPA$L_PARAM];
  8691. ;   4205  2        RETURN SS$_NORMAL;
  8692. ;   4206  1        END;                    ! End of STORE_FNM
  8693.  
  8694.  
  8695.  
  8696.  
  8697.  
  8698. ;STORE_FNM
  8699. U.22:    .WORD   ^M<>                 ;Save nothing                   4164                    0000   00000
  8700.     MOVL    32(AP), G^FIL_NORMAL_FORM     ;32(AP), FIL_NORMAL_FORM           4204 00000000G  00    20   AC  D0   00002
  8701.     MOVL    #1, R0                 ;#1, R0                   4205            50         01  D0   0000A
  8702.     RET                      ;                                               04   0000D
  8703.  
  8704. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 111B
  8705.  
  8706.  
  8707. ;   4207  1     %SBTTL 'TPARSE support -- STORE_PARITY - Store file type'
  8708. ;   4208  1    ROUTINE STORE_PARITY =
  8709. ;   4209  1     
  8710. ;   4210  1    !++
  8711. ;   4211  1    ! FUNCTIONAL DESCRIPTION:
  8712. ;   4212  1    !
  8713. ;   4213  1    !    This routine will store the type of parity to use for the transfer.
  8714. ;   4214  1    !    If a parity type of other than NONE is specified then we will use
  8715. ;   4215  1    !    eight-bit quoting to support the transfer.
  8716. ;   4216  1    !
  8717. ;   4217  1    ! CALLING SEQUENCE:
  8718. ;   4218  1    !
  8719. ;   4219  1    !    Standard call from LIB$TPARSE.
  8720. ;   4220  1    !
  8721. ;   4221  1    ! INPUT PARAMETERS:
  8722. ;   4222  1    !
  8723. ;   4223  1    !    None.
  8724. ;   4224  1    !
  8725. ;   4225  1    ! IMPLICIT INPUTS:
  8726. ;   4226  1    !
  8727. ;   4227  1    !    None.
  8728. ;   4228  1    !
  8729. ;   4229  1    ! OUTPUT PARAMETERS:
  8730. ;   4230  1    !
  8731. ;   4231  1    !    None.
  8732. ;   4232  1    !
  8733. ;   4233  1    ! IMPLICIT OUTPUTS:
  8734. ;   4234  1    !
  8735. ;   4235  1    !    None.
  8736. ;   4236  1    !
  8737. ;   4237  1    ! COMPLETION CODES:
  8738. ;   4238  1    !
  8739. ;   4239  1    !    None.
  8740. ;   4240  1    !
  8741. ;   4241  1    ! SIDE EFFECTS:
  8742. ;   4242  1    !
  8743. ;   4243  1    !    None.
  8744. ;   4244  1    !
  8745. ;   4245  1    !--
  8746. ;   4246  1     
  8747. ;   4247  2        BEGIN
  8748. ;   4248  2        TPARSE_ARGS;
  8749. ;   4249  2        PARITY_TYPE = .AP [TPA$L_PARAM];
  8750. ;   4250  2        RETURN SS$_NORMAL;
  8751. ;   4251  1        END;                    ! End of STORE_PARITY
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757. ;STORE_PARITY
  8758. U.24:    .WORD   ^M<>                 ;Save nothing                   4208                    0000   00000
  8759.     MOVL    32(AP), G^PARITY_TYPE         ;32(AP), PARITY_TYPE               4249 00000000G  00    20   AC  D0   00002
  8760.     MOVL    #1, R0                 ;#1, R0                   4250            50         01  D0   0000A
  8761.     RET                      ;                                               04   0000D
  8762.  
  8763. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 1129
  8764.  
  8765.  
  8766. ;   4252  1     %SBTTL 'TPARSE support -- STORE_ECHO - Store local echo flag'
  8767. ;   4253  1    ROUTINE STORE_ECHO =
  8768. ;   4254  1     
  8769. ;   4255  1    !++
  8770. ;   4256  1    ! FUNCTIONAL DESCRIPTION:
  8771. ;   4257  1    !
  8772. ;   4258  1    !    This routine will store the state of the local echo flag as the
  8773. ;   4259  1    !    user set it.
  8774. ;   4260  1    !
  8775. ;   4261  1    ! CALLING SEQUENCE:
  8776. ;   4262  1    !
  8777. ;   4263  1    !    Standard TPARSE argument call.
  8778. ;   4264  1    !
  8779. ;   4265  1    ! INPUT PARAMETERS:
  8780. ;   4266  1    !
  8781. ;   4267  1    !    None.
  8782. ;   4268  1    !
  8783. ;   4269  1    ! IMPLICIT INPUTS:
  8784. ;   4270  1    !
  8785. ;   4271  1    !    None.
  8786. ;   4272  1    !
  8787. ;   4273  1    ! OUTPUT PARAMETERS:
  8788. ;   4274  1    !
  8789. ;   4275  1    !    None.
  8790. ;   4276  1    !
  8791. ;   4277  1    ! IMPLICIT OUTPUTS:
  8792. ;   4278  1    !
  8793. ;   4279  1    !    None.
  8794. ;   4280  1    !
  8795. ;   4281  1    ! COMPLETION CODES:
  8796. ;   4282  1    !
  8797. ;   4283  1    !    None.
  8798. ;   4284  1    !
  8799. ;   4285  1    ! SIDE EFFECTS:
  8800. ;   4286  1    !
  8801. ;   4287  1    !    None.
  8802. ;   4288  1    !
  8803. ;   4289  1    !--
  8804. ;   4290  1     
  8805. ;   4291  2        BEGIN
  8806. ;   4292  2        TPARSE_ARGS;
  8807. ;   4293  2        ECHO_FLAG = .AP [TPA$L_PARAM];
  8808. ;   4294  2        RETURN SS$_NORMAL;
  8809. ;   4295  1        END;                    ! End of STORE_ECHO
  8810.  
  8811.  
  8812.  
  8813.  
  8814.  
  8815. ;STORE_ECHO
  8816. U.23:    .WORD   ^M<>                 ;Save nothing                   4253                    0000   00000
  8817.     MOVL    32(AP), G^ECHO_FLAG         ;32(AP), ECHO_FLAG               4293 00000000G  00    20   AC  D0   00002
  8818.     MOVL    #1, R0                 ;#1, R0                   4294            50         01  D0   0000A
  8819.     RET                      ;                                               04   0000D
  8820.  
  8821. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 1137
  8822.  
  8823.  
  8824. ;   4296  1     %SBTTL 'TPARSE support -- STORE_MSG_FIL - Store file name typeout flag'
  8825. ;   4297  1    ROUTINE STORE_MSG_FIL =
  8826. ;   4298  1     
  8827. ;   4299  1    !++
  8828. ;   4300  1    ! FUNCTIONAL DESCRIPTION:
  8829. ;   4301  1    !
  8830. ;   4302  1    !    This routine will store the state of the file name typeout flag as the
  8831. ;   4303  1    !    user set it.
  8832. ;   4304  1    !
  8833. ;   4305  1    ! CALLING SEQUENCE:
  8834. ;   4306  1    !
  8835. ;   4307  1    !    Standard TPARSE argument call.
  8836. ;   4308  1    !
  8837. ;   4309  1    ! INPUT PARAMETERS:
  8838. ;   4310  1    !
  8839. ;   4311  1    !    None.
  8840. ;   4312  1    !
  8841. ;   4313  1    ! IMPLICIT INPUTS:
  8842. ;   4314  1    !
  8843. ;   4315  1    !    None.
  8844. ;   4316  1    !
  8845. ;   4317  1    ! OUTPUT PARAMETERS:
  8846. ;   4318  1    !
  8847. ;   4319  1    !    None.
  8848. ;   4320  1    !
  8849. ;   4321  1    ! IMPLICIT OUTPUTS:
  8850. ;   4322  1    !
  8851. ;   4323  1    !    None.
  8852. ;   4324  1    !
  8853. ;   4325  1    ! COMPLETION CODES:
  8854. ;   4326  1    !
  8855. ;   4327  1    !    None.
  8856. ;   4328  1    !
  8857. ;   4329  1    ! SIDE EFFECTS:
  8858. ;   4330  1    !
  8859. ;   4331  1    !    None.
  8860. ;   4332  1    !
  8861. ;   4333  1    !--
  8862. ;   4334  1     
  8863. ;   4335  2        BEGIN
  8864. ;   4336  2        TPARSE_ARGS;
  8865. ;   4337  2        TY_FIL = .AP [TPA$L_PARAM];
  8866. ;   4338  2        RETURN SS$_NORMAL;
  8867. ;   4339  1        END;                    ! End of STORE_MSG_FIL
  8868.  
  8869.  
  8870.  
  8871.  
  8872.  
  8873. ;STORE_MSG_FIL
  8874. U.28:    .WORD   ^M<>                 ;Save nothing                   4297                    0000   00000
  8875.     MOVL    32(AP), G^TY_FIL         ;32(AP), TY_FIL               4337 00000000G  00    20   AC  D0   00002
  8876.     MOVL    #1, R0                 ;#1, R0                   4338            50         01  D0   0000A
  8877.     RET                      ;                                               04   0000D
  8878.  
  8879. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 1145
  8880.  
  8881.  
  8882. ;   4340  1     %SBTTL 'TPARSE support -- STORE_MSG_PKT - Store packet number typeout flag'
  8883. ;   4341  1    ROUTINE STORE_MSG_PKT =
  8884. ;   4342  1     
  8885. ;   4343  1    !++
  8886. ;   4344  1    ! FUNCTIONAL DESCRIPTION:
  8887. ;   4345  1    !
  8888. ;   4346  1    !    This routine will store the state of the packet number flag as the
  8889. ;   4347  1    !    user set it.
  8890. ;   4348  1    !
  8891. ;   4349  1    ! CALLING SEQUENCE:
  8892. ;   4350  1    !
  8893. ;   4351  1    !    Standard TPARSE argument call.
  8894. ;   4352  1    !
  8895. ;   4353  1    ! INPUT PARAMETERS:
  8896. ;   4354  1    !
  8897. ;   4355  1    !    None.
  8898. ;   4356  1    !
  8899. ;   4357  1    ! IMPLICIT INPUTS:
  8900. ;   4358  1    !
  8901. ;   4359  1    !    None.
  8902. ;   4360  1    !
  8903. ;   4361  1    ! OUTPUT PARAMETERS:
  8904. ;   4362  1    !
  8905. ;   4363  1    !    None.
  8906. ;   4364  1    !
  8907. ;   4365  1    ! IMPLICIT OUTPUTS:
  8908. ;   4366  1    !
  8909. ;   4367  1    !    None.
  8910. ;   4368  1    !
  8911. ;   4369  1    ! COMPLETION CODES:
  8912. ;   4370  1    !
  8913. ;   4371  1    !    None.
  8914. ;   4372  1    !
  8915. ;   4373  1    ! SIDE EFFECTS:
  8916. ;   4374  1    !
  8917. ;   4375  1    !    None.
  8918. ;   4376  1    !
  8919. ;   4377  1    !--
  8920. ;   4378  1     
  8921. ;   4379  2        BEGIN
  8922. ;   4380  2        TPARSE_ARGS;
  8923. ;   4381  2        TY_PKT = .AP [TPA$L_PARAM];
  8924. ;   4382  2        RETURN SS$_NORMAL;
  8925. ;   4383  1        END;                    ! End of STORE_MSG_PKT
  8926.  
  8927.  
  8928.  
  8929.  
  8930.  
  8931. ;STORE_MSG_PKT
  8932. U.29:    .WORD   ^M<>                 ;Save nothing                   4341                    0000   00000
  8933.     MOVL    32(AP), G^TY_PKT         ;32(AP), TY_PKT               4381 00000000G  00    20   AC  D0   00002
  8934.     MOVL    #1, R0                 ;#1, R0                   4382            50         01  D0   0000A
  8935.     RET                      ;                                               04   0000D
  8936.  
  8937. ; Routine Size:  14 bytes,    Routine Base:  $CODE$ + 1153
  8938.  
  8939.  
  8940. ;   4384  1     %SBTTL 'TPARSE support -- CHECK_EOL'
  8941. ;   4385  1    ROUTINE CHECK_EOL =
  8942. ;   4386  1     
  8943. ;   4387  1    !++
  8944. ;   4388  1    ! FUNCTIONAL DESCRIPTION:
  8945. ;   4389  1    !
  8946. ;   4390  1    !    This routine will valid the SEND and RECEIVE eol character that
  8947. ;   4391  1    !    is being set by the user.
  8948. ;   4392  1    !
  8949. ;   4393  1    ! CALLING SEQUENCE:
  8950. ;   4394  1    !
  8951. ;   4395  1    !    Standard TPARSE routine calling sequence.
  8952. ;   4396  1    !
  8953. ;   4397  1    ! INPUT PARAMETERS:
  8954. ;   4398  1    !
  8955. ;   4399  1    !    None.
  8956. ;   4400  1    !
  8957. ;   4401  1    ! IMPLICIT INPUTS:
  8958. ;   4402  1    !
  8959. ;   4403  1    !    None.
  8960. ;   4404  1    !
  8961. ;   4405  1    ! OUTPUT PARAMETERS:
  8962. ;   4406  1    !
  8963. ;   4407  1    !    None.
  8964. ;   4408  1    !
  8965. ;   4409  1    ! IMPLICIT OUTPUTS:
  8966. ;   4410  1    !
  8967. ;   4411  1    !    None.
  8968. ;   4412  1    !
  8969. ;   4413  1    ! COMPLETION CODES:
  8970. ;   4414  1    !
  8971. ;   4415  1    !    None.
  8972. ;   4416  1    !
  8973. ;   4417  1    ! SIDE EFFECTS:
  8974. ;   4418  1    !
  8975. ;   4419  1    !    None.
  8976. ;   4420  1    !
  8977. ;   4421  1    !--
  8978. ;   4422  1     
  8979. ;   4423  2        BEGIN
  8980. ;   4424  2        TPARSE_ARGS;
  8981. ;   4425  2     
  8982. ;   4426  3        IF (.AP [TPA$L_NUMBER] LSS %C' ') AND (.AP [TPA$L_NUMBER] GTR 0)
  8983. ;   4427  2        THEN
  8984. ;   4428  2        RETURN SS$_NORMAL
  8985. ;   4429  2        ELSE
  8986. ;   4430  2        RETURN KER_ILLEOL;
  8987. ;   4431  2     
  8988. ;   4432  1        END;                    ! End of CHECK_EOL
  8989.  
  8990.  
  8991.  
  8992.  
  8993.  
  8994. ;CHECK_EOL
  8995. U.33:    .WORD   ^M<>                 ;Save nothing                   4385                    0000   00000
  8996.     CMPL    28(AP), #32             ;28(AP), #32                   4426            20    1C   AC  D1   00002
  8997.     BGEQ    1$                 ;1$                                               09  18   00006
  8998.     TSTL    28(AP)                 ;28(AP)                                      1C   AC  D5   00008
  8999.     BLEQ    1$                 ;1$                                               04  15   0000B
  9000.     MOVL    #1, R0                 ;#1, R0                   4428            50         01  D0   0000D
  9001.     RET                      ;                                               04   00010
  9002. 1$:    MOVL    #134316066, R0             ;#134316066, R0               4430            50 08018022   8F  D0   00011
  9003.     RET                      ;                                               04   00018
  9004.  
  9005. ; Routine Size:  25 bytes,    Routine Base:  $CODE$ + 1161
  9006.  
  9007.  
  9008. ;   4433  1     %SBTTL 'TPARSE support -- CHECK_QUOTE'
  9009. ;   4434  1    ROUTINE CHECK_QUOTE =
  9010. ;   4435  1     
  9011. ;   4436  1    !++
  9012. ;   4437  1    ! FUNCTIONAL DESCRIPTION:
  9013. ;   4438  1    !
  9014. ;   4439  1    !    This routine will validate the SEND and RECEIVE quoting character that
  9015. ;   4440  1    !    is being set by the user.
  9016. ;   4441  1    !
  9017. ;   4442  1    ! CALLING SEQUENCE:
  9018. ;   4443  1    !
  9019. ;   4444  1    !    Standard TPARSE routine calling sequence.
  9020. ;   4445  1    !
  9021. ;   4446  1    ! INPUT PARAMETERS:
  9022. ;   4447  1    !
  9023. ;   4448  1    !    None.
  9024. ;   4449  1    !
  9025. ;   4450  1    ! IMPLICIT INPUTS:
  9026. ;   4451  1    !
  9027. ;   4452  1    !    None.
  9028. ;   4453  1    !
  9029. ;   4454  1    ! OUTPUT PARAMETERS:
  9030. ;   4455  1    !
  9031. ;   4456  1    !    None.
  9032. ;   4457  1    !
  9033. ;   4458  1    ! IMPLICIT OUTPUTS:
  9034. ;   4459  1    !
  9035. ;   4460  1    !    None.
  9036. ;   4461  1    !
  9037. ;   4462  1    ! COMPLETION CODES:
  9038. ;   4463  1    !
  9039. ;   4464  1    !    Error code or true value
  9040. ;   4465  1    !
  9041. ;   4466  1    ! SIDE EFFECTS:
  9042. ;   4467  1    !
  9043. ;   4468  1    !    None.
  9044. ;   4469  1    !
  9045. ;   4470  1    !--
  9046. ;   4471  1     
  9047. ;   4472  2        BEGIN
  9048. ;   4473  2        TPARSE_ARGS;
  9049. ;   4474  2     
  9050. ;   4475  3        IF (.AP [TPA$L_NUMBER] GEQ %C' ' AND .AP [TPA$L_NUMBER] LSS %C'?') OR (.AP [TPA$L_NUMBER] GEQ %C'`' AND
  9051. ;   4476  3        .AP [TPA$L_NUMBER] LSS CHR_DEL)
  9052. ;   4477  2        THEN
  9053. ;   4478  2        RETURN SS$_NORMAL
  9054. ;   4479  2        ELSE
  9055. ;   4480  2        RETURN KER_ILLQUO;
  9056. ;   4481  2     
  9057. ;   4482  1        END;                    ! End of CHECK_QUO
  9058.  
  9059.  
  9060.  
  9061.  
  9062.  
  9063. ;CHECK_QUOTE
  9064. U.34:    .WORD   ^M<>                 ;Save nothing                   4434                    0000   00000
  9065.     CMPL    28(AP), #32             ;28(AP), #32                   4475            20    1C   AC  D1   00002
  9066.     BLSS    1$                 ;1$                                               06  19   00006
  9067.     CMPL    28(AP), #63             ;28(AP), #63                                     3F    1C   AC  D1   00008
  9068.     BLSS    2$                 ;2$                                               14  19   0000C
  9069. 1$:    CMPL    28(AP), #96             ;28(AP), #96                          00000060   8F    1C   AC  D1   0000E
  9070.     BLSS    3$                 ;3$                                               0E  19   00016
  9071.     CMPL    28(AP), #127             ;28(AP), #127                   4476 0000007F   8F    1C   AC  D1   00018
  9072.     BGEQ    3$                 ;3$                                               04  18   00020
  9073. 2$:    MOVL    #1, R0                 ;#1, R0                   4478            50         01  D0   00022
  9074.     RET                      ;                                               04   00025
  9075. 3$:    MOVL    #134316114, R0             ;#134316114, R0               4480            50 08018052   8F  D0   00026
  9076.     RET                      ;                                               04   0002D
  9077.  
  9078. ; Routine Size:  46 bytes,    Routine Base:  $CODE$ + 117A
  9079.  
  9080.  
  9081. ;   4483  1     %SBTTL 'TPARSE support -- CHECK_SOH'
  9082. ;   4484  1    ROUTINE CHECK_SOH =
  9083. ;   4485  1     
  9084. ;   4486  1    !++
  9085. ;   4487  1    ! FUNCTIONAL DESCRIPTION:
  9086. ;   4488  1    !
  9087. ;   4489  1    !    This routine will valid the SEND and RECEIVE START_OF_PACKET
  9088. ;   4490  1    !    character that is being set by the user.
  9089. ;   4491  1    !
  9090. ;   4492  1    ! CALLING SEQUENCE:
  9091. ;   4493  1    !
  9092. ;   4494  1    !    Standard TPARSE routine calling sequence.
  9093. ;   4495  1    !
  9094. ;   4496  1    ! INPUT PARAMETERS:
  9095. ;   4497  1    !
  9096. ;   4498  1    !    None.
  9097. ;   4499  1    !
  9098. ;   4500  1    ! IMPLICIT INPUTS:
  9099. ;   4501  1    !
  9100. ;   4502  1    !    None.
  9101. ;   4503  1    !
  9102. ;   4504  1    ! OUTPUT PARAMETERS:
  9103. ;   4505  1    !
  9104. ;   4506  1    !    None.
  9105. ;   4507  1    !
  9106. ;   4508  1    ! IMPLICIT OUTPUTS:
  9107. ;   4509  1    !
  9108. ;   4510  1    !    None.
  9109. ;   4511  1    !
  9110. ;   4512  1    ! COMPLETION CODES:
  9111. ;   4513  1    !
  9112. ;   4514  1    !    None.
  9113. ;   4515  1    !
  9114. ;   4516  1    ! SIDE EFFECTS:
  9115. ;   4517  1    !
  9116. ;   4518  1    !    None.
  9117. ;   4519  1    !
  9118. ;   4520  1    !--
  9119. ;   4521  1     
  9120. ;   4522  2        BEGIN
  9121. ;   4523  2        TPARSE_ARGS;
  9122. ;   4524  2     
  9123. ;   4525  3        IF (.AP [TPA$L_NUMBER] LSS %C' ') AND (.AP [TPA$L_NUMBER] GTR 0)
  9124. ;   4526  2        THEN
  9125. ;   4527  2        RETURN SS$_NORMAL
  9126. ;   4528  2        ELSE
  9127. ;   4529  2        RETURN KER_ILLSOH;
  9128. ;   4530  2     
  9129. ;   4531  1        END;                    ! End of CHECK_SOH
  9130.  
  9131.  
  9132.  
  9133.  
  9134.  
  9135. ;CHECK_SOH
  9136. U.35:    .WORD   ^M<>                 ;Save nothing                   4484                    0000   00000
  9137.     CMPL    28(AP), #32             ;28(AP), #32                   4525            20    1C   AC  D1   00002
  9138.     BGEQ    1$                 ;1$                                               09  18   00006
  9139.     TSTL    28(AP)                 ;28(AP)                                      1C   AC  D5   00008
  9140.     BLEQ    1$                 ;1$                                               04  15   0000B
  9141.     MOVL    #1, R0                 ;#1, R0                   4527            50         01  D0   0000D
  9142.     RET                      ;                                               04   00010
  9143. 1$:    MOVL    #134316106, R0             ;#134316106, R0               4529            50 0801804A   8F  D0   00011
  9144.     RET                      ;                                               04   00018
  9145.  
  9146. ; Routine Size:  25 bytes,    Routine Base:  $CODE$ + 11A8
  9147.  
  9148.  
  9149. ;   4532  1     %SBTTL 'TPARSE support -- CHECK_PAD_CHAR'
  9150. ;   4533  1    ROUTINE CHECK_PAD_CHAR =
  9151. ;   4534  1     
  9152. ;   4535  1    !++
  9153. ;   4536  1    ! FUNCTIONAL DESCRIPTION:
  9154. ;   4537  1    !
  9155. ;   4538  1    !    This routine will valid the SEND and RECEIVE eol character that
  9156. ;   4539  1    !    is being set by the user.
  9157. ;   4540  1    !
  9158. ;   4541  1    ! CALLING SEQUENCE:
  9159. ;   4542  1    !
  9160. ;   4543  1    !    Standard TPARSE routine calling sequence.
  9161. ;   4544  1    !
  9162. ;   4545  1    ! INPUT PARAMETERS:
  9163. ;   4546  1    !
  9164. ;   4547  1    !    None.
  9165. ;   4548  1    !
  9166. ;   4549  1    ! IMPLICIT INPUTS:
  9167. ;   4550  1    !
  9168. ;   4551  1    !    None.
  9169. ;   4552  1    !
  9170. ;   4553  1    ! OUTPUT PARAMETERS:
  9171. ;   4554  1    !
  9172. ;   4555  1    !    None.
  9173. ;   4556  1    !
  9174. ;   4557  1    ! IMPLICIT OUTPUTS:
  9175. ;   4558  1    !
  9176. ;   4559  1    !    None.
  9177. ;   4560  1    !
  9178. ;   4561  1    ! COMPLETION CODES:
  9179. ;   4562  1    !
  9180. ;   4563  1    !    None.
  9181. ;   4564  1    !
  9182. ;   4565  1    ! SIDE EFFECTS:
  9183. ;   4566  1    !
  9184. ;   4567  1    !    None.
  9185. ;   4568  1    !
  9186. ;   4569  1    !--
  9187. ;   4570  1     
  9188. ;   4571  2        BEGIN
  9189. ;   4572  2        TPARSE_ARGS;
  9190. ;   4573  2     
  9191. ;   4574  2        IF .AP [TPA$L_NUMBER] LSS %C' ' OR .AP [TPA$L_NUMBER] EQL CHR_DEL
  9192. ;   4575  2        THEN
  9193. ;   4576  2        RETURN SS$_NORMAL
  9194. ;   4577  2        ELSE
  9195. ;   4578  2        RETURN KER_ILLPADCHR;
  9196. ;   4579  2     
  9197. ;   4580  1        END;                    ! End of CHECK_PAD_CHAR
  9198.  
  9199.  
  9200.  
  9201.  
  9202.  
  9203. ;CHECK_PAD_CHAR
  9204. U.32:    .WORD   ^M<>                 ;Save nothing                   4533                    0000   00000
  9205.     CMPL    28(AP), #32             ;28(AP), #32                   4574            20    1C   AC  D1   00002
  9206.     BLSS    1$                 ;1$                                               0A  19   00006
  9207.     CMPL    28(AP), #127             ;28(AP), #127                          0000007F   8F    1C   AC  D1   00008
  9208.     BNEQ    2$                 ;2$                                               04  12   00010
  9209. 1$:    MOVL    #1, R0                 ;#1, R0                   4576            50         01  D0   00012
  9210.     RET                      ;                                               04   00015
  9211. 2$:    MOVL    #134316082, R0             ;#134316082, R0               4578            50 08018032   8F  D0   00016
  9212.     RET                      ;                                               04   0001D
  9213.  
  9214. ; Routine Size:  30 bytes,    Routine Base:  $CODE$ + 11C1
  9215.  
  9216.  
  9217. ;   4581  1     %SBTTL 'TPARSE support -- CHECK_NPAD'
  9218. ;   4582  1    ROUTINE CHECK_NPAD =
  9219. ;   4583  1     
  9220. ;   4584  1    !++
  9221. ;   4585  1    ! FUNCTIONAL DESCRIPTION:
  9222. ;   4586  1    !
  9223. ;   4587  1    !    This routine will determine if the padding character specified by the
  9224. ;   4588  1    !    user is valid.
  9225. ;   4589  1    !
  9226. ;   4590  1    ! CALLING SEQUENCE:
  9227. ;   4591  1    !
  9228. ;   4592  1    !    Standard TPARSE calling sequence.
  9229. ;   4593  1    !
  9230. ;   4594  1    ! INPUT PARAMETERS:
  9231. ;   4595  1    !
  9232. ;   4596  1    !    None.
  9233. ;   4597  1    !
  9234. ;   4598  1    ! IMPLICIT INPUTS:
  9235. ;   4599  1    !
  9236. ;   4600  1    !    None.
  9237. ;   4601  1    !
  9238. ;   4602  1    ! OUTPUT PARAMETERS:
  9239. ;   4603  1    !
  9240. ;   4604  1    !    None.
  9241. ;   4605  1    !
  9242. ;   4606  1    ! IMPLICIT OUTPUTS:
  9243. ;   4607  1    !
  9244. ;   4608  1    !    None.
  9245. ;   4609  1    !
  9246. ;   4610  1    ! COMPLETION CODES:
  9247. ;   4611  1    !
  9248. ;   4612  1    !    None.
  9249. ;   4613  1    !
  9250. ;   4614  1    ! SIDE EFFECTS:
  9251. ;   4615  1    !
  9252. ;   4616  1    !    None.
  9253. ;   4617  1    !
  9254. ;   4618  1    !--
  9255. ;   4619  1     
  9256. ;   4620  2        BEGIN
  9257. ;   4621  2        TPARSE_ARGS;
  9258. ;   4622  2     
  9259. ;   4623  2        IF .AP [TPA$L_NUMBER] LSS 0 THEN RETURN KER_ILLNPAD ELSE RETURN SS$_NORMAL;
  9260. ;   4624  2     
  9261. ;   4625  1        END;                    ! End of CHECK_NPAD
  9262.  
  9263.  
  9264.  
  9265.  
  9266.  
  9267. ;CHECK_NPAD
  9268. U.31:    .WORD   ^M<>                 ;Save nothing                   4582                    0000   00000
  9269.     TSTL    28(AP)                 ;28(AP)                   4623             1C   AC  D5   00002
  9270.     BGEQ    1$                 ;1$                                               08  18   00005
  9271.     MOVL    #134316090, R0             ;#134316090, R0                                 50 0801803A   8F  D0   00007
  9272.     RET                      ;                                               04   0000E
  9273. 1$:    MOVL    #1, R0                 ;#1, R0                                     50         01  D0   0000F
  9274.     RET                      ;                                               04   00012
  9275.  
  9276. ; Routine Size:  19 bytes,    Routine Base:  $CODE$ + 11DF
  9277.  
  9278.  
  9279. ;   4626  1     %SBTTL 'TPARSE support -- CHECK_PACKET_LEN'
  9280. ;   4627  1    ROUTINE CHECK_PACKET_LEN =
  9281. ;   4628  1     
  9282. ;   4629  1    !++
  9283. ;   4630  1    ! FUNCTIONAL DESCRIPTION:
  9284. ;   4631  1    !
  9285. ;   4632  1    !    This routine will determine if the packet length specified by the
  9286. ;   4633  1    !    user is valid.
  9287. ;   4634  1    !
  9288. ;   4635  1    ! CALLING SEQUENCE:
  9289. ;   4636  1    !
  9290. ;   4637  1    !    Standard TPARSE calling sequence.
  9291. ;   4638  1    !
  9292. ;   4639  1    ! INPUT PARAMETERS:
  9293. ;   4640  1    !
  9294. ;   4641  1    !    None.
  9295. ;   4642  1    !
  9296. ;   4643  1    ! IMPLICIT INPUTS:
  9297. ;   4644  1    !
  9298. ;   4645  1    !    None.
  9299. ;   4646  1    !
  9300. ;   4647  1    ! OUTPUT PARAMETERS:
  9301. ;   4648  1    !
  9302. ;   4649  1    !    None.
  9303. ;   4650  1    !
  9304. ;   4651  1    ! IMPLICIT OUTPUTS:
  9305. ;   4652  1    !
  9306. ;   4653  1    !    None.
  9307. ;   4654  1    !
  9308. ;   4655  1    ! COMPLETION CODES:
  9309. ;   4656  1    !
  9310. ;   4657  1    !    None.
  9311. ;   4658  1    !
  9312. ;   4659  1    ! SIDE EFFECTS:
  9313. ;   4660  1    !
  9314. ;   4661  1    !    None.
  9315. ;   4662  1    !
  9316. ;   4663  1    !--
  9317. ;   4664  1     
  9318. ;   4665  2        BEGIN
  9319. ;   4666  2        TPARSE_ARGS;
  9320. ;   4667  2     
  9321. ;   4668  3        IF .AP [TPA$L_NUMBER] LSS 10 OR .AP [TPA$L_NUMBER] GTR (MAX_MSG - 2)
  9322. ;   4669  2        THEN
  9323. ;   4670  2        RETURN KER_ILLPKTLEN
  9324. ;   4671  2        ELSE
  9325. ;   4672  2        RETURN SS$_NORMAL;
  9326. ;   4673  2     
  9327. ;   4674  1        END;                    ! End of CHECK_PACKET_LEN
  9328.  
  9329.  
  9330.  
  9331.  
  9332.  
  9333. ;CHECK_PACKET_LEN
  9334. U.30:    .WORD   ^M<>                 ;Save nothing                   4627                    0000   00000
  9335.     CMPL    28(AP), #10             ;28(AP), #10                   4668            0A    1C   AC  D1   00002
  9336.     BLSS    1$                 ;1$                                               0A  19   00006
  9337.     CMPL    28(AP), #1000             ;28(AP), #1000                          000003E8   8F    1C   AC  D1   00008
  9338.     BLEQ    2$                 ;2$                                               08  15   00010
  9339. 1$:    MOVL    #134316074, R0             ;#134316074, R0               4670            50 0801802A   8F  D0   00012
  9340.     RET                      ;                                               04   00019
  9341. 2$:    MOVL    #1, R0                 ;#1, R0                   4672            50         01  D0   0001A
  9342.     RET                      ;                                               04   0001D
  9343.  
  9344. ; Routine Size:  30 bytes,    Routine Base:  $CODE$ + 11F2
  9345.  
  9346.  
  9347. ;   4675  1     %SBTTL 'STORE_TEXT'
  9348. ;   4676  1    ROUTINE STORE_TEXT =
  9349. ;   4677  1     
  9350. ;   4678  1    !++
  9351. ;   4679  1    ! FUNCTIONAL DESCRIPTION:
  9352. ;   4680  1    !
  9353. ;   4681  1    !    This routine will store a single character of the file specification
  9354. ;   4682  1    !    that the user gives to the SEND and RECEIVE commands.
  9355. ;   4683  1    !
  9356. ;   4684  1    ! FORMAL PARAMETERS:
  9357. ;   4685  1    !
  9358. ;   4686  1    !    Character that was parsed.
  9359. ;   4687  1    !
  9360. ;   4688  1    ! IMPLICIT INPUTS:
  9361. ;   4689  1    !
  9362. ;   4690  1    !    None.
  9363. ;   4691  1    !
  9364. ;   4692  1    ! IMPLICIT OUTPUTS:
  9365. ;   4693  1    !
  9366. ;   4694  1    !    Character stored into the file specification vector.
  9367. ;   4695  1    !
  9368. ;   4696  1    ! ROUTINE VALUE and
  9369. ;   4697  1    ! COMPLETION CODES:
  9370. ;   4698  1    !
  9371. ;   4699  1    !    None.
  9372. ;   4700  1    !
  9373. ;   4701  1    ! SIDE EFFECTS:
  9374. ;   4702  1    !
  9375. ;   4703  1    !    None.
  9376. ;   4704  1    !
  9377. ;   4705  1    !--
  9378. ;   4706  1     
  9379. ;   4707  2        BEGIN
  9380. ;   4708  2        TPARSE_ARGS;
  9381. ;   4709  2     
  9382. ;   4710  2        IF (TEMP_DESC [DSC$W_LENGTH] = .TEMP_DESC [DSC$W_LENGTH] + 1) LSS TEMP_LENGTH
  9383. ;   4711  2        THEN
  9384. ;   4712  3        BEGIN
  9385. ;   4713  3        CH$WCHAR (.AP [TPA$B_CHAR], CH$PTR (TEMP_NAME, .TEMP_DESC [DSC$W_LENGTH] - 1));
  9386. ;   4714  3        AP [TPA$V_BLANKS] = 1;            ! Blanks are significant
  9387. ;   4715  3        RETURN SS$_NORMAL;
  9388. ;   4716  3        END
  9389. ;   4717  2        ELSE
  9390. ;   4718  2        RETURN KER_LINTOOLNG;
  9391. ;   4719  2     
  9392. ;   4720  1        END;                    ! End of STORE_TEXT
  9393.  
  9394.  
  9395.  
  9396.  
  9397.  
  9398. ;STORE_TEXT
  9399. U.12:    .WORD   ^M<R2>                 ;Save R2                   4676                    0004   00000
  9400.     MOVAB   G^U.63, R2             ;U.63, R2                                     52 00000000'  00  9E   00002
  9401.     MOVZWL  (R2), R0             ;TEMP_DESC, R0                   4710            50         62  3C   00009
  9402.     INCL    R0                 ;R0                                               50  D6   0000C
  9403.     MOVW    R0, (R2)             ;R0, TEMP_DESC                                     62         50  B0   0000E
  9404.     CMPL    R0, #132             ;R0, #132                          00000084   8F         50  D1   00011
  9405.     BGEQ    1$                 ;1$                                               11  18   00018
  9406.     MOVZWL  (R2), R0             ;TEMP_DESC, R0                   4713            50         62  3C   0001A
  9407.     MOVB    24(AP), 7(R2)[R0]         ;24(AP), TEMP_NAME-1[R0]                        07 A240    18   AC  90   0001D
  9408.     BISB2   #1, 4(AP)             ;#1, 4(AP)                   4714       04   AC         01  88   00023
  9409.     MOVL    #1, R0                 ;#1, R0                   4715            50         01  D0   00027
  9410.     RET                      ;                                               04   0002A
  9411. 1$:    MOVL    #134316098, R0             ;#134316098, R0               4718            50 08018042   8F  D0   0002B
  9412.     RET                      ;                                               04   00032
  9413.  
  9414. ; Routine Size:  51 bytes,    Routine Base:  $CODE$ + 1210
  9415.  
  9416.  
  9417. ;   4721  1     %SBTTL 'TPARSE support -- COPY_DESC - Copy string to a descriptor'
  9418. ;   4722  1    ROUTINE COPY_DESC =
  9419. ;   4723  1     
  9420. ;   4724  1    !++
  9421. ;   4725  1    ! FUNCTIONAL DESCRIPTION:
  9422. ;   4726  1    !
  9423. ;   4727  1    ! This routine will copy a string to the descriptor passed in the TPARSE
  9424. ;   4728  1    ! argument.
  9425. ;   4729  1    !
  9426. ;   4730  1    ! CALLING SEQUENCE:
  9427. ;   4731  1    !
  9428. ;   4732  1    !    COPY_FILE();
  9429. ;   4733  1    !
  9430. ;   4734  1    ! INPUT PARAMETERS:
  9431. ;   4735  1    !
  9432. ;   4736  1    !    None.
  9433. ;   4737  1    !
  9434. ;   4738  1    ! IMPLICIT INPUTS:
  9435. ;   4739  1    !
  9436. ;   4740  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9437. ;   4741  1    !    in the descriptor.
  9438. ;   4742  1    !
  9439. ;   4743  1    ! OUTPUT PARAMETERS:
  9440. ;   4744  1    !
  9441. ;   4745  1    !    None.
  9442. ;   4746  1    !
  9443. ;   4747  1    ! IMPLICIT OUTPUTS:
  9444. ;   4748  1    !
  9445. ;   4749  1    !    Descriptor fields set up.
  9446. ;   4750  1    !    TEMP_DESC.
  9447. ;   4751  1    !
  9448. ;   4752  1    ! COMPLETION CODES:
  9449. ;   4753  1    !
  9450. ;   4754  1    !    0 - Failure.
  9451. ;   4755  1    !    1 - Success.
  9452. ;   4756  1    !
  9453. ;   4757  1    ! SIDE EFFECTS:
  9454. ;   4758  1    !
  9455. ;   4759  1    !    None.
  9456. ;   4760  1    !
  9457. ;   4761  1    !--
  9458. ;   4762  1     
  9459. ;   4763  2        BEGIN
  9460. ;   4764  2        TPARSE_ARGS;
  9461. ;   4765  2     
  9462. ;   4766  2        LOCAL
  9463. ;   4767  2        DESC_ADDR;
  9464. ;   4768  2     
  9465. ;   4769  2        DESC_ADDR = .AP [TPA$L_PARAM];
  9466. ;   4770  3        BEGIN
  9467. ;   4771  3     
  9468. ;   4772  3        MAP
  9469. ;   4773  3        DESC_ADDR : REF BLOCK [8, BYTE];
  9470. ;   4774  3     
  9471. ;   4775  3        DESC_ADDR [DSC$W_LENGTH] = .TEMP_DESC [DSC$W_LENGTH];
  9472. ;   4776  3        CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
  9473. ;   4777  3        CH$PTR (.DESC_ADDR [DSC$A_POINTER]));
  9474. ;   4778  2        END;
  9475. ;   4779  2        RETURN SS$_NORMAL;
  9476. ;   4780  1        END;                    ! End of COPY_FILE
  9477.  
  9478.  
  9479.  
  9480.  
  9481.  
  9482. ;COPY_DESC
  9483. U.14:    .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               4722                    003C   00000
  9484.     MOVL    32(AP), R0             ;32(AP), DESC_ADDR               4769            50    20   AC  D0   00002
  9485.     MOVZWL  G^U.63, R2             ;U.63, R2                   4775            52 00000000'  00  3C   00006
  9486.     MOVW    R2, (R0)             ;R2, (DESC_ADDR)                                 60         52  B0   0000D
  9487.     MOVAB   1(R2), R1             ;1(R2), R1                   4776            51    01   A2  9E   00010
  9488.     MOVC5   R2, G^U.64, #0, R1, @4(R0)     ;R2, U.64, #0, R1, @4(DESC_ADDR)      4777 00000000'  00         52  2C   00014
  9489.                          ;                                   51         00       0001B
  9490.                          ;                                    04   B0       0001D
  9491.     MOVL    #1, R0                 ;#1, R0                   4779            50         01  D0   0001F
  9492.     RET                      ;                                               04   00022
  9493.  
  9494. ; Routine Size:  35 bytes,    Routine Base:  $CODE$ + 1243
  9495.  
  9496.  
  9497. ;   4781  1     %SBTTL 'TPARSE support -- COPY_ALT_FILE - Copy file specification'
  9498. ;   4782  1    ROUTINE COPY_ALT_FILE =
  9499. ;   4783  1     
  9500. ;   4784  1    !++
  9501. ;   4785  1    ! FUNCTIONAL DESCRIPTION:
  9502. ;   4786  1    !
  9503. ;   4787  1    !    This routine will copy the file name from the temporary
  9504. ;   4788  1    !    descriptor to the descriptor that is used for the file name.
  9505. ;   4789  1    !    (ALT_FILE_NAME).
  9506. ;   4790  1    !    This is for use by the RECEIVE command so that the user may
  9507. ;   4791  1    !    specify an alternate file name for the received file.
  9508. ;   4792  1    !
  9509. ;   4793  1    ! CALLING SEQUENCE:
  9510. ;   4794  1    !
  9511. ;   4795  1    !    COPY_ALT_FILE();
  9512. ;   4796  1    !
  9513. ;   4797  1    ! INPUT PARAMETERS:
  9514. ;   4798  1    !
  9515. ;   4799  1    !    None.
  9516. ;   4800  1    !
  9517. ;   4801  1    ! IMPLICIT INPUTS:
  9518. ;   4802  1    !
  9519. ;   4803  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9520. ;   4804  1    !    in the descriptor.
  9521. ;   4805  1    !
  9522. ;   4806  1    ! OUTPUT PARAMETERS:
  9523. ;   4807  1    !
  9524. ;   4808  1    !    None.
  9525. ;   4809  1    !
  9526. ;   4810  1    ! IMPLICIT OUTPUTS:
  9527. ;   4811  1    !
  9528. ;   4812  1    !    ALT_FILE_NAME set up with what was in TEMP_NAME and
  9529. ;   4813  1    !    TEMP_DESC.
  9530. ;   4814  1    !
  9531. ;   4815  1    ! COMPLETION CODES:
  9532. ;   4816  1    !
  9533. ;   4817  1    !    0 - Failure.
  9534. ;   4818  1    !    1 - Success.
  9535. ;   4819  1    !
  9536. ;   4820  1    ! SIDE EFFECTS:
  9537. ;   4821  1    !
  9538. ;   4822  1    !    None.
  9539. ;   4823  1    !
  9540. ;   4824  1    !--
  9541. ;   4825  1     
  9542. ;   4826  2        BEGIN
  9543. ;   4827  2        ALT_FILE_SIZE = .TEMP_DESC [DSC$W_LENGTH];
  9544. ;   4828  2        CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
  9545. ;   4829  2        CH$PTR (ALT_FILE_NAME));
  9546. ;   4830  2        RETURN SS$_NORMAL;
  9547. ;   4831  1        END;                    ! End of COPY_ALT_FILE
  9548.  
  9549.  
  9550.  
  9551.  
  9552.  
  9553. ;COPY_ALT_FILE
  9554. U.15:    .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               4782                    003C   00000
  9555.     MOVZWL  G^U.63, R1             ;U.63, R1                   4827            51 00000000'  00  3C   00002
  9556.     MOVL    R1, G^ALT_FILE_SIZE         ;R1, ALT_FILE_SIZE                      00000000'  00         51  D0   00009
  9557.     MOVAB   1(R1), R0             ;1(R1), R0                   4828            50    01   A1  9E   00010
  9558.     MOVC5   R1, G^U.64, #0, R0, -         ;R1, U.64, #0, R0, ALT_FILE_NAME      4829 00000000'  00         51  2C   00014
  9559.         G^ALT_FILE_NAME             ;                                   50         00       0001B
  9560.                          ;                                  00000000'  00       0001D
  9561.     MOVL    #1, R0                 ;#1, R0                   4830            50         01  D0   00022
  9562.     RET                      ;                                               04   00025
  9563.  
  9564. ; Routine Size:  38 bytes,    Routine Base:  $CODE$ + 1266
  9565.  
  9566.  
  9567. ;   4832  1     %SBTTL 'TPARSE support -- COPY_GEN_1DATA - Copy generic command argument'
  9568. ;   4833  1    ROUTINE COPY_GEN_1DATA =
  9569. ;   4834  1     
  9570. ;   4835  1    !++
  9571. ;   4836  1    ! FUNCTIONAL DESCRIPTION:
  9572. ;   4837  1    !
  9573. ;   4838  1    !    This routine will copy the generic command argument from the
  9574. ;   4839  1    !    temporary descriptor to the global storage for the argument
  9575. ;   4840  1    !    (GEN_1DATA).
  9576. ;   4841  1    !
  9577. ;   4842  1    ! CALLING SEQUENCE:
  9578. ;   4843  1    !
  9579. ;   4844  1    !    COPY_GEN_1DATA();
  9580. ;   4845  1    !
  9581. ;   4846  1    ! INPUT PARAMETERS:
  9582. ;   4847  1    !
  9583. ;   4848  1    !    None.
  9584. ;   4849  1    !
  9585. ;   4850  1    ! IMPLICIT INPUTS:
  9586. ;   4851  1    !
  9587. ;   4852  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9588. ;   4853  1    !    in the descriptor.
  9589. ;   4854  1    !
  9590. ;   4855  1    ! OUTPUT PARAMETERS:
  9591. ;   4856  1    !
  9592. ;   4857  1    !    None.
  9593. ;   4858  1    !
  9594. ;   4859  1    ! IMPLICIT OUTPUTS:
  9595. ;   4860  1    !
  9596. ;   4861  1    !    GEN_1DATA and GEN_1SIZE set up with what was in TEMP_NAME and
  9597. ;   4862  1    !    TEMP_DESC.
  9598. ;   4863  1    !
  9599. ;   4864  1    ! COMPLETION CODES:
  9600. ;   4865  1    !
  9601. ;   4866  1    !    0 - Failure.
  9602. ;   4867  1    !    1 - Success.
  9603. ;   4868  1    !
  9604. ;   4869  1    ! SIDE EFFECTS:
  9605. ;   4870  1    !
  9606. ;   4871  1    !    None.
  9607. ;   4872  1    !
  9608. ;   4873  1    !--
  9609. ;   4874  1     
  9610. ;   4875  2        BEGIN
  9611. ;   4876  2        GEN_1SIZE = .TEMP_DESC [DSC$W_LENGTH];
  9612. ;   4877  2        CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
  9613. ;   4878  2        CH$PTR (GEN_1DATA));
  9614. ;   4879  2        RETURN SS$_NORMAL;
  9615. ;   4880  1        END;                    ! End of COPY_GEN_1DATA
  9616.  
  9617.  
  9618.  
  9619.  
  9620.  
  9621. ;COPY_GEN_1DATA
  9622. U.16:    .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               4833                    003C   00000
  9623.     MOVZWL  G^U.63, R1             ;U.63, R1                   4876            51 00000000'  00  3C   00002
  9624.     MOVL    R1, G^GEN_1SIZE             ;R1, GEN_1SIZE                          00000000G  00         51  D0   00009
  9625.     MOVAB   1(R1), R0             ;1(R1), R0                   4877            50    01   A1  9E   00010
  9626.     MOVC5   R1, G^U.64, #0, R0, G^GEN_1DATA  ;R1, U.64, #0, R0, GEN_1DATA           4878 00000000'  00         51  2C   00014
  9627.                          ;                                   50         00       0001B
  9628.                          ;                                  00000000G  00       0001D
  9629.     MOVL    #1, R0                 ;#1, R0                   4879            50         01  D0   00022
  9630.     RET                      ;                                               04   00025
  9631.  
  9632. ; Routine Size:  38 bytes,    Routine Base:  $CODE$ + 128C
  9633.  
  9634.  
  9635. ;   4881  1     %SBTTL 'TPARSE support -- COPY_GEN_2DATA - Copy generic command argument'
  9636. ;   4882  1    ROUTINE COPY_GEN_2DATA =
  9637. ;   4883  1     
  9638. ;   4884  1    !++
  9639. ;   4885  1    ! FUNCTIONAL DESCRIPTION:
  9640. ;   4886  1    !
  9641. ;   4887  1    !    This routine will copy the generic command argument from the
  9642. ;   4888  1    !    temporary descriptor to the global storage for the argument
  9643. ;   4889  1    !    (GEN_2DATA).
  9644. ;   4890  1    !
  9645. ;   4891  1    ! CALLING SEQUENCE:
  9646. ;   4892  1    !
  9647. ;   4893  1    !    COPY_GEN_2DATA();
  9648. ;   4894  1    !
  9649. ;   4895  1    ! INPUT PARAMETERS:
  9650. ;   4896  1    !
  9651. ;   4897  1    !    None.
  9652. ;   4898  1    !
  9653. ;   4899  1    ! IMPLICIT INPUTS:
  9654. ;   4900  1    !
  9655. ;   4901  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9656. ;   4902  1    !    in the descriptor.
  9657. ;   4903  1    !
  9658. ;   4904  1    ! OUTPUT PARAMETERS:
  9659. ;   4905  1    !
  9660. ;   4906  1    !    None.
  9661. ;   4907  1    !
  9662. ;   4908  1    ! IMPLICIT OUTPUTS:
  9663. ;   4909  1    !
  9664. ;   4910  1    !    GEN_2DATA and GEN_2SIZE set up with what was in TEMP_NAME and
  9665. ;   4911  1    !    TEMP_DESC.
  9666. ;   4912  1    !
  9667. ;   4913  1    ! COMPLETION CODES:
  9668. ;   4914  1    !
  9669. ;   4915  1    !    0 - Failure.
  9670. ;   4916  1    !    1 - Success.
  9671. ;   4917  1    !
  9672. ;   4918  1    ! SIDE EFFECTS:
  9673. ;   4919  1    !
  9674. ;   4920  1    !    None.
  9675. ;   4921  1    !
  9676. ;   4922  1    !--
  9677. ;   4923  1     
  9678. ;   4924  2        BEGIN
  9679. ;   4925  2        GEN_2SIZE = .TEMP_DESC [DSC$W_LENGTH];
  9680. ;   4926  2        CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
  9681. ;   4927  2        CH$PTR (GEN_2DATA));
  9682. ;   4928  2        RETURN SS$_NORMAL;
  9683. ;   4929  1        END;                    ! End of COPY_GEN_2DATA
  9684.  
  9685.  
  9686.  
  9687.  
  9688.  
  9689. ;COPY_GEN_2DATA
  9690. U.1404: .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               4882                    003C   00000
  9691.     MOVZWL  G^U.63, R1             ;U.63, R1                   4925            51 00000000'  00  3C   00002
  9692.     MOVL    R1, G^GEN_2SIZE             ;R1, GEN_2SIZE                          00000000G  00         51  D0   00009
  9693.     MOVAB   1(R1), R0             ;1(R1), R0                   4926            50    01   A1  9E   00010
  9694.     MOVC5   R1, G^U.64, #0, R0, G^GEN_2DATA  ;R1, U.64, #0, R0, GEN_2DATA           4927 00000000'  00         51  2C   00014
  9695.                          ;                                   50         00       0001B
  9696.                          ;                                  00000000G  00       0001D
  9697.     MOVL    #1, R0                 ;#1, R0                   4928            50         01  D0   00022
  9698.     RET                      ;                                               04   00025
  9699.  
  9700. ; Routine Size:  38 bytes,    Routine Base:  $CODE$ + 12B2
  9701.  
  9702.  
  9703. ;   4930  1     %SBTTL 'TPARSE support -- COPY_GEN_3DATA - Copy generic command argument'
  9704. ;   4931  1    ROUTINE COPY_GEN_3DATA =
  9705. ;   4932  1     
  9706. ;   4933  1    !++
  9707. ;   4934  1    ! FUNCTIONAL DESCRIPTION:
  9708. ;   4935  1    !
  9709. ;   4936  1    !    This routine will copy the generic command argument from the
  9710. ;   4937  1    !    temporary descriptor to the global storage for the argument
  9711. ;   4938  1    !    (GEN_3DATA).
  9712. ;   4939  1    !
  9713. ;   4940  1    ! CALLING SEQUENCE:
  9714. ;   4941  1    !
  9715. ;   4942  1    !    COPY_GEN_3DATA();
  9716. ;   4943  1    !
  9717. ;   4944  1    ! INPUT PARAMETERS:
  9718. ;   4945  1    !
  9719. ;   4946  1    !    None.
  9720. ;   4947  1    !
  9721. ;   4948  1    ! IMPLICIT INPUTS:
  9722. ;   4949  1    !
  9723. ;   4950  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9724. ;   4951  1    !    in the descriptor.
  9725. ;   4952  1    !
  9726. ;   4953  1    ! OUTPUT PARAMETERS:
  9727. ;   4954  1    !
  9728. ;   4955  1    !    None.
  9729. ;   4956  1    !
  9730. ;   4957  1    ! IMPLICIT OUTPUTS:
  9731. ;   4958  1    !
  9732. ;   4959  1    !    GEN_3DATA and GEN_3SIZE set up with what was in TEMP_NAME and
  9733. ;   4960  1    !    TEMP_DESC.
  9734. ;   4961  1    !
  9735. ;   4962  1    ! COMPLETION CODES:
  9736. ;   4963  1    !
  9737. ;   4964  1    !    0 - Failure.
  9738. ;   4965  1    !    1 - Success.
  9739. ;   4966  1    !
  9740. ;   4967  1    ! SIDE EFFECTS:
  9741. ;   4968  1    !
  9742. ;   4969  1    !    None.
  9743. ;   4970  1    !
  9744. ;   4971  1    !--
  9745. ;   4972  1     
  9746. ;   4973  2        BEGIN
  9747. ;   4974  2        GEN_3SIZE = .TEMP_DESC [DSC$W_LENGTH];
  9748. ;   4975  2        CH$COPY (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (TEMP_NAME), 0, .TEMP_DESC [DSC$W_LENGTH] + 1,
  9749. ;   4976  2        CH$PTR (GEN_3DATA));
  9750. ;   4977  2        RETURN SS$_NORMAL;
  9751. ;   4978  1        END;                    ! End of COPY_GEN_3DATA
  9752.  
  9753.  
  9754.  
  9755.  
  9756.  
  9757. ;COPY_GEN_3DATA
  9758. U.1405: .WORD   ^M<R2,R3,R4,R5>             ;Save R2,R3,R4,R5               4931                    003C   00000
  9759.     MOVZWL  G^U.63, R1             ;U.63, R1                   4974            51 00000000'  00  3C   00002
  9760.     MOVL    R1, G^GEN_3SIZE             ;R1, GEN_3SIZE                          00000000G  00         51  D0   00009
  9761.     MOVAB   1(R1), R0             ;1(R1), R0                   4975            50    01   A1  9E   00010
  9762.     MOVC5   R1, G^U.64, #0, R0, G^GEN_3DATA  ;R1, U.64, #0, R0, GEN_3DATA           4976 00000000'  00         51  2C   00014
  9763.                          ;                                   50         00       0001B
  9764.                          ;                                  00000000G  00       0001D
  9765.     MOVL    #1, R0                 ;#1, R0                   4977            50         01  D0   00022
  9766.     RET                      ;                                               04   00025
  9767.  
  9768. ; Routine Size:  38 bytes,    Routine Base:  $CODE$ + 12D8
  9769.  
  9770.  
  9771. ;   4979  1     %SBTTL 'COPY_TERM_NAME'
  9772. ;   4980  1    ROUTINE COPY_TERM_NAME =
  9773. ;   4981  1     
  9774. ;   4982  1    !++
  9775. ;   4983  1    ! FUNCTIONAL DESCRIPTION:
  9776. ;   4984  1    !
  9777. ;   4985  1    !    This routine will copy the device name from the temporary
  9778. ;   4986  1    !    descriptor to the descriptor that is used for the terminal name.
  9779. ;   4987  1    !    (TERM_NAME and TERM_DESC).
  9780. ;   4988  1    !    It will call KERTRM to validate the name as a usuable terminal.
  9781. ;   4989  1    !
  9782. ;   4990  1    ! CALLING SEQUENCE:
  9783. ;   4991  1    !
  9784. ;   4992  1    !    COPY_TERM_NAME();
  9785. ;   4993  1    !
  9786. ;   4994  1    ! INPUT PARAMETERS:
  9787. ;   4995  1    !
  9788. ;   4996  1    !    None.
  9789. ;   4997  1    !
  9790. ;   4998  1    ! IMPLICIT INPUTS:
  9791. ;   4999  1    !
  9792. ;   5000  1    !    TEMP_DESC and TEMP_NAME set up with the device name and length
  9793. ;   5001  1    !    in the descriptor.
  9794. ;   5002  1    !
  9795. ;   5003  1    ! OUTPUT PARAMETERS:
  9796. ;   5004  1    !
  9797. ;   5005  1    !    None.
  9798. ;   5006  1    !
  9799. ;   5007  1    ! IMPLICIT OUTPUTS:
  9800. ;   5008  1    !
  9801. ;   5009  1    !    TERM_NAME and TERM_DESC set up with what was in TEMP_NAME and
  9802. ;   5010  1    !    TEMP_DESC.
  9803. ;   5011  1    !
  9804. ;   5012  1    ! COMPLETION CODES:
  9805. ;   5013  1    !
  9806. ;   5014  1    !    0 - Failure.
  9807. ;   5015  1    !    1 - Success.
  9808. ;   5016  1    !
  9809. ;   5017  1    ! SIDE EFFECTS:
  9810. ;   5018  1    !
  9811. ;   5019  1    !    None.
  9812. ;   5020  1    !
  9813. ;   5021  1    !--
  9814. ;   5022  1     
  9815. ;   5023  2        BEGIN
  9816. ;   5024  2     
  9817. ;   5025  2        EXTERNAL
  9818. ;   5026  2        JOB_TERM_DESC : BLOCK [8, BYTE];    ! Descriptor for jobs contolling terminal
  9819. ;   5027  2     
  9820. ;   5028  2        IF NOT CH$FAIL (CH$FIND_NOT_CH (.TEMP_DESC [DSC$W_LENGTH], CH$PTR (.TEMP_DESC [DSC$A_POINTER]), %C' '))
  9821. ;   5029  2        THEN
  9822. ;   5030  2        RETURN SET_TRANS_TERM (TEMP_DESC)
  9823. ;   5031  2        ELSE
  9824. ;   5032  2     
  9825. ;   5033  2        IF NOT SET_TRANS_TERM (%ASCID'KER$COMM')
  9826. ;   5034  2        THEN
  9827. ;   5035  2     
  9828. ;   5036  2            IF NOT SET_TRANS_TERM (%ASCID'SYS$INPUT')
  9829. ;   5037  2            THEN
  9830. ;   5038  2     
  9831. ;   5039  2            IF NOT SET_TRANS_TERM (%ASCID'SYS$OUTPUT')
  9832. ;   5040  2            THEN
  9833. ;   5041  2     
  9834. ;   5042  2                IF NOT SET_TRANS_TERM (%ASCID'SYS$COMMAND') THEN RETURN SET_TRANS_TERM (JOB_TERM_DESC);
  9835. ;   5043  2     
  9836. ;   5044  2        RETURN SS$_NORMAL;
  9837. ;   5045  1        END;                    ! End of COPY_TERM_NAME
  9838.  
  9839.  
  9840.  
  9841.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  9842.  
  9843. P.AGQ:    .ASCII  \KER$COMM\             ;                                4D  4D  4F  43  24  52  45  4B  009EC
  9844. P.AGP:    .LONG   17694728             ;                                              010E0008  009F4
  9845.     .ADDRESS P.AGQ                 ;                                              00000000' 009F8
  9846. P.AGS:    .ASCII  \SYS$INPUT\<0><0><0>         ;                                55  50  4E  49  24  53  59  53  009FC
  9847.                          ;                                      00  00  00  54  00A04
  9848. P.AGR:    .LONG   17694729             ;                                              010E0009  00A08
  9849.     .ADDRESS P.AGS                 ;                                              00000000' 00A0C
  9850. P.AGU:    .ASCII  \SYS$OUTPUT\<0><0>         ;                                50  54  55  4F  24  53  59  53  00A10
  9851.                          ;                                      00  00  54  55  00A18
  9852. P.AGT:    .LONG   17694730             ;                                              010E000A  00A1C
  9853.     .ADDRESS P.AGU                 ;                                              00000000' 00A20
  9854. P.AGW:    .ASCII  \SYS$COMMAND\<0>         ;                                4D  4D  4F  43  24  53  59  53  00A24
  9855.                          ;                                      00  44  4E  41  00A2C
  9856. P.AGV:    .LONG   17694731             ;                                              010E000B  00A30
  9857.     .ADDRESS P.AGW                 ;                                              00000000' 00A34
  9858.  
  9859.     .EXTRN  JOB_TERM_DESC
  9860.  
  9861.     .PSECT  $CODE$,NOWRT,2
  9862.  
  9863. ;COPY_TERM_NAME
  9864. U.13:    .WORD   ^M<R2,R3,R4>             ;Save R2,R3,R4                   4980                    001C   00000
  9865.     MOVAB   G^U.63, R4             ;U.63, R4                                     54 00000000'  00  9E   00002
  9866.     MOVAB   G^P.AGP, R3             ;P.AGP, R3                                     53 00000000'  00  9E   00009
  9867.     MOVAB   G^SET_TRANS_TERM, R2         ;SET_TRANS_TERM, R2                                 52 00000000G  00  9E   00010
  9868.     MOVL    4(R4), R0             ;TEMP_DESC+4, R0               5028            50    04   A4  D0   00017
  9869.     SKPC    #32, (R4), (R0)             ;#32, TEMP_DESC, (R0)                                 64         20  3B   0001B
  9870.                          ;                                         60       0001E
  9871.     BNEQ    1$                 ;1$                                               02  12   0001F
  9872.     CLRL    R1                 ;R1                                               51  D4   00021
  9873. 1$:    TSTL    R1                 ;R1                                               51  D5   00023
  9874.     BEQL    2$                 ;2$                                               04  13   00025
  9875.     PUSHL   R4                 ;R4                       5030                  54  DD   00027
  9876.     BRB     3$                 ;3$                                               29  11   00029
  9877. 2$:    PUSHL   R3                 ;R3                       5033                  53  DD   0002B
  9878.     CALLS   #1, (R2)             ;#1, SET_TRANS_TERM                                 62         01  FB   0002D
  9879.     BLBS    R0, 4$                 ;R0, 4$                                     25         50  E8   00030
  9880.     PUSHAB  20(R3)                 ;P.AGR                       5036             14   A3  9F   00033
  9881.     CALLS   #1, (R2)             ;#1, SET_TRANS_TERM                                 62         01  FB   00036
  9882.     BLBS    R0, 4$                 ;R0, 4$                                     1C         50  E8   00039
  9883.     PUSHAB  40(R3)                 ;P.AGT                       5039             28   A3  9F   0003C
  9884.     CALLS   #1, (R2)             ;#1, SET_TRANS_TERM                                 62         01  FB   0003F
  9885.     BLBS    R0, 4$                 ;R0, 4$                                     13         50  E8   00042
  9886.     PUSHAB  60(R3)                 ;P.AGV                       5042             3C   A3  9F   00045
  9887.     CALLS   #1, (R2)             ;#1, SET_TRANS_TERM                                 62         01  FB   00048
  9888.     BLBS    R0, 4$                 ;R0, 4$                                     0A         50  E8   0004B
  9889.     PUSHAB  G^JOB_TERM_DESC             ;JOB_TERM_DESC                                    00000000G  00  9F   0004E
  9890. 3$:    CALLS   #1, (R2)             ;#1, SET_TRANS_TERM                                 62         01  FB   00054
  9891.     RET                      ;                                               04   00057
  9892. 4$:    MOVL    #1, R0                 ;#1, R0                   5044            50         01  D0   00058
  9893.     RET                      ;                                               04   0005B
  9894.  
  9895. ; Routine Size:  92 bytes,    Routine Base:  $CODE$ + 12FE
  9896.  
  9897.  
  9898. ;   5046  1     %SBTTL 'KEY_ERROR - Handle keyword errors'
  9899. ;   5047  1    ROUTINE KEY_ERROR =
  9900. ;   5048  1     
  9901. ;   5049  1    !++
  9902. ;   5050  1    ! FUNCTIONAL DESCRIPTION:
  9903. ;   5051  1    !
  9904. ;   5052  1    ! This routine is called from the command parser (LIB$TPARSE) when a keyword
  9905. ;   5053  1    ! does not match.  It will just return the correct error code.
  9906. ;   5054  1    !
  9907. ;   5055  1    ! CALLING SEQUENCE:
  9908. ;   5056  1    !
  9909. ;   5057  1    !    STATUS = KEY_ERROR ();
  9910. ;   5058  1    !
  9911. ;   5059  1    ! INPUT PARAMETERS:
  9912. ;   5060  1    !
  9913. ;   5061  1    !    None.
  9914. ;   5062  1    !
  9915. ;   5063  1    ! IMPLICIT INPUTS:
  9916. ;   5064  1    !
  9917. ;   5065  1    !    None.
  9918. ;   5066  1    !
  9919. ;   5067  1    ! OUPTUT PARAMETERS:
  9920. ;   5068  1    !
  9921. ;   5069  1    !    None.
  9922. ;   5070  1    !
  9923. ;   5071  1    ! IMPLICIT OUTPUTS:
  9924. ;   5072  1    !
  9925. ;   5073  1    !    None.
  9926. ;   5074  1    !
  9927. ;   5075  1    ! COMPLETION CODES:
  9928. ;   5076  1    !
  9929. ;   5077  1    !    None.
  9930. ;   5078  1    !
  9931. ;   5079  1    ! SIDE EFFECTS:
  9932. ;   5080  1    !
  9933. ;   5081  1    !    None.
  9934. ;   5082  1    !
  9935. ;   5083  1    !--
  9936. ;   5084  1     
  9937. ;   5085  2        BEGIN
  9938. ;   5086  2        TPARSE_ARGS;
  9939. ;   5087  2     
  9940. ;   5088  2        IF .AP [TPA$V_AMBIG] THEN RETURN KER_AMBIGKEY ELSE RETURN KER_UNKNOWKEY;
  9941. ;   5089  2     
  9942. ;   5090  1        END;                    ! End of KEY_ERROR
  9943.  
  9944.  
  9945.  
  9946.  
  9947.  
  9948. ;KEY_ERROR
  9949. U.36:    .WORD   ^M<>                 ;Save nothing                   5047                    0000   00000
  9950.     BLBC    6(AP), 1$             ;6(AP), 1$                   5088            08    06   AC  E9   00002
  9951.     MOVL    #134316282, R0             ;#134316282, R0                                 50 080180FA   8F  D0   00006
  9952.     RET                      ;                                               04   0000D
  9953. 1$:    MOVL    #134316290, R0             ;#134316290, R0                                 50 08018102   8F  D0   0000E
  9954.     RET                      ;                                               04   00015
  9955.  
  9956. ; Routine Size:  22 bytes,    Routine Base:  $CODE$ + 135A
  9957.  
  9958.  
  9959. ;   5091  1     %SBTTL 'XFR_STATUS - Return the transfer status'
  9960. ;   5092  1     
  9961. ;   5093  1    GLOBAL ROUTINE XFR_STATUS (TYPE, SUB_TYPE) : NOVALUE =
  9962. ;   5094  1     
  9963. ;   5095  1    !++
  9964. ;   5096  1    ! FUNCTIONAL DESCRIPTION:
  9965. ;   5097  1    !
  9966. ;   5098  1    !    This routine is called after either a packet has been received
  9967. ;   5099  1    !    correctly at the receive level, a packet has been sent, or
  9968. ;   5100  1    !    either a NAK has been sent or received.
  9969. ;   5101  1    !
  9970. ;   5102  1    ! CALLING SEQUENCE:
  9971. ;   5103  1    !
  9972. ;   5104  1    !    XFR_STATUS (Type);
  9973. ;   5105  1    !
  9974. ;   5106  1    ! INPUT PARAMETERS:
  9975. ;   5107  1    !
  9976. ;   5108  1    !    Type - ASCII Characters describing the type of transfer
  9977. ;   5109  1    !
  9978. ;   5110  1    ! IMPLICIT INPUTS:
  9979. ;   5111  1    !
  9980. ;   5112  1    !    None.
  9981. ;   5113  1    !
  9982. ;   5114  1    ! OUPTUT PARAMETERS:
  9983. ;   5115  1    !
  9984. ;   5116  1    !    None.
  9985. ;   5117  1    !
  9986. ;   5118  1    ! IMPLICIT OUTPUTS:
  9987. ;   5119  1    !
  9988. ;   5120  1    !    None.
  9989. ;   5121  1    !
  9990. ;   5122  1    ! COMPLETION CODES:
  9991. ;   5123  1    !
  9992. ;   5124  1    !    None.
  9993. ;   5125  1    !
  9994. ;   5126  1    ! SIDE EFFECTS:
  9995. ;   5127  1    !
  9996. ;   5128  1    !    None.
  9997. ;   5129  1    !
  9998. ;   5130  1    !--
  9999. ;   5131  1     
  10000. ;   5132  2        BEGIN
  10001. ;   5133  2     
  10002. ;   5134  2        EXTERNAL ROUTINE
  10003. ;   5135  2        LOG_FAOL;
  10004. ;   5136  2     
  10005. ;   5137  2    !
  10006. ;   5138  2    ! If we have a journal file (transaction log), then say what we are doing.
  10007. ;   5139  2    !
  10008. ;   5140  2     
  10009. ;   5141  2        IF .TRANSACTION_OPEN AND .TYPE EQL %C'F'
  10010. ;   5142  2        THEN
  10011. ;   5143  3        BEGIN
  10012. ;   5144  3        FILE_DESC [DSC$W_LENGTH] = .FILE_SIZE;    ! Make sure size is right
  10013. ;   5145  3     
  10014. ;   5146  3        SELECTONE .SUB_TYPE OF
  10015. ;   5147  3            SET
  10016. ;   5148  3     
  10017. ;   5149  3            [%C'S'] :
  10018. ;   5150  3            LOG_FAOL (%ASCID'!%T!_Sending file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
  10019. ;   5151  3     
  10020. ;   5152  3            [%C'R'] :
  10021. ;   5153  3            LOG_FAOL (%ASCID'!%T!_Receiving file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
  10022. ;   5154  3     
  10023. ;   5155  3            [%C'C'] :
  10024. ;   5156  3            LOG_FAOL (%ASCID'!%T!_Closing file !AS!/', UPLIT (0, FILE_DESC), TRANSACTION_RAB);
  10025. ;   5157  3     
  10026. ;   5158  3            [%C'X'] :
  10027. ;   5159  3            LOG_FAOL (%ASCID'!%T!_Aborting file !AS by user request!/', UPLIT (0, FILE_DESC),
  10028. ;   5160  3                TRANSACTION_RAB);
  10029. ;   5161  3     
  10030. ;   5162  3            [%C'Z'] :
  10031. ;   5163  3            LOG_FAOL (%ASCID'!%T!_Aborting file group !AS by user request!/', UPLIT (0, FILE_DESC),
  10032. ;   5164  3                TRANSACTION_RAB);
  10033. ;   5165  3     
  10034. ;   5166  3            [%C'D'] :
  10035. ;   5167  3            LOG_FAOL (%ASCID'!%T!_Aborting file !AS, partial file saved!/', UPLIT (0, FILE_DESC),
  10036. ;   5168  3                TRANSACTION_RAB);
  10037. ;   5169  3     
  10038. ;   5170  3            [%C'A'] :
  10039. ;   5171  3            LOG_FAOL (%ASCID'!%T!_Aborting file !AS due to protocol error!/', UPLIT (0, FILE_DESC),
  10040. ;   5172  3                TRANSACTION_RAB);
  10041. ;   5173  3            TES;
  10042. ;   5174  3     
  10043. ;   5175  2        END;
  10044. ;   5176  2     
  10045. ;   5177  2        IF .TY_PKT
  10046. ;   5178  2        THEN
  10047. ;   5179  3        BEGIN
  10048. ;   5180  3     
  10049. ;   5181  3        SELECTONE .TYPE OF
  10050. ;   5182  3            SET
  10051. ;   5183  3     
  10052. ;   5184  3            [%ASCII'R'] :
  10053. ;   5185  4            BEGIN
  10054. ;   5186  4     
  10055. ;   5187  4            IF .SUB_TYPE EQL %C'P'
  10056. ;   5188  4            THEN
  10057. ;   5189  5                BEGIN
  10058. ;   5190  5                TT_TEXT (UPLIT (%ASCIZ' R'));
  10059. ;   5191  5                TT_NUMBER (.RMSG_COUNT);
  10060. ;   5192  4                END;
  10061. ;   5193  4     
  10062. ;   5194  4            IF .SUB_TYPE EQL %C'N'
  10063. ;   5195  4            THEN
  10064. ;   5196  5                BEGIN
  10065. ;   5197  5                TT_TEXT (UPLIT (%ASCIZ' R%'));
  10066. ;   5198  5                TT_NUMBER (.RMSG_NAKS);
  10067. ;   5199  4                END;
  10068. ;   5200  4     
  10069. ;   5201  3            END;
  10070. ;   5202  3     
  10071. ;   5203  3            [%ASCII'S'] :
  10072. ;   5204  4            BEGIN
  10073. ;   5205  4     
  10074. ;   5206  4            IF .SUB_TYPE EQL %C'P'
  10075. ;   5207  4            THEN
  10076. ;   5208  5                BEGIN
  10077. ;   5209  5                TT_TEXT (UPLIT (%ASCIZ' S'));
  10078. ;   5210  5                TT_NUMBER (.SMSG_COUNT);
  10079. ;   5211  4                END;
  10080. ;   5212  4     
  10081. ;   5213  4            IF .SUB_TYPE EQL %C'N'
  10082. ;   5214  4            THEN
  10083. ;   5215  5                BEGIN
  10084. ;   5216  5                TT_TEXT (UPLIT (%ASCIZ' S%'));
  10085. ;   5217  5                TT_NUMBER (.SMSG_NAKS);
  10086. ;   5218  4                END;
  10087. ;   5219  4     
  10088. ;   5220  3            END;
  10089. ;   5221  3            TES;
  10090. ;   5222  3     
  10091. ;   5223  3        TT_OUTPUT ();
  10092. ;   5224  2        END;
  10093. ;   5225  2     
  10094. ;   5226  1        END;                    ! End of XFR_STATUS
  10095.  
  10096.  
  10097.  
  10098.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  10099.  
  10100. P.AGY:    .ASCII  \!%T!_Sending file !AS!/\<0>     ;                                6E  65  53  5F  21  54  25  21  00A38
  10101.                          ;                          6C  69  66  20  67  6E  69  64  00A40
  10102.                          ;                          00  2F  21  53  41  21  20  65  00A48
  10103. P.AGX:    .LONG   17694743             ;                                              010E0017  00A50
  10104.     .ADDRESS P.AGY                 ;                                              00000000' 00A54
  10105. P.AGZ:    .LONG   0                 ;                                              00000000  00A58
  10106.     .ADDRESS FILE_DESC             ;                                              00000000G 00A5C
  10107. P.AHB:    .ASCII  \!%T!_Receiving file !AS!/\<0><0><0>
  10108.                          ;                                63  65  52  5F  21  54  25  21  00A60
  10109.                          ;                          66  20  67  6E  69  76  69  65  00A68
  10110.                          ;                          21  53  41  21  20  65  6C  69  00A70
  10111.                          ;                                      00  00  00  2F  00A78
  10112. P.AHA:    .LONG   17694745             ;                                              010E0019  00A7C
  10113.     .ADDRESS P.AHB                 ;                                              00000000' 00A80
  10114. P.AHC:    .LONG   0                 ;                                              00000000  00A84
  10115.     .ADDRESS FILE_DESC             ;                                              00000000G 00A88
  10116. P.AHE:    .ASCII  \!%T!_Closing file !AS!/\<0>     ;                                6F  6C  43  5F  21  54  25  21  00A8C
  10117.                          ;                          6C  69  66  20  67  6E  69  73  00A94
  10118.                          ;                          00  2F  21  53  41  21  20  65  00A9C
  10119. P.AHD:    .LONG   17694743             ;                                              010E0017  00AA4
  10120.     .ADDRESS P.AHE                 ;                                              00000000' 00AA8
  10121. P.AHF:    .LONG   0                 ;                                              00000000  00AAC
  10122.     .ADDRESS FILE_DESC             ;                                              00000000G 00AB0
  10123. P.AHH:    .ASCII  \!%T!_Aborting file !AS by user request!/\
  10124.                          ;                                6F  62  41  5F  21  54  25  21  00AB4
  10125.                          ;                          69  66  20  67  6E  69  74  72  00ABC
  10126.                          ;                          62  20  53  41  21  20  65  6C  00AC4
  10127.                          ;                          72  20  72  65  73  75  20  79  00ACC
  10128.                          ;                          2F  21  74  73  65  75  71  65  00AD4
  10129. P.AHG:    .LONG   17694760             ;                                              010E0028  00ADC
  10130.     .ADDRESS P.AHH                 ;                                              00000000' 00AE0
  10131. P.AHI:    .LONG   0                 ;                                              00000000  00AE4
  10132.     .ADDRESS FILE_DESC             ;                                              00000000G 00AE8
  10133. P.AHK:    .ASCII  \!%T!_Aborting file group !AS by user request!/\<0><0>
  10134.                          ;                                6F  62  41  5F  21  54  25  21  00AEC
  10135.                          ;                          69  66  20  67  6E  69  74  72  00AF4
  10136.                          ;                          70  75  6F  72  67  20  65  6C  00AFC
  10137.                          ;                          20  79  62  20  53  41  21  20  00B04
  10138.                          ;                          71  65  72  20  72  65  73  75  00B0C
  10139.                          ;                          00  00  2F  21  74  73  65  75  00B14
  10140. P.AHJ:    .LONG   17694766             ;                                              010E002E  00B1C
  10141.     .ADDRESS P.AHK                 ;                                              00000000' 00B20
  10142. P.AHL:    .LONG   0                 ;                                              00000000  00B24
  10143.     .ADDRESS FILE_DESC             ;                                              00000000G 00B28
  10144. P.AHN:    .ASCII  \!%T!_Aborting file !AS, partial file saved!/\
  10145.                          ;                                6F  62  41  5F  21  54  25  21  00B2C
  10146.                          ;                          69  66  20  67  6E  69  74  72  00B34
  10147.                          ;                          20  2C  53  41  21  20  65  6C  00B3C
  10148.                          ;                          20  6C  61  69  74  72  61  70  00B44
  10149.                          ;                          76  61  73  20  65  6C  69  66  00B4C
  10150.                          ;                                      2F  21  64  65  00B54
  10151. P.AHM:    .LONG   17694764             ;                                              010E002C  00B58
  10152.     .ADDRESS P.AHN                 ;                                              00000000' 00B5C
  10153. P.AHO:    .LONG   0                 ;                                              00000000  00B60
  10154.     .ADDRESS FILE_DESC             ;                                              00000000G 00B64
  10155. P.AHQ:    .ASCII  \!%T!_Aborting file !AS due to protocol error!/\<0><0>
  10156.                          ;                                6F  62  41  5F  21  54  25  21  00B68
  10157.                          ;                          69  66  20  67  6E  69  74  72  00B70
  10158.                          ;                          64  20  53  41  21  20  65  6C  00B78
  10159.                          ;                          72  70  20  6F  74  20  65  75  00B80
  10160.                          ;                          65  20  6C  6F  63  6F  74  6F  00B88
  10161.                          ;                          00  00  2F  21  72  6F  72  72  00B90
  10162. P.AHP:    .LONG   17694766             ;                                              010E002E  00B98
  10163.     .ADDRESS P.AHQ                 ;                                              00000000' 00B9C
  10164. P.AHR:    .LONG   0                 ;                                              00000000  00BA0
  10165.     .ADDRESS FILE_DESC             ;                                              00000000G 00BA4
  10166. P.AHS:    .ASCII  \ R\<0><0>             ;                                            00  00  52  20  00BA8
  10167. P.AHT:    .ASCII  \ R%\<0>             ;                                            00  25  52  20  00BAC
  10168. P.AHU:    .ASCII  \ S\<0><0>             ;                                            00  00  53  20  00BB0
  10169. P.AHV:    .ASCII  \ S%\<0>             ;                                            00  25  53  20  00BB4
  10170.  
  10171.     .EXTRN  LOG_FAOL
  10172.  
  10173.     .PSECT  $CODE$,NOWRT,2
  10174.  
  10175.     .ENTRY  XFR_STATUS, ^M<R2,R3,R4,R5,R6>     ;XFR_STATUS, Save R2,R3,R4,R5,R6      5093                    007C   00000
  10176.     MOVAB   G^TT_NUMBER, R6             ;TT_NUMBER, R6                                     56 00000000G  00  9E   00002
  10177.     MOVAB   G^TT_TEXT, R5             ;TT_TEXT, R5                                     55 00000000G  00  9E   00009
  10178.     MOVAB   G^TRANSACTION_RAB, R4         ;TRANSACTION_RAB, R4                                 54 00000000'  00  9E   00010
  10179.     MOVAB   G^P.AGZ, R3             ;P.AGZ, R3                                     53 00000000'  00  9E   00017
  10180.     BLBS    -84(R4), 2$             ;TRANSACTION_OPEN, 2$               5141            03    AC   A4  E8   0001E
  10181. 1$:    BRW     10$                 ;10$                                             00A8  31   00022
  10182. 2$:    CMPL    4(AP), #70             ;TYPE, #70                          00000046   8F    04   AC  D1   00025
  10183.     BNEQ    1$                 ;1$                                               F3  12   0002D
  10184.     MOVW    G^FILE_SIZE, G^FILE_DESC     ;FILE_SIZE, FILE_DESC               5144 00000000G  00 00000000G  00  B0   0002F
  10185.     MOVL    8(AP), R2             ;SUB_TYPE, R2                   5146            52    08   AC  D0   0003A
  10186.     CMPL    R2, #83                 ;R2, #83                   5149 00000053   8F         52  D1   0003E
  10187.     BNEQ    3$                 ;3$                                               07  12   00045
  10188.     PUSHR   #^M<R3,R4>             ;#^M<R3,R4>                   5150                  18  BB   00047
  10189.     PUSHAB  -8(R3)                 ;P.AGX                                          F8   A3  9F   00049
  10190.     BRB     9$                 ;9$                                               78  11   0004C
  10191. 3$:    CMPL    R2, #82                 ;R2, #82                   5152 00000052   8F         52  D1   0004E
  10192.     BNEQ    4$                 ;4$                                               0A  12   00055
  10193.     PUSHL   R4                 ;R4                       5153                  54  DD   00057
  10194.     PUSHAB  44(R3)                 ;P.AHC                                          2C   A3  9F   00059
  10195.     PUSHAB  36(R3)                 ;P.AHA                                          24   A3  9F   0005C
  10196.     BRB     9$                 ;9$                                               65  11   0005F
  10197. 4$:    CMPL    R2, #67                 ;R2, #67                   5155 00000043   8F         52  D1   00061
  10198.     BNEQ    5$                 ;5$                                               0A  12   00068
  10199.     PUSHL   R4                 ;R4                       5156                  54  DD   0006A
  10200.     PUSHAB  84(R3)                 ;P.AHF                                          54   A3  9F   0006C
  10201.     PUSHAB  76(R3)                 ;P.AHD                                          4C   A3  9F   0006F
  10202.     BRB     9$                 ;9$                                               52  11   00072
  10203. 5$:    CMPL    R2, #88                 ;R2, #88                   5158 00000058   8F         52  D1   00074
  10204.     BNEQ    6$                 ;6$                                               0C  12   0007B
  10205.     PUSHL   R4                 ;R4                       5160                  54  DD   0007D
  10206.     PUSHAB  140(R3)                 ;P.AHI                       5159               008C   C3  9F   0007F
  10207.     PUSHAB  132(R3)                 ;P.AHG                                            0084   C3  9F   00083
  10208.     BRB     9$                 ;9$                                               3D  11   00087
  10209. 6$:    CMPL    R2, #90                 ;R2, #90                   5162 0000005A   8F         52  D1   00089
  10210.     BNEQ    7$                 ;7$                                               0C  12   00090
  10211.     PUSHL   R4                 ;R4                       5164                  54  DD   00092
  10212.     PUSHAB  204(R3)                 ;P.AHL                       5163               00CC   C3  9F   00094
  10213.     PUSHAB  196(R3)                 ;P.AHJ                                            00C4   C3  9F   00098
  10214.     BRB     9$                 ;9$                                               28  11   0009C
  10215. 7$:    CMPL    R2, #68                 ;R2, #68                   5166 00000044   8F         52  D1   0009E
  10216.     BNEQ    8$                 ;8$                                               0C  12   000A5
  10217.     PUSHL   R4                 ;R4                       5168                  54  DD   000A7
  10218.     PUSHAB  264(R3)                 ;P.AHO                       5167               0108   C3  9F   000A9
  10219.     PUSHAB  256(R3)                 ;P.AHM                                            0100   C3  9F   000AD
  10220.     BRB     9$                 ;9$                                               13  11   000B1
  10221. 8$:    CMPL    R2, #65                 ;R2, #65                   5170 00000041   8F         52  D1   000B3
  10222.     BNEQ    10$                 ;10$                                               11  12   000BA
  10223.     PUSHL   R4                 ;R4                       5172                  54  DD   000BC
  10224.     PUSHAB  328(R3)                 ;P.AHR                       5171               0148   C3  9F   000BE
  10225.     PUSHAB  320(R3)                 ;P.AHP                                            0140   C3  9F   000C2
  10226. 9$:    CALLS   #3, G^LOG_FAOL             ;#3, LOG_FAOL                          00000000G  00         03  FB   000C6
  10227. 10$:    BLBS    G^TY_PKT, 11$             ;TY_PKT, 11$                   5177            01 00000000G  00  E8   000CD
  10228.     RET                      ;                                               04   000D4
  10229. 11$:    MOVL    4(AP), R0             ;TYPE, R0                   5181            50    04   AC  D0   000D5
  10230.     CMPL    R0, #82                 ;R0, #82                   5184 00000052   8F         50  D1   000D9
  10231.     BNEQ    13$                 ;13$                                               33  12   000E0
  10232.     CMPL    8(AP), #80             ;SUB_TYPE, #80                   5187 00000050   8F    08   AC  D1   000E2
  10233.     BNEQ    12$                 ;12$                                               10  12   000EA
  10234.     PUSHAB  336(R3)                 ;P.AHS                       5190               0150   C3  9F   000EC
  10235.     CALLS   #1, (R5)             ;#1, TT_TEXT                                     65         01  FB   000F0
  10236.     PUSHL   G^RMSG_COUNT             ;RMSG_COUNT                   5191           00000000G  00  DD   000F3
  10237.     CALLS   #1, (R6)             ;#1, TT_NUMBER                                     66         01  FB   000F9
  10238. 12$:    CMPL    8(AP), #78             ;SUB_TYPE, #78                   5194 0000004E   8F    08   AC  D1   000FC
  10239.     BNEQ    16$                 ;16$                                               4C  12   00104
  10240.     PUSHAB  340(R3)                 ;P.AHT                       5197               0154   C3  9F   00106
  10241.     CALLS   #1, (R5)             ;#1, TT_TEXT                                     65         01  FB   0010A
  10242.     PUSHL   G^RMSG_NAKS             ;RMSG_NAKS                   5198           00000000G  00  DD   0010D
  10243.     BRB     15$                 ;15$                                               3A  11   00113
  10244. 13$:    CMPL    R0, #83                 ;R0, #83                   5203 00000053   8F         50  D1   00115
  10245.     BNEQ    16$                 ;16$                                               34  12   0011C
  10246.     CMPL    8(AP), #80             ;SUB_TYPE, #80                   5206 00000050   8F    08   AC  D1   0011E
  10247.     BNEQ    14$                 ;14$                                               10  12   00126
  10248.     PUSHAB  344(R3)                 ;P.AHU                       5209               0158   C3  9F   00128
  10249.     CALLS   #1, (R5)             ;#1, TT_TEXT                                     65         01  FB   0012C
  10250.     PUSHL   G^SMSG_COUNT             ;SMSG_COUNT                   5210           00000000G  00  DD   0012F
  10251.     CALLS   #1, (R6)             ;#1, TT_NUMBER                                     66         01  FB   00135
  10252. 14$:    CMPL    8(AP), #78             ;SUB_TYPE, #78                   5213 0000004E   8F    08   AC  D1   00138
  10253.     BNEQ    16$                 ;16$                                               10  12   00140
  10254.     PUSHAB  348(R3)                 ;P.AHV                       5216               015C   C3  9F   00142
  10255.     CALLS   #1, (R5)             ;#1, TT_TEXT                                     65         01  FB   00146
  10256.     PUSHL   G^SMSG_NAKS             ;SMSG_NAKS                   5217           00000000G  00  DD   00149
  10257. 15$:    CALLS   #1, (R6)             ;#1, TT_NUMBER                                     66         01  FB   0014F
  10258. 16$:    CALLS   #0, G^TT_OUTPUT             ;#0, TT_OUTPUT                   5223 00000000G  00         00  FB   00152
  10259.     RET                      ;                       5226                  04   00159
  10260.  
  10261. ; Routine Size:  346 bytes,    Routine Base:  $CODE$ + 1370
  10262.  
  10263.  
  10264. ;   5227  1     
  10265. ;   5228  1     %SBTTL 'CRCCLC - Calculate the CRC-CCITT for a message'
  10266. ;   5229  1     
  10267. ;   5230  1    GLOBAL ROUTINE CRCCLC (POINTER, SIZE) =
  10268. ;   5231  1     
  10269. ;   5232  1    !++
  10270. ;   5233  1    ! FUNCTIONAL DESCRIPTION:
  10271. ;   5234  1    !
  10272. ;   5235  1    !    This routine will calculate the CRC for a message.  It will use
  10273. ;   5236  1    !    the VAX LIB$ routine to do all the work.
  10274. ;   5237  1    !
  10275. ;   5238  1    ! CALLING SEQUENCE:
  10276. ;   5239  1    !
  10277. ;   5240  1    !    CRC = CRCCLC(Pointer, Size)
  10278. ;   5241  1    !
  10279. ;   5242  1    ! INPUT PARAMETERS:
  10280. ;   5243  1    !
  10281. ;   5244  1    !    Pointer - Character pointer to the message.
  10282. ;   5245  1    !    Size - Length of the message.
  10283. ;   5246  1    !
  10284. ;   5247  1    ! IMPLICIT INPUTS:
  10285. ;   5248  1    !
  10286. ;   5249  1    !    None.
  10287. ;   5250  1    !
  10288. ;   5251  1    ! OUPTUT PARAMETERS:
  10289. ;   5252  1    !
  10290. ;   5253  1    !    CRC for the message.
  10291. ;   5254  1    !
  10292. ;   5255  1    ! IMPLICIT OUTPUTS:
  10293. ;   5256  1    !
  10294. ;   5257  1    !    None.
  10295. ;   5258  1    !
  10296. ;   5259  1    ! COMPLETION CODES:
  10297. ;   5260  1    !
  10298. ;   5261  1    !    None.
  10299. ;   5262  1    !
  10300. ;   5263  1    ! SIDE EFFECTS:
  10301. ;   5264  1    !
  10302. ;   5265  1    !    None.
  10303. ;   5266  1    !
  10304. ;   5267  1    !--
  10305. ;   5268  1     
  10306. ;   5269  2        BEGIN
  10307. ;   5270  2     
  10308. ;   5271  2        LOCAL
  10309. ;   5272  2        TEMP_DESC : BLOCK [8, BYTE],        ! Temporary descriptor
  10310. ;   5273  2        CRC_INITIAL;                ! Initial CRC value
  10311. ;   5274  2     
  10312. ;   5275  2        CRC_INITIAL = 0;                ! Set the initial value
  10313. ;   5276  2        INIT_STR_DESC (TEMP_DESC, .POINTER, .SIZE);
  10314. ;   5277  2        RETURN LIB$CRC (CRC_TABLE, CRC_INITIAL, TEMP_DESC);
  10315. ;   5278  1        END;                    ! End of CRCCLC
  10316.  
  10317.  
  10318.  
  10319.  
  10320.  
  10321.     .ENTRY  CRCCLC, ^M<>             ;CRCCLC, Save nothing               5230                    0000   00000
  10322.     SUBL2   #8, SP                 ;#8, SP                                     5E         08  C2   00002
  10323.     CLRL    -(SP)                 ;CRC_INITIAL                   5275                  7E  D4   00005
  10324.     MOVW    #270, 6(SP)             ;#270, TEMP_DESC+2               5276       06   AE     010E   8F  B0   00007
  10325.     MOVW    8(AP), 4(SP)             ;SIZE, TEMP_DESC                            04   AE    08   AC  B0   0000D
  10326.     MOVL    4(AP), 8(SP)             ;POINTER, TEMP_DESC+4                            08   AE    04   AC  D0   00012
  10327.     PUSHAB  4(SP)                 ;TEMP_DESC                   5277             04   AE  9F   00017
  10328.     PUSHAB  4(SP)                 ;CRC_INITIAL                                      04   AE  9F   0001A
  10329.     PUSHAB  G^U.60                 ;U.60                                        00000000'  00  9F   0001D
  10330.     CALLS   #3, G^LIB$CRC             ;#3, LIB$CRC                          00000000G  00         03  FB   00023
  10331.     RET                      ;                                               04   0002A
  10332.  
  10333. ; Routine Size:  43 bytes,    Routine Base:  $CODE$ + 14CA
  10334.  
  10335.  
  10336. ;   5279  1     
  10337. ;   5280  1     %SBTTL 'KRM_ERROR - Issue an error message given error code'
  10338. ;   5281  1     
  10339. ;   5282  1    GLOBAL ROUTINE KRM_ERROR (ERROR_CODE) : NOVALUE =
  10340. ;   5283  1     
  10341. ;   5284  1    !++
  10342. ;   5285  1    ! FUNCTIONAL DESCRIPTION:
  10343. ;   5286  1    !
  10344. ;   5287  1    !    This routine will cause an error message to be issued to the
  10345. ;   5288  1    !    user's terminal and/or a message to be sent to the remote KERMIT.
  10346. ;   5289  1    !
  10347. ;   5290  1    ! CALLING SEQUENCE:
  10348. ;   5291  1    !
  10349. ;   5292  1    !    KRM_ERROR(KER_xxxxxx);
  10350. ;   5293  1    !
  10351. ;   5294  1    ! INPUT PARAMETERS:
  10352. ;   5295  1    !
  10353. ;   5296  1    !    KER_xxxxxx - Error code from KERERR.REQ
  10354. ;   5297  1    !
  10355. ;   5298  1    ! IMPLICIT INPUTS:
  10356. ;   5299  1    !
  10357. ;   5300  1    !    None.
  10358. ;   5301  1    !
  10359. ;   5302  1    ! OUTPUT PARAMETERS:
  10360. ;   5303  1    !
  10361. ;   5304  1    !    None.
  10362. ;   5305  1    !
  10363. ;   5306  1    ! IMPLICIT OUTPUTS:
  10364. ;   5307  1    !
  10365. ;   5308  1    !    None.
  10366. ;   5309  1    !
  10367. ;   5310  1    ! COMPLETION CODES:
  10368. ;   5311  1    !
  10369. ;   5312  1    !    None.
  10370. ;   5313  1    !
  10371. ;   5314  1    ! SIDE EFFECTS:
  10372. ;   5315  1    !
  10373. ;   5316  1    !    None.
  10374. ;   5317  1    !
  10375. ;   5318  1    !--
  10376. ;   5319  1     
  10377. ;   5320  2        BEGIN
  10378. ;   5321  2        LIB$SIGNAL (.ERROR_CODE);
  10379. ;   5322  1        END;                    ! End of KRM_ERROR
  10380.  
  10381.  
  10382.  
  10383.  
  10384.  
  10385.     .ENTRY  KRM_ERROR, ^M<>             ;KRM_ERROR, Save nothing           5282                    0000   00000
  10386.     PUSHL   4(AP)                 ;ERROR_CODE                   5321             04   AC  DD   00002
  10387.     CALLS   #1, G^LIB$SIGNAL         ;#1, LIB$SIGNAL                      00000000G  00         01  FB   00005
  10388.     RET                      ;                       5322                  04   0000C
  10389.  
  10390. ; Routine Size:  13 bytes,    Routine Base:  $CODE$ + 14F5
  10391.  
  10392.  
  10393. ;   5323  1     
  10394. ;   5324  1     %SBTTL 'KERM_HANDLER - Condition handler'
  10395. ;   5325  1    ROUTINE KERM_HANDLER =
  10396. ;   5326  1     
  10397. ;   5327  1    !++
  10398. ;   5328  1    ! FUNCTIONAL DESCRIPTION:
  10399. ;   5329  1    !
  10400. ;   5330  1    !    This is the condition handler for KERMIT-32.
  10401. ;   5331  1    !
  10402. ;   5332  1    ! CALLING SEQUENCE:
  10403. ;   5333  1    !
  10404. ;   5334  1    !    Called via LIB$SIGNAL.
  10405. ;   5335  1    !
  10406. ;   5336  1    ! INPUT PARAMETERS:
  10407. ;   5337  1    !
  10408. ;   5338  1    !    None.
  10409. ;   5339  1    !
  10410. ;   5340  1    ! IMPLICIT INPUTS:
  10411. ;   5341  1    !
  10412. ;   5342  1    !    None.
  10413. ;   5343  1    !
  10414. ;   5344  1    ! OUTPUT PARAMETERS:
  10415. ;   5345  1    !
  10416. ;   5346  1    !    None.
  10417. ;   5347  1    !
  10418. ;   5348  1    ! IMPLICIT OUTPUTS:
  10419. ;   5349  1    !
  10420. ;   5350  1    !    None.
  10421. ;   5351  1    !
  10422. ;   5352  1    ! COMPLETION CODES:
  10423. ;   5353  1    !
  10424. ;   5354  1    !    None.
  10425. ;   5355  1    !
  10426. ;   5356  1    ! SIDE EFFECTS:
  10427. ;   5357  1    !
  10428. ;   5358  1    !    None.
  10429. ;   5359  1    !
  10430. ;   5360  1    !--
  10431. ;   5361  1     
  10432. ;   5362  2        BEGIN
  10433. ;   5363  2     
  10434. ;   5364  2        BIND
  10435. ;   5365  2        FACILITY_DESC = %ASCID'KERMIT32';
  10436. ;   5366  2     
  10437. ;   5367  2        BUILTIN
  10438. ;   5368  2        AP;
  10439. ;   5369  2     
  10440. ;   5370  2        LOCAL
  10441. ;   5371  2        PUTMSG_VECTOR : VECTOR [10, LONG],
  10442. ;   5372  2        SIGARGLST;                ! Address of the signal argument list
  10443. ;   5373  2     
  10444. ;   5374  2        MAP
  10445. ;   5375  2        AP : REF BLOCK [, BYTE],
  10446. ;   5376  2        SIGARGLST : REF BLOCK [, BYTE];
  10447. ;   5377  2     
  10448. ;   5378  2    !++
  10449. ;   5379  2    !
  10450. ;   5380  2    ! Routine to do the actual output of the error message
  10451. ;   5381  2    !
  10452. ;   5382  2    !--
  10453. ;   5383  2     
  10454. ;   5384  2        ROUTINE HANDLE_MSG =
  10455. ;   5385  3        BEGIN
  10456. ;   5386  3     
  10457. ;   5387  3        EXTERNAL ROUTINE
  10458. ;   5388  3            LOG_FAOL;
  10459. ;   5389  3     
  10460. ;   5390  3        BUILTIN
  10461. ;   5391  3            AP;
  10462. ;   5392  3     
  10463. ;   5393  3        LOCAL
  10464. ;   5394  3            ERR_DESC,                ! Address of the error descriptor
  10465. ;   5395  3            POINTER;                ! Pointer to get characters
  10466. ;   5396  3     
  10467. ;   5397  3        MAP
  10468. ;   5398  3            ERR_DESC : REF BLOCK [8, BYTE],
  10469. ;   5399  3            AP : REF BLOCK [, BYTE];
  10470. ;   5400  3     
  10471. ;   5401  3        ERR_DESC = .AP [4, 0, 32, 0];
  10472. ;   5402  3     
  10473. ;   5403  3        IF .TERM_FLAG THEN SND_ERROR (.ERR_DESC [DSC$W_LENGTH], .ERR_DESC [DSC$A_POINTER]);
  10474. ;   5404  3     
  10475. ;   5405  3        IF .TRANSACTION_OPEN
  10476. ;   5406  3        THEN
  10477. ;   5407  4            BEGIN
  10478. ;   5408  4     
  10479. ;   5409  4            OWN
  10480. ;   5410  4            TMP_DESC : BLOCK [8, BYTE];
  10481. ;   5411  4     
  10482. ;   5412  4            INIT_STR_DESC (TMP_DESC, .ERR_DESC [DSC$A_POINTER], .ERR_DESC [DSC$W_LENGTH]);
  10483. ;   5413  4            LOG_FAOL (%ASCID'!%T!_!AS!/', UPLIT (0, TMP_DESC), TRANSACTION_RAB);
  10484. ;   5414  3            END;
  10485. ;   5415  3     
  10486. ;   5416  3        IF NOT .CONNECT_FLAG
  10487. ;   5417  3        THEN
  10488. ;   5418  4            BEGIN
  10489. ;   5419  4            TT_CRLF ();
  10490. ;   5420  4            POINTER = CH$PTR (.ERR_DESC [DSC$A_POINTER]);
  10491. ;   5421  4     
  10492. ;   5422  4            INCR I FROM 1 TO .ERR_DESC [DSC$W_LENGTH] DO
  10493. ;   5423  4            TT_CHAR (CH$RCHAR_A (POINTER));
  10494. ;   5424  4     
  10495. ;   5425  4            TT_CRLF ();
  10496. ;   5426  3            END;
  10497. ;   5427  3     
  10498. ;   5428  3        RETURN 0;
  10499. ;   5429  2        END;
  10500.  
  10501.  
  10502.  
  10503.     .PSECT  $PLIT$,NOWRT,NOEXE,2
  10504.  
  10505. P.AHX:    .ASCII  \KERMIT32\             ;                                32  33  54  49  4D  52  45  4B  00BB8
  10506. P.AHW:    .LONG   17694728             ;                                              010E0008  00BC0
  10507.     .ADDRESS P.AHX                 ;                                              00000000' 00BC4
  10508. P.AHZ:    .ASCII  \!%T!_!AS!/\<0><0>         ;                                53  41  21  5F  21  54  25  21  00BC8
  10509.                          ;                                      00  00  2F  21  00BD0
  10510. P.AHY:    .LONG   17694730             ;                                              010E000A  00BD4
  10511.     .ADDRESS P.AHZ                 ;                                              00000000' 00BD8
  10512. P.AIA:    .LONG   0                 ;                                              00000000  00BDC
  10513.     .ADDRESS U.1416                 ;                                              00000000' 00BE0
  10514.  
  10515.     .PSECT  $OWN$,NOEXE,2
  10516.  
  10517. ;TMP_DESC
  10518. U.1416: .BLKB   8                                       ;                      00308
  10519.  
  10520. U.1410=            P.AHW
  10521.  
  10522.  
  10523.     .PSECT  $CODE$,NOWRT,2
  10524.  
  10525. ;HANDLE_MSG
  10526. U.1413: .WORD   ^M<R2,R3,R4,R5,R6>         ;Save R2,R3,R4,R5,R6               5384                    007C   00000
  10527.     MOVAB   G^TT_CRLF, R6             ;TT_CRLF, R6                                     56 00000000G  00  9E   00002
  10528.     MOVAB   G^U.1416+2, R5             ;U.1416+2, R5                                     55 00000000'  00  9E   00009
  10529.     MOVL    4(AP), R2             ;4(AP), ERR_DESC               5401            52    04   AC  D0   00010
  10530.     BLBC    G^TERM_FLAG, 1$             ;TERM_FLAG, 1$                   5403            0D 00000000G  00  E9   00014
  10531.     PUSHL   4(R2)                 ;4(ERR_DESC)                                      04   A2  DD   0001B
  10532.     MOVZWL  (R2), -(SP)             ;(ERR_DESC), -(SP)                                 7E         62  3C   0001E
  10533.     CALLS   #2, G^SND_ERROR             ;#2, SND_ERROR                          00000000G  00         02  FB   00021
  10534. 1$:    BLBC    G^TRANSACTION_OPEN, 2$         ;TRANSACTION_OPEN, 2$               5405            27 00000000'  00  E9   00028
  10535.     MOVW    #270, (R5)             ;#270, TMP_DESC+2               5412            65     010E   8F  B0   0002F
  10536.     MOVW    (R2), -2(R5)             ;(ERR_DESC), TMP_DESC                            FE   A5         62  B0   00034
  10537.     MOVL    4(R2), 2(R5)             ;4(ERR_DESC), TMP_DESC+4                        02   A5    04   A2  D0   00038
  10538.     PUSHAB  G^TRANSACTION_RAB         ;TRANSACTION_RAB               5413           00000000'  00  9F   0003D
  10539.     PUSHAB  G^P.AIA                 ;P.AIA                                        00000000'  00  9F   00043
  10540.     PUSHAB  G^P.AHY                 ;P.AHY                                        00000000'  00  9F   00049
  10541.     CALLS   #3, G^LOG_FAOL             ;#3, LOG_FAOL                          00000000G  00         03  FB   0004F
  10542. 2$:    BLBS    G^CONNECT_FLAG, 5$         ;CONNECT_FLAG, 5$               5416            1F 00000000G  00  E8   00056
  10543.     CALLS   #0, (R6)             ;#0, TT_CRLF                   5419            66         00  FB   0005D
  10544.     MOVL    4(R2), R4             ;4(ERR_DESC), POINTER               5420            54    04   A2  D0   00060
  10545.     MOVZWL  (R2), R3             ;(ERR_DESC), R3               5422            53         62  3C   00064
  10546.     CLRL    R2                 ;I                                               52  D4   00067
  10547.     BRB     4$                 ;4$                                               0A  11   00069
  10548. 3$:    MOVZBL  (R4)+, -(SP)             ;(POINTER)+, -(SP)               5423            7E         84  9A   0006B
  10549.     CALLS   #1, G^TT_CHAR             ;#1, TT_CHAR                          00000000G  00         01  FB   0006E
  10550. 4$:    AOBLEQ  R3, R2, 3$             ;R3, I, 3$                                     52         53  F3   00075
  10551.                          ;                                         F2       00078
  10552.     CALLS   #0, (R6)             ;#0, TT_CRLF                   5425            66         00  FB   00079
  10553. 5$:    CLRL    R0                 ;R0                       5428                  50  D4   0007C
  10554.     RET                      ;                                               04   0007E
  10555.  
  10556. ; Routine Size:  127 bytes,    Routine Base:  $CODE$ + 1502
  10557.  
  10558.  
  10559. ;   5430  2        SIGARGLST = .AP [CHF$L_SIGARGLST];
  10560. ;   5431  2     
  10561. ;   5432  2        IF .SIGARGLST [CHF$L_SIG_NAME] GEQ %X'400' AND .SIGARGLST [CHF$L_SIG_NAME] LEQ %X'5FF'
  10562. ;   5433  2        THEN
  10563. ;   5434  2        RETURN SS$_RESIGNAL;
  10564. ;   5435  2     
  10565. ;   5436  2        PUTMSG_VECTOR [0] = .SIGARGLST [CHF$L_SIG_ARGS] - 2;    ! No PC and PSL
  10566. ;   5437  2        PUTMSG_VECTOR [1] = .SIGARGLST [CHF$L_SIG_NAME];
  10567. ;   5438  2    !    PUTMSG_VECTOR [2] = .SIGARGLST [CHF$L_SIG_ARGS] - 3;
  10568. ;   5439  2     
  10569. ;   5440  2    !    INCR I FROM 0 TO .SIGARGLST [CHF$L_SIG_ARGS] - 4 DO
  10570. ;   5441  2        INCR I FROM 0 TO .SIGARGLST [CHF$L_SIG_ARGS] - 2 DO
  10571. ;   5442  2        PUTMSG_VECTOR [.I + 2] = .(SIGARGLST [CHF$L_SIG_ARG1] + (.I*4));
  10572. ;   5443  2     
  10573. ;   5444  2        Final_Status = .Putmsg_Vector [1];
  10574. ;   5445  2        $PUTMSG (MSGVEC = PUTMSG_VECTOR, ACTRTN = HANDLE_MSG, FACNAM = FACILITY_DESC);
  10575. ;   5446  2        RETURN SS$_CONTINUE;
  10576. ;   5447  1        END;                    ! End of KERM_HANDLER
  10577.  
  10578.  
  10579.  
  10580.     .EXTRN  SYS$PUTMSG
  10581.  
  10582. ;KERM_HANDLER
  10583. U.37:    .WORD   ^M<R2>                 ;Save R2                   5325                    0004   00000
  10584.     SUBL2   #40, SP                 ;#40, SP                                     5E         28  C2   00002
  10585.     MOVL    4(AP), R1             ;4(AP), SIGARGLST               5430            51    04   AC  D0   00005
  10586.     CMPL    4(R1), #1024             ;4(SIGARGLST), #1024               5432 00000400   8F    04   A1  D1   00009
  10587.     BLSS    1$                 ;1$                                               10  19   00011
  10588.     CMPL    4(R1), #1535             ;4(SIGARGLST), #1535                      000005FF   8F    04   A1  D1   00013
  10589.     BGTR    1$                 ;1$                                               06  14   0001B
  10590.     MOVZWL  #2328, R0             ;#2328, R0                   5434            50     0918   8F  3C   0001D
  10591.     RET                      ;                                               04   00022
  10592. 1$:    SUBL3   #2, (R1), R2             ;#2, (SIGARGLST), R2               5436            61         02  C3   00023
  10593.                          ;                                         52       00026
  10594.     MOVL    R2, (SP)             ;R2, PUTMSG_VECTOR                                 6E         52  D0   00027
  10595.     MOVL    4(R1), 4(SP)             ;4(SIGARGLST), PUTMSG_VECTOR+4        5437       04   AE    04   A1  D0   0002A
  10596.     MNEGL   #1, R0                 ;#1, I                       5441            50         01  CE   0002F
  10597.     BRB     3$                 ;3$                                               07  11   00032
  10598. 2$:    MOVL    8(R1)[R0], 8(SP)[R0]         ;8(SIGARGLST)[I], PUTMSG_VECTOR+8[I]  5442       08 AE40    08 A140  D0   00034
  10599. 3$:    AOBLEQ  R2, R0, 2$             ;R2, I, 2$                                     50         52  F3   0003B
  10600.                          ;                                         F5       0003E
  10601.     MOVL    4(SP), G^U.56             ;PUTMSG_VECTOR+4, U.56               5444 00000000'  00    04   AE  D0   0003F
  10602.     CLRL    -(SP)                 ;-(SP)                       5445                  7E  D4   00047
  10603.     PUSHAB  G^U.1410             ;U.1410                                    00000000'  00  9F   00049
  10604.     PUSHAB  W^U.1413             ;U.1413                                        FF2E   CF  9F   0004F
  10605.     PUSHAB  12(SP)                 ;PUTMSG_VECTOR                                      0C   AE  9F   00053
  10606.     CALLS   #4, G^SYS$PUTMSG         ;#4, SYS$PUTMSG                      00000000G  00         04  FB   00056
  10607.     MOVL    #1, R0                 ;#1, R0                   5446            50         01  D0   0005D
  10608.     RET                      ;                                               04   00060
  10609.  
  10610. ; Routine Size:  97 bytes,    Routine Base:  $CODE$ + 1581
  10611.  
  10612.  
  10613. ;   5448  1     %SBTTL 'End of KERMIT.B32'
  10614. ;   5449  1    END                        ! End of module
  10615. ;   5450  1     
  10616. ;   5451  0    ELUDOM
  10617.  
  10618.  
  10619.  
  10620.  
  10621.  
  10622.  
  10623. ;                       PSECT SUMMARY
  10624. ;
  10625. ;    Name             Bytes                   Attributes
  10626. ;
  10627. ;  $PLIT$                 3044  NOVEC,NOWRT,  RD ,NOEXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
  10628. ;  $GLOBAL$                  300  NOVEC,  WRT,  RD ,NOEXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
  10629. ;  $OWN$                  784  NOVEC,  WRT,  RD ,NOEXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
  10630. ;  _LIB$KEY0$                  268  NOVEC,NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(1)
  10631. ;  _LIB$STATE$                 2001  NOVEC,NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(1)
  10632. ;  _LIB$KEY1$                 1168  NOVEC,NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(1)
  10633. ;  $CODE$                 5602  NOVEC,NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
  10634. ;  .  ABS  .                    0  NOVEC,NOWRT,NORD ,NOEXE,NOSHR,  LCL,  ABS,  CON,NOPIC,ALIGN(0)
  10635.  
  10636.  
  10637.  
  10638.  
  10639. ;                Library Statistics
  10640. ;
  10641. ;                         -------- Symbols --------        Pages    Processing
  10642. ;    File                     Total    Loaded   Percent      Mapped    Time
  10643. ;
  10644. ;  SYS$COMMON:[SYSLIB]STARLET.L32;2         12540       117         0       721          00:00.4
  10645. ;  SYS$COMMON:[SYSLIB]TPAMAC.L32;2            43        33        76        15          00:00.1
  10646.  
  10647.  
  10648.  
  10649.  
  10650.  
  10651.  
  10652.  
  10653. ;                    COMMAND QUALIFIERS
  10654.  
  10655. ;    BLISS/LIS/MACH=(ASSEM,UNIQUE)/SOU:NOHEAD VMSMIT
  10656.  
  10657. ; Compilation Complete
  10658.  
  10659.     .END    U.1302
  10660.