home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ibm370 / ikmker.upd < prev    next >
Text File  |  2020-01-01  |  82KB  |  1,162 lines

  1. ./ *              ... Permanent change ...
  2. ./ * PG89001 - Make changes from base code for MUSIC/SP System
  3. ./ R 07574000          $ 07574000 500                          ->4.3<-
  4.          DC    AL1(15,0+2)   No wild matches                   @PG89001
  5. ./ *              ... Other ...
  6. ./ *              S u m m a r y   o f   u p d a t e s
  7. ./ * SC93236 - Support long userid's and file names (MUSIC)
  8. ./ * SC93342 - Use date transmitted with file (CMS only)
  9. ./ * SC94074 - NAK bad data packet instead of re-ACKing previous
  10. ./ * SC94174 - WHATAMI option for file type
  11. ./ * SC94181 - Implement level-1 restart/recovery mode (MUSIC)
  12. ./ * SC94245 - More accurate statistics after server transfers
  13. ./ * SC94262 - Leave room for table expansion (MUSIC)
  14. ./ * SC94264 - Avoid spurious error message for host commands (MUSIC)
  15. ./ * SC94287 - Prevent or recover from lost screen (MUSIC)
  16. ./ * SC94299 - Make GIVE CONTROL subcommand work (MUSIC)
  17. ./ * SC95023 - Fix RESEND for already-sent file, implement APC subcmd.
  18. ./ * SC95032 - Allow Recovery into almost-full file system
  19. ./ * SC95033 - Update to level 4.3.1
  20. ./ * SC95059 - Preserve transmitted time tag for RESENT file
  21. ./ * SC95108 - Prevent error-free transfers from halting TAKE files
  22. ./ * SC95174 - Implement REGET subcommand
  23. ./ * SC96122 - Avoid endless double transmission from windowed Kermit
  24. ./ * SC96151 - Add system ID to INIT packets
  25. ./ * SC96158 - Never skip sending an I-packet while in remote mode
  26. ./ * SC97028 - Clear 'Kermit command error' condition correctly
  27. ./ * SC97164 - Update to level 4.3.2
  28. ./ *               U p d a t e s ...
  29. ./ * SC93236 - Support long userid's and file names (MUSIC)
  30. ./ R 00917000          $ 917000 500                   08/26/93 13:03:01
  31.          LH    9,DESTL       Length of string                  @SC93236
  32. ./ R 00997000          $ 997000 300                   08/24/93 16:50:09
  33. LFCODE   EQU   16                                              @SC93236
  34. LFID     EQU   64            Max length of filespec            @SC93236
  35. FABFN    DS    CL(LFID)      MUSIC filename & code             @SC93236
  36. ./ R 01025000 01027000 $ 1025000 1000                 08/24/93 16:50:09
  37. UCODE    DS    CL(LFID)      User code                         @SC93236
  38. SCODE    DS    CL20          SEARCH CODE                       @SC93236
  39. FCODE    DS    CL16          CODE LOCATED BY MFINDX            @SC93236
  40. ./ R 01033000          $ 1033000 500                  08/26/93 13:03:01
  41.          MFARG XNAME=0,HINFO=0,INFIN=0,INFOUT=0,ARG=0          @SC93236
  42. ./ R 01038000          $ 1038000 500                  08/26/93 13:03:01
  43. MFNAME   MFVAR XNAME,PRE=MF,PICT=Y                             @SC93236
  44. ZHINFO   MFVAR HINFO,PRE=MF,PICT=Y                             @SC93236
  45. ./ R 01057000          $ 1057000 500                  08/27/93 12:44:16
  46. DESTL    DS    H             Non-zero if CWD set.              @SC93236
  47. ./ R 01059000 01060000 $ 1059000 1000                 08/24/93 16:50:09
  48. NXFN     DS    CL(LFID)      Pattern filespec                  @SC93236
  49. LCFN     DS    CL(LFID)      Located filename                  @SC93236
  50. ./ I 01066000          $ 1066500 500                  10/07/94 23:49:07
  51. NXFNWL   DS    H             Length of string to last wildcard @SC93236
  52. ./ D 01100000 01101000                                09/01/93 16:15:53
  53. ./ D 01111000                                         08/24/93 16:50:09
  54. ./ R 01148090          $ 1148090 10                   10/12/94 13:31:34
  55. &CWDERRM SETC 'Must be a valid MUSIC path name'                @SC93236
  56. ./ D 01157000                                         08/24/93 16:50:09
  57. ./ R 05007000 05008000 $ 5007000 200                  08/26/93 13:03:01
  58.          MVI   TRTBL+C':',1  Set to scan for separator         @SC93236
  59.          EX    7,CWDSCN      Look for separator                @SC93236
  60.          MVI   TRTBL+C':',0  Clean up table before leaving     @SC93236
  61.          BZ    CWDTRY        Not found.  Just setting directory@SC93236
  62. ./ R 05012000 05013000 $ 5011000 50                   08/26/93 13:03:01
  63. CWDTRY   LA    0,MFNAME                                        @SC93236
  64.          LA    1,LFID                                          @SC93236
  65.          LA    7,1(,7)       Set up MVCL                       @SC93236
  66.          ICM   7,8,=C' '                                       @SC93236
  67.          MVCL  0,6                                             @SC93236
  68.          TR    MFNAME,UPCASE Up-case it                        @SC93236
  69.          MFARG 0,RLAB=CWDRC,XNAME=MFNAME,RNAME=CWDNAM          @SC94272
  70.          MFGEN AREA=CWDBLK                                     @SC94272
  71.          MFSET CWDBLK,DIRSRV,R=(DIRCD)                         @SC94272
  72.          MFREQ CWDBLK                                          @SC94272
  73.          CLI   CWDRC,0       Is it valid?                      @SC94272
  74.          BNE   CWDERR        Something went wrong              @SC94272
  75.          CLC   =C'\ ',CWDNAM Just my root directory?           @SC94272
  76.          BE    CWDRSET       Yes, reset                        @SC94272
  77.          SR    1,1           Clear high bits                   @SC94272
  78.          TRT   CWDNAM,TRTBL  Find end of pathname              @SC94272
  79.          BZ    CWDERR        Impossible! No trailing blank     @SC94272
  80.          LA    0,CWDNAM+1    After the leading "\"             @SC94272
  81.          LA    2,UCODE       Start of destination string       @SC94272
  82.          LA    15,LFCODE     Max length of other userid        @SC94272
  83.          LA    14,CWDNAM+2   Start scan for code separator     @SC94272
  84. CWDCLP   CLI   0(14),C':'                                      @SC94272
  85.          BE    CWDOTH        Found it, that's the dest.        @SC94272
  86.          LA    14,1(,14)                                       @SC94272
  87.          BCT   15,CWDCLP     Keep looking                      @SC94272
  88.          BCTR  0,0           Not found, must copy whole string @SC94272
  89. CWDME    MVC   0(LFCODE,2),$USERID ... as subdirectory         @SC94272
  90.          SR    15,15                                           @SC94272
  91.          IC    15,$OWNL      Length of userid                  @SC94272
  92.          AR    2,15                                            @SC94272
  93.          MVI   0(2),C':'     End of userid                     @SC94272
  94.          LA    2,1(,2)       Set ptr for copying               @SC94272
  95. CWDOTH   SR    1,0           Length of stuff to copy           @SC94272
  96.          LA    15,0(1,2)     End of expected value             @SC94272
  97.          LA    3,UCODE+LFID  End of destination field          @SC94272
  98.          SR    3,2           Length to fill                    @SC94272
  99.          ICM   1,8,=C' '     Fill with blanks                  @SC94272
  100.          MVCL  2,0           Copy to dest field                @SC94272
  101.          LR    1,15          Ptr to end                        @SC94272
  102.          BCTR  1,0           Back up to last character         @SC94272
  103.          CLI   0(1),C':'     Ends with a separator?            @SC93236
  104.          BE    CWDOK         Yes, leave it at that             @SC93236
  105.          CLI   0(1),C'\'     Ends with a separator?            @SC93236
  106.          BE    CWDOK         Ok                                @SC93236
  107.          MVI   1(1),C'\'     No, tack on a slash               @SC93236
  108.          LA    15,1(,15)     Add to length of string           @SC93236
  109. CWDOK    LA    1,UCODE                                         @SC94272
  110.          SR    15,1          Length of string                  @SC94272
  111.          STH   15,DESTL      Save length                       @SC94272
  112.          WTEXT (1),(15)      Display now-current directory     @SC94272
  113. ./ I 05014000          $ 5014500 500                  08/26/93 13:03:01
  114. CWDSCN   TRT   0(,6),TRTBL                                     @SC93236
  115. ./ R 05017000 05019000 $ 5017000 500                  08/26/93 13:03:01
  116. CWDRSET  LA    2,UCODE       Refill default code field         @SC94272
  117.          LR    1,0           Null path name                    @SC94272
  118.          B     CWDME         Copy and blank-fill               @SC94272
  119. ./ I 05043000          $ 5043100 100                  09/30/94 18:10:31
  120. CWDBLK   MFARG 0,RLAB=CWDRC,XNAME=0,RNAME=0,PICT=Y             @SC94272
  121.          MFGEN ,                                               @SC94272
  122. CWDNAM   MFVAR RNAME,PRE=MF,PICT=Y                             @SC94272
  123. ./ R 05077000          $ 5077000 500                  08/26/93 13:03:01
  124.          MVI   0(1),C' '     Clear the filename to blanks      @SC93236
  125.          MVC   1(LFID-1,1),0(1)                                @SC93236
  126. ./ R 05091000 05092000 $ 5091000 500                  08/26/93 13:03:01
  127.          MVC   0(LFID,1),UCODE  Default prefix                 @SC93236
  128.          LH    15,DESTL                                        @SC93236
  129.          AR    15,1                                            @SC93236
  130.          MVI   0(15),C'*'    Yes                               @SC93236
  131. ./ D 05101000                                         10/26/94 13:03:01
  132. ./ R 05105000 05113000 $ 5105000 1000                 08/26/93 13:03:01
  133. * Fall through to treatment of received file header            @SC93236
  134. FSPHD    MVC   0(LFID,1),UCODE Default code                    @SC93236
  135.          LH    15,DESTL                                        @SC93236
  136.          AR    15,1                                            @SC93236
  137.          MVI   0(15),C'$'    Default fn                        @SC93236
  138. ./ I 05129000          $ 5129200 200                  10/26/94 13:03:01
  139. FSPCKNSP TRT   0(,1),TRTBL                                     @SC93236
  140. FSPVALC  TR    0(,8),FSPTAB  Make valid fn chars               @SC93236
  141. ./ R 05133600 05140000 $ 5134000 200                  08/24/93 16:50:09
  142.          MVC   0(LFID,8),UCODE Add the user code in case needed@SC93236
  143.          LR    9,8           Yes, keep current user code       @SC93236
  144. FSPCPCLP LA    9,1(,9)                                         @SC93236
  145.          CLI   0(9),C':'     (UCODE always has a ":")          @SC93236
  146.          BNE   FSPCPCLP      Find end of user code in output   @SC93236
  147.          CLI   0(6),C'\'     "Absolute" path for current user? @SC93236
  148.          BNE   FSPCPOTH      No, but maybe another user        @SC93236
  149.          LA    0,1(,9)       Yes, keep just user code+colon    @SC93236
  150.          B     FSPCPSEP      Go tack on the path               @SC93236
  151. FSPCPOTH MVI   TRTBL+C':',9  Set to find end of code           @SC93236
  152.          LA    15,LFCODE     Nominal length of code (not ":")  @SC93236
  153.          CR    15,7          See if string is long enough      @SC93236
  154.          BNH   *+6                                             @SC93236
  155.           LR   15,7          Separator must be in name         @SC93236
  156.          LR    1,6           Start of possible code in input   @SC93236
  157.          XR    2,2           Clear result value                @SC93236
  158.          EX    15,FSPCKNSP   Find end of code, if any          @SC93236
  159.          CLM   2,1,TRTBL+C':' Found a colon?                   @SC93236
  160.          MVI   TRTBL+C':',0  Reset table                       @SC93236
  161.          BE    FSPCPICD      Found separator.  Absolute path   @SC93236
  162.          AH    0,DESTL       Use whole destination string      @SC93236
  163.          B     FSPCPSEP      All set                           @SC93236
  164. FSPCPICD SR    1,6           Get offset to colon               @SC93236
  165.          LA    9,0(1,8)      Where it will be in output field  @SC93236
  166. * Now R0->where to copy input string, R8->output field         @SC93236
  167. FSPCPSEP LA    1,LFID(,8)    End of name field                 @SC93236
  168.          SR    1,0           Length remaining to fill          @SC93236
  169.          TM    FSPFLG,FFRCF                                    @SC93236
  170. ./ R 05143000          $ 5143000 200                  10/27/94 20:25:18
  171. FSPCPN   LR    2,0                                             @SC93236
  172.          SR    2,8           Length being preserved in output  @SC93236
  173.          AR    2,7           Length to be copied - 1           @SC93236
  174.          LA    7,1(7)                                          @SC93236
  175. ./ I 05145000          $ 5145500 500                  10/27/94 20:25:18
  176.          SR    2,7           Deduct anything uncopied          @SC93236
  177. ./ R 05147000          $ 5147000 100                  10/26/94 16:50:09
  178.          BAL   14,FSPTVAL    Error if name was too long        @SC93236
  179. ./ I 05148000          $ 5148020 20                   10/26/94 16:50:09
  180.          MVC   FSPFN,0(8)    Copy tentative version of name    @SC93236
  181.          CLI   FSPFLG,FFRCF                                    @SC93236
  182.          BE    FSPMVAL       Make sure it's valid for receive  @SC93236
  183.          CLI   FSPFLG,FFGET+FFRCF                              @SC93236
  184.          BE    FSPMVAL       Get 2nd name is like RECEIVE      @SC93236
  185.          CLI   FSPFLG,FFHDR                                    @SC93236
  186.          BNE   FSPCKNOK      Ok, don't bother                  @SC93236
  187. FSPMVAL  CLI   0(8),C'*'     Allow asterisk to start a code    @SC93236
  188.          EX    2,FSPVALC     Make valid fn chars               @SC93236
  189.          BNE   *+8                                             @SC93236
  190.           MVI  0(8),C'*'     Restore asterisk                  @SC93236
  191.          MVI   0(9),C':'     Restore code separator as "valid" @SC93236
  192.          MVI   TRTBL+C':',9  Set to find separators            @SC93236
  193.          MVI   TRTBL+C'\',9                                    @SC93236
  194.          LA    5,LFID-1(,8)  End of field                      @SC93236
  195.          LR    1,8                                             @SC93236
  196.          BCTR  1,0           Back up for starting              @SC93236
  197. FSPCKNLP LR    2,1           Save ptr to latest separator      @SC93236
  198.          LA    1,1(,1)       Advance to 1st byte of token      @SC93236
  199.          LA    6,17(,1)      Max for end of name               @SC93236
  200.          TRT   0(,1),FSPTAB1 Valid to start token?             @SC93236
  201.          BNZ   FSPCKNLZ      Ok                                @SC93236
  202.          CLC   =C':\',0(2)   No, is it end of user code?       @SC93236
  203.          BE    FSPCKNLZ      Ok                                @SC93236
  204. FSPCKNL1 MVI   0(1),C'$'     Insist on valid 1st char          @SC93236
  205. FSPCKNLZ LR    2,5           Ptr to last char of field         @SC93236
  206.          SR    2,1           Length-1 remaining                @SC93236
  207.          EX    2,FSPCKNSP    Find next separator, if any       @SC93236
  208.          BZ    FSPCKNF1      No more tokens                    @SC93236
  209.          CLM   2,1,TRTBL+C' ' Reached end of name?             @SC93236
  210.          BNE   FSPCKNLP      No, keep scanning                 @SC93236
  211.          LR    5,1           Yes, note the end                 @SC93236
  212.          BCTR  5,0           Point to last char                @SC93236
  213. FSPCKNF1 MVI   TRTBL+C':',0  Reset search table                @SC93236
  214.          MVI   TRTBL+C'\',0                                    @SC93236
  215.          CR    5,6           Is the name short enough?         @SC93236
  216.          BL    FSPCKNOK      Ok                                @SC93236
  217.          LA    7,LFID(,8)    End of field                      @SC93236
  218.          SR    7,6           Length to blank                   @SC93236
  219.          SR    15,15                                           @SC93236
  220.          ICM   15,8,UPCASE+C' '                                @SC93236
  221.          MVCL  6,14          Fill with blanks                  @SC93236
  222. FSPCKNOK CLC   FSPFN,0(8)    Was the name valid?               @SC93236
  223.          BAL   14,FSPTVAL    Complain if not                   @SC93236
  224. ./ I 05149000          $ 5149100 100                  10/26/94 16:50:09
  225. *
  226. FSPTVAL  BZR   14            No error, keep going              @SC93236
  227.          CLI   FSPFLG,FFHDR  Was this passed by other Kermit?  @SC93236
  228.          BER   14            Yes, use modified name            @SC93236
  229.          B     FSPINV        No, user should know better       @SC93236
  230. ./ I 05179000          $ 5179090 90                   10/27/94 21:45:49
  231.          LR    5,6           Now look back for start of name   @SC93236
  232. FSPWRN1  BCTR  5,0                                             @SC93236
  233.          CLI   0(5),C'\'                                       @SC93236
  234.          BE    FSPWRN2       Last separator is here            @SC93236
  235.          CLI   0(5),C':'     Always a code, if nothing else    @SC93236
  236.          BNE   FSPWRN1                                         @SC93236
  237. FSPWRN2  LA    5,15(,5)      Allow no more than 15             @SC93236
  238.          CR    5,6           Is this more restrictive?         @SC93236
  239.          BNL   *+6           No, keep whole name               @SC93236
  240.           LR   6,5           Yes, chop off what's necessary    @SC93236
  241. ./ R 05198000 05205000 $ 5199000 500                  08/24/93 16:50:09
  242.          LA    1,LFID-1(,4)  Scan back for start of name part  @SC93236
  243.          LR    15,1          Save ptr to last char             @SC93236
  244. FSPENCLP CLI   0(1),C':'     Look for code or last subdirect.  @SC93236
  245.          BE    FSPENC1       Found separator                   @SC93236
  246.          CLI   0(1),C'\'                                       @SC93236
  247.          BE    FSPENC1       Found last delimiter              @SC93236
  248.          BCT   1,FSPENCLP                                      @SC93236
  249. FSPENC1  MVC   0(LFID,7),1(1)                                  @SC93236
  250.          SR    15,1                                            @SC93236
  251.          LA    1,1(15,7)     End of token if no blanks         @SC93236
  252.          EX    15,FSPETRT    Find 1st blank, if any            @SC93236
  253.          EX    15,FSPETR     Convert to ASCII                  @SC93236
  254. ./ I 05208000          $ 5208300 300                  08/31/93 00:41:25
  255. FSPETRT  TRT   0(,7),TRTBL   Find 1st blank                    @SC93236
  256. FSPETR   TR    0(,7),ETOAD   ASCII it                          @SC93236
  257. ./ R 05213000 05218000 $ 5213000 200                  08/26/93 13:03:01
  258.          LA    14,UCODE                                        @SC93236
  259.          LA    15,LFID                                         @SC93236
  260.          LR    5,15          Save length if using all          @SC93236
  261.          LR    2,7                                             @SC93236
  262.          LR    3,15                                            @SC93236
  263.          ICM   15,8,UPCASE+C' '                                @SC93236
  264. FSPDSPL  CLCL  2,14                                            @SC93236
  265.          BNE   FSPDSPN                                         @SC93236
  266.          MVI   0(7),C'.'     Exact match = current directory   @SC93236
  267.          LA    15,1(,7)      Just call it "."                  @SC93236
  268.          B     FSPRET                                          @SC93236
  269. FSPDSPN  CLI   0(14),C' '    Whole UCODE included?             @SC93236
  270.          BE    FSPDSP1       Yes, abbreviate (omit prefix)     @SC93236
  271.          CLI   0(14),C'\'    No, but maybe equivalent anyway?  @SC93236
  272.          BNE   FSPDSP2       No, use all of token              @SC93236
  273.          BCTR  14,0          Maybe, look at previous char      @SC93236
  274.          CLI   0(14),C':'    End of userid?                    @SC93236
  275.          BNE   FSPDSP2       No, use all of token              @SC93236
  276.          LA    14,2(,14)     Yes, next backslash optional      @SC93236
  277.          BCTR  15,0                                            @SC93236
  278.          B     FSPDSPL       See if the rest matches           @SC93236
  279. FSPDSP1  MVC   0(LFID,7),0(2) Yes, use just the remainder      @SC93236
  280.          LR    5,15           and use the abbreviated length   @SC93236
  281. FSPDSP2  BCTR  5,0           Correct for EX                    @SC93236
  282.          LA    1,1(5,7)      End of token if no blanks         @SC93236
  283.          EX    5,FSPDSPTR                                      @SC93236
  284. ./ I 05220000          $ 5220500 500                  08/26/93 13:03:01
  285. FSPDSPTR TRT   0(,7),TRTBL   Find 1st blank                    @SC93236
  286. ./ R 05223000 05225000 $ 5223000 500                  09/01/93 11:44:20
  287. FSPTAB   DC    75C'$',C'.',2C'$',C'+$&&' dot, plus, ampersand  @SC93236
  288.          DC    09C'$',C'!$'          exclamation, dollar sign  @SC93236
  289.          DC    04C'$',C'-'           minus                     @SC93236
  290.          DC    11C'$',C'%_'          percent, underscore       @SC93236
  291.          DC    13C'$',C'#@'          pound sign, at sign       @SC93236
  292. ./ R 05228000          $ 5228000 500                  09/01/93 11:44:20
  293.          DC    07C'$',C'~STUVWXYZ'   tilde, s-z                @SC93236
  294. ./ R 05231000          $ 5231000 500                  09/01/93 11:44:20
  295.          DC    06C'$',C'\$STUVWXYZ'  backslash, S-Z            @SC93236
  296. ./ I 05233000          $ 5233100 100                  09/01/93 11:44:20
  297. *
  298. * Valid characters to start directory or file name             @SC93236
  299. FSPTAB1  DC    91X'00',C'$'       dollar                       @SC93236
  300.          DC    17X'00',C'_'       underscore                   @SC93236
  301.          DC    13X'00',C'#@'      pound sign, at sign          @SC93236
  302.          DC    68X'00',C'ABCDEFGHI' A-I                        @SC93236
  303.          DC    07X'00',C'JKLMNOPQR' J-R                        @SC93236
  304.          DC    08X'00',C'STUVWXYZ'  S-Z                        @SC93236
  305.          DC    22X'00'                                         @SC93236
  306. ./ I 05235000          $ 5235500 500                  10/26/94 16:50:09
  307. FSPFN    DS    CL(LFID)      Copy of tentative version of name @SC93236
  308. ./ R 05422000          $ 5422000 500                  08/27/93 12:44:16
  309.          MFARG XNAME=MFNAME,HINFO=ZHINFO,INFIN=ZINFIN          @SC93236
  310.          MFARG INFOUT=ZINFOUT,ARG=ZARG                         @SC93236
  311. ./ R 05426000 05428000 $ 5426000 100                  08/24/93 16:50:09
  312.          LM    5,6,SCANPTR   Save string values                @SC94272
  313.          MVC   SCANPTR,=A(1,UPCASE+C'.')                       @SC94272
  314.          KCALL CWDSET,E=(STM1A,Z) Use current directory        @SC94272
  315.          XC    LEN,LEN       Ensure no input string            @SC93236
  316.          KCALL CWDSET        Get default user code             @SC93236
  317. STM1A    STM   5,6,SCANPTR   Restore string values             @SC94272
  318. ./ D 06112000                                         08/27/93 12:44:16
  319. ./ R 06114000 06118000 $ 6114000 200                  08/27/93 12:44:16
  320.          MVI   TRTBL+C':',9  Set to catch the separator        @SC93236
  321.          TRT   NXFN(LFID),TRTBL  (known to be there)           @SC93236
  322.          MVI   TRTBL+C':',0  Restore the table                 @SC93236
  323.          LR    5,1                                             @SC93236
  324.          LA    4,NXFN        Start of pattern                  @SC93236
  325.          SR    5,4           Get length of code                @SC93236
  326.          ICM   5,8,=C' '     Use blank filling                 @SC93236
  327.          LA    0,SCODE       Fill whole SCODE field            @SC93236
  328.          LA    1,L'SCODE                                       @SC93236
  329.          MVCL  0,4                                             @SC93236
  330.          LA    4,1(,4)       Skip over the separator           @SC93236
  331.          CLI   0(4),C'\'     Starts with a backslash?          @SC93236
  332.          BNE   *+8           No, fine                          @SC93236
  333.           LA   4,1(,4)       Skip over the backslash, too      @SC93236
  334.          LA    5,NXFN+LFID                                     @SC93236
  335.          SR    5,4           Get remaining length of name      @SC93236
  336.          ICM   5,8,=C' '                                       @SC93236
  337.          LA    0,NXFN        Recopy NXFN with just name part   @SC93236
  338.          LA    1,LFID                                          @SC93236
  339.          MVCL  0,4                                             @SC93236
  340. ./ R 06121000          $ 6121000 100                  08/27/93 12:44:16
  341.          LA    0,SCODE       Yes, so use the real thing        @SC93236
  342.          LA    1,L'SCODE                                       @SC93236
  343.          LA    4,$USERID                                       @SC93236
  344.          XR    5,5                                             @SC93236
  345.          IC    5,$OWNL       Length of userid for code         @SC93236
  346.          ICM   5,8,=C' '                                       @SC93236
  347.          MVCL  0,4           Copy with blank-fill              @SC93236
  348. ./ R 06133000          $ 6133000 100                  08/27/93 12:44:16
  349. DSKNS10  STH   2,NXFNWL      Length to last wildcard           @SC93236
  350.          LA    14,$USERID    Are we searching our library?     @SC93236
  351.          XR    15,15                                           @SC93236
  352.          IC    15,$OWNL      Length of user code               @SC93236
  353.          ICM   15,8,=C' '    Compare with blank padding        @SC93236
  354.          LA    0,SCODE                                         @SC93236
  355.          LA    1,L'SCODE                                       @SC93236
  356.          CLCL  0,14                                            @SC93236
  357. ./ R 06144000          $ 6144000 500                  08/27/93 12:44:16
  358.          CALL  MFIND1,((2),F10,SCODE,F10,ZRC),VL,MF=(E,PARMAREA) C93236
  359. ./ R 06228000 06229000 $ 6228000 200                  08/27/93 12:44:16
  360. DSKFND   MVC   MFNAME(LFCODE+1),SCODE  Rebuild the filename    @SC93236
  361.          LR    14,1          Save ptr to name portion          @SC93236
  362.          TRT   MFNAME(LFCODE+1),TRTBL Find end of code         @SC93236
  363.          MVI   0(1),C':'     Insert a separator                @SC93236
  364.          LA    2,MFNAME+LFID-2                                 @SC93236
  365.          SR    2,1           Get length - 1 of remainder       @SC93236
  366.          MVC   1(,1),0(14)                                     @SC93236
  367.          EX    2,*-6         Copy rest into field              @SC93236
  368. ./ I 06244000          $ 6244050 50                   08/24/93 16:50:09
  369.          MVI   TRTBL+C'\',9  Catch any subdirectory names      @SC93236
  370.          LH    1,NXFNWL      Length to last wildcard           @SC93236
  371.          LA    15,LFID                                         @SC93236
  372.          SR    15,1          Length to scan                    @SC93236
  373.          BCTR  15,0          Set up for EX                     @SC93236
  374.          LA    1,LCFN(1)     Place to start scan for backslash @SC93236
  375.          TRT   0(,1),TRTBL                                     @SC93236
  376.          EX    15,*-6                                          @SC93236
  377.          MVI   TRTBL+C'\',0                                    @SC93236
  378.          CLI   0(1),C'\'     Got a subdirectory file?          @SC93236
  379.          BNE   NXT31         No, carry on                      @SC93236
  380.          CLI   1(1),C' '     Just a subdirectory?              @SC93236
  381.          BNE   DSKSRCH       No, a subdir file.  Skip it       @SC93236
  382.          L     15,4(,13)     Look at caller                    @SC93236
  383.          C     KSUBBASE,20+4*KSUBBASE(,15) Was it DIR?         @SC93236
  384.          BNE   DSKSRCH       No, return only files             @SC93236
  385. NXT31    DS    0H                                              @SC93236
  386. ./ R 06247000          $ 6247000 500                  08/24/93 16:50:09
  387.          CLC   FCODE(LFCODE),SCODE Is this the right code?     @SC93236
  388. ./ R 06249000          $ 6249000 500                  09/01/93 16:15:58
  389.          CALL  MATCH,(LCFN,FM64,NXFN,NXFNL,ASTER,QUEST),VL,    @SC93236+
  390. ./ I 06260500          $ 6260600 100                  08/27/93 12:44:16
  391.          LA    1,MFNAME+LFID                                   @SC93236
  392.          TRT   MFNAME(LFID),TRTBL                              @SC93236
  393.          LR    5,1                                             @SC93236
  394. ./ R 06261000 06269500 $ 6261000 500                  10/07/94 20:10:57
  395.          LA    7,CMD         Yes, build the filename with      @SC93236
  396.          LR    2,7            the attributes we want           @SC93236
  397.          LA    0,FFDSP                                         @SC93236
  398.          KCALL FSPEC,MFNAME  Get display form                  @SC93236
  399.          LR    1,7           Save ptr to start of buffer       @SC93236
  400.          LR    5,15          End of output name                @SC93236
  401.          LA    3,22          Length of name buffer             @SC93236
  402.          LR    4,2           Copy self unless too long         @SC93236
  403.          SR    5,4           Length of name                    @SC93236
  404.          CR    5,3           Room for everything on line?      @SC93236
  405.          BNH   DSKDIRL2      Ok                                @SC93236
  406.          SR    5,3           No, skip over beginning of name   @SC93236
  407.          AR    4,5                                             @SC93236
  408.          LR    5,3           Use as much as possible           @SC93236
  409. DSKDIRL2 LA    7,CMD-1(5)    Ptr to last character             @SC93236
  410.          ICM   5,8,F64+3     Get blank for padding             @SC93236
  411. ./ I 06270000          $ 6270500 500                  08/27/93 12:44:16
  412.          XR    0,0                                             @SC93236
  413. ./ R 06273000          $ 6273000 200                  08/27/93 12:44:16
  414.          MVC   0(2,2),=C'  ' Leave some blanks                 @SC88308
  415. ./ I 06279000          $ 6279100 100                  10/08/94 00:09:12
  416.          CLC   =C'. ',CMD    Is it the current directory?      @SC93236
  417.          BE    DSKDRL2       Yes, mark it                      @SC93236
  418.          CLI   0(7),C'\'     Is it a directory?                @SC93236
  419.          BNE   DSKDRL3                                         @SC93236
  420. DSKDRL2  SH    2,=H'5'       Yes, mark it such                 @SC93236
  421.          MVC   0(5,2),=C'<DIR>'                                @SC93236
  422.          AH    2,=H'5'       Restore output ptr                @SC93236
  423. DSKDRL3  DS    0H                                              @SC93236
  424. ./ R 06317000          $ 6317000 100                  09/22/94 09:44:47
  425.          LA    14,$USERID    Our own code?                     @SC93236
  426.          SR    15,15                                           @SC93236
  427.          IC    15,$OWNL      Length of user code               @SC93236
  428.          ICM   15,8,UPCASE+C' ' Pad if necessary               @SC93236
  429.          LA    0,MFHIFC      Code for file (blank padded)      @SC93236
  430.          LA    1,16          Length of field                   @SC93236
  431.          CLCL  0,14          See if we match                   @SC93236
  432. ./ I 06327000          $ 6327500 500                  08/27/93 12:44:16
  433. FM64     DC    F'-64'                                          @SC93236
  434. ./ * SC93342 - Use date transmitted with file (CMS only)
  435. ./ I 01416400          $ 1416500 100                  09/01/94 21:20:42
  436.          SSYMS ,                                               @SC93342
  437. ./ D 01416800                                         09/01/94 21:20:42
  438. ./ * SC94074 - NAK bad data packet instead of re-ACKing previous
  439. ./ I 01917000          $ 1917200 200                  03/15/94 16:25:11
  440.          CLI   STYPE,AY      See if sent a plain ACK           @SC94074
  441.          BNE   *+12          No, resend whatever it was        @SC94074
  442.           CLI  DATLSN,0      "plain" only if no data           @SC94074
  443.           BE   SENDNAK       Yes, send a NAK                   @SC94074
  444. ./ R 02579000          $ 2579000 1000                 03/15/94 16:25:11
  445. DATL     DS    F             Size of data in packet (S or R)   @SC94074
  446. ./ I 02617000          $ 2617200 200                  03/15/94 16:25:11
  447. DATLSN   DS    X             Data length in last packet sent   @SC94074
  448. ./ I 08466500          $ 8466600 100                  03/15/94 16:25:11
  449.          STC   9,DATLSN      Copy length of data sent, if any  @SC94074
  450. ./ * SC94174 - WHATAMI option for file type
  451. ./ I 01424200          $ 1424300 100                  06/23/94 22:46:07
  452. AUND     EQU   95            ASCII underscore                  @SC94174
  453. ./ I 02082200          $ 2082300 100                  06/23/94 22:46:07
  454.          MVI   WHATRU,0      No valid value anymore            @SC94174
  455. ./ R 02492000          $ 2492000 500                  06/24/94 00:00:08
  456.          DC    AL1(ABL,ABL,ABL,A0),3AL1(AUND),AL1(ABL)         @SC94174
  457. ./ I 02680000          $ 2680500 500                  06/23/94 18:34:18
  458. WHATRU   DS    X             Mode info from other Kermit       @SC94174
  459. ./ R 02716000          $ 2716000 500                  06/24/94 00:00:08
  460.          DS    AL1(ABL,ABL,ABL,A0),3AL1(AUND),AL1(ABL)         @SC94174
  461. ./ D 08159500 08160000                                06/24/94 01:36:05
  462. ./ I 08167500          $ 8167600 100                  06/24/94 01:36:05
  463.          TM    RCAPA,LONGP   Test for long packet bit          @SC94174
  464.          BZ    SPARNX        No extended packets               @SC94174
  465. ./ I 08168500          $ 8168510 10                   06/23/94 18:26:14
  466.          BAL   14,SPARFTCH   Get checkpoint flag               @SC94174
  467. *        UNCHR 4,,SCKPNT     Save for later                    @SC94174
  468.          XR    1,1           Clear checkpoint length           @SC94174
  469.          LA    15,3                                            @SC94174
  470. SPARCKPL MH    1,XLFCT+2     Shift left                        @SC94174
  471.          BAL   14,SPARFTCH   Get next checkpoint length byte   @SC94174
  472.          UNCHR 4                                               @SC94174
  473.          AR    1,4                                             @SC94174
  474.          BCT   15,SPARCKPL                                     @SC94174
  475. *        ST    1,SCKINT                                        @SC94174
  476.          BAL   14,SPARFTCH   Get WHATAMI                       @SC94174
  477.          UNCHR 4,,WHATRU                                       @SC94174
  478.          TM    WHATRU,X'20'  Valid?                            @SC94174
  479.          BZ    SPARWHT       No, skip it                       @SC94174
  480.          TM    FL2,SRV       Acting as server?                 @SC94174
  481.          BZ    SPARWHT       No, skip it                       @SC94174
  482.          IC    0,FL1         Get my file-type flag             @SC94174
  483.          SRL   0,1           Shift BINF (4) to 2-bit           @SC94174
  484.          XR    0,4           Compare (client 2-bit is binary)  @SC94174
  485.          N     0,F2          Do they match?                    @SC94174
  486.          BZ    SPARWHT       Yes, all set                      @SC94174
  487.          XI    FL1,BINF      No, switch my setting             @SC94174
  488.          MVI   TYPFIL,C'T'   Also set the subflag              @SC94174
  489.          TM    FL1,BINF                                        @SC94174
  490.          BZ    SPARWHT                                         @SC94174
  491.          MVI   TYPFIL,C'B'                                     @SC94174
  492. SPARWHT  DS    0H                                              @SC94174
  493. ./ R 08219000          $ 8219000 100                  06/23/94 18:26:14
  494.          MVI   10(9),ABL     Window size is blank              @SC86295
  495. ./ R 08229500          $ 8229500 200                  06/23/94 18:26:14
  496.          BNH   RPARS1        KMAX >= RPSIZ                     @SC94174
  497. ./ R 08230500          $ 8230500 200                  06/23/94 18:26:14
  498.          SH    5,=H'7'       Allow for long header             @SC94174
  499. ./ D 08231500                                         06/24/94 00:00:08
  500. ./ R 08233500 08234000 $ 8233400 100                  06/23/94 18:26:14
  501.          MVC   13(4,9),DEFPARM+13 No ckpt support              @SC94174
  502.          LA    4,X'24'       Bits always on in WHATAMI         @SC94174
  503.          TM    FL1,BINF      Binary?                           @SC94174
  504.          BZ    *+8                                             @SC94174
  505.           LA   4,2(,4)       Yes                               @SC94174
  506.          TM    FL2,SRV       Server mode?                      @SC94174
  507.          BZ    *+8                                             @SC94174
  508.           LA   4,1(,4)       Yes                               @SC94174
  509.          TOCHR 4,,17(9)                                        @SC94174
  510.          LA    0,18          Size of data including WHATAMI    @SC94174
  511. ./ * SC94181 - Implement level-1 restart/recovery mode (MUSIC)
  512. ./ I 00990000          $ 990300 300                   06/29/94 18:55:26
  513. FDBSIZEB DS    F             File size in bytes                @SC94181
  514. ./ I 01413600          $ 1413700 100                  09/14/94 15:49:04
  515.          GBLC  &AAARSND,&AUPDATE                               @SC94181
  516. ./ R 01415400 01415600 $ 1415400 200                  09/30/93 14:45:03
  517. &KDATE   SETC  '94/06/30'                                      @SC94181
  518. &KEDIT   SETC  '1 TEST'                                        @SC94181
  519. ./ I 01460400          $ 1460500 100                  06/28/94 18:25:34
  520. &AAARSND SETC 'RESEND'          cmd, m=3                       @SC94181
  521. ./ I 01475800          $ 1475900 100                  09/20/94 21:29:31
  522. &AUPDATE SETC 'UPDATE'          kwd->COLLISN                   @SC94181
  523. ./ I 02119000          $ 2119100 100                  09/21/94 15:17:19
  524.          CLI   ERRNUM,ERRTRC Canceled?                         @SC94181
  525.          BNE   LDERR2                                          @SC94181
  526.          CLI   REASON,STACNDAT Date too early?                 @SC94181
  527.          BER   14            Not an error                      @SC94181
  528.          CLI   REASON,STACNDSC Simply a duplicate?             @SC94181
  529.          BER   14            Not an error                      @SC94181
  530. LDERR2   DS    0H                                              @SC94181
  531. ./ R 02494000          $ 2494000 500                  06/28/94 18:25:34
  532.          DC    X'38'         Capabilities I have        SCAPA  @SC94181
  533. ./ R 03033000          $ 3033000 80                   06/28/94 18:25:34
  534.          KW    '&AAARSND',KRMSND,R,MIN=3                       @SC94181
  535. SNDKCMD  KW    '&AAASEND',KRMSND,MIN=3                         @SC94181
  536.          ORG   SNDKCMD+KWCODE                                  @SC94181
  537.          DC    X'0'          Normal send has no disp code      @SC94181
  538.          ORG   ,                                               @SC94181
  539. ./ R 03034500          $ 3034500 100                  10/15/94 18:25:34
  540. XTYKCMD  KW    '&AAXTYPE',KRMNPS,MIN=2                         @SC94181
  541.          ORG   XTYKCMD+KWCODE                                  @SC94181
  542.          DC    X'0'          Normal send has no disp code      @SC94181
  543.          ORG   ,                                               @SC94181
  544. ./ R 03081000          $ 3081000 200                  06/28/94 18:25:34
  545. KRMSND   MVC   USNCOD,KWCODE(1) Save send command abbrev       @SC94181
  546.          PTEXT '&SYSFSPC - ',AREG=1,LREG=0                     @SC94181
  547. ./ R 03094000 03095000 $ 3094000 90                   09/21/94 16:45:10
  548. KRMSNDBG SR    1,1                                             @SC94181
  549.          ICM   1,1,USNCOD    Get send command code             @SC94181
  550.          BZ    USNSND3       Fine, no special disposition      @SC94181
  551.          TM    SCAPA,8       Can we do attributes?             @SC94181
  552.          BZ    USNSNDX       No, give up right away            @SC94181
  553.          TM    ATFL2,ATFDSP  Disposition attribute enabled?    @SC94181
  554.          BZ    USNSNDX       No, can't do it                   @SC94181
  555.          TM    ATFLG,ATFTYP  Type attribute enabled?           @SC94181
  556.          BZ    USNSNDX       Can't do it                       @SC94181
  557.          TM    ATFL4,ATFEND  End-of-atts attribute enabled?    @SC94181
  558.          BZ    USNSNDX       Can't do it                       @SC94181
  559.          TM    FL1,BINF      Are we binary?                    @SC94181
  560.          BZ    USNSNDX1      No, can't do it                   @SC94181
  561. USNSND3  IC    1,ETOAD(1)    Use ASCII version of Disp code    @SC94181
  562.          XC    LEN,LEN       Clear length of Disp options      @SC94181
  563.          KCALL SEND                                            @SC94181
  564. KRMXFZ   BAL   14,LDERR      Get massaged error code           @SC94181
  565. ./ I 03096000          $ 3096080 80                   06/28/94 18:25:34
  566.          B     USNSNDZ                                         @SC94181
  567. USNSNDX  WTEXT '&ATTRIBU &AZDISAB'                             @SC94181
  568.          B     USNSNDZ                                         @SC94181
  569. USNSNDX1 WTEXT '&CANNOT.&AAARSND ->&AAAABIN'                   @SC94181
  570. USNSNDZ  DS    0H                                              @SC94181
  571. ./ I 03105000          $ 3105200 200                  06/28/94 18:25:34
  572.          MVI   USNCOD,0      No special disposition            @SC94181
  573. ./ I 03130500          $ 3130700 200                  06/28/94 18:25:34
  574. USNCOD   DS    X             Temporary flags for SEND/RESEND   @SC94181
  575. ./ I 03192000          $ 3192200 200                  09/20/94 21:29:31
  576.          KW    '&AUPDATE',SETCLSN,U                            @SC94181
  577. ./ R 03754000          $ 3754000 100                  09/20/94 21:29:31
  578. STACNTB  DC    C'-&ATTUNK.-&ATTLEN.-&ATTTYP'                   @SC94181
  579. STACNDAT EQU   (*-STACNTB)/8 Date reason code                  @SC94181
  580.          DC    C'-&ATTDAT.'                                    @SC94181
  581. ./ R 03756500          $ 3756500 100                  09/20/94 16:08:33
  582.          DC    (31-(*-STACNTB)/8)CL8'-??'                      @SC94181
  583. STACNDSC EQU   (*-STACNTB)/8 One extra reason (not in A-packet)@SC94181
  584.          DC    C'-&COLLIS.'                                    @SC94181
  585. ./ I 05843000          $ 5843500 500                  09/20/94 21:29:31
  586.          XC    FDBD(FDBINFO),FDBD  Clear it out                @SC94181
  587. ./ I 06205000          $ 6205100 100                  06/29/94 18:55:26
  588.          ICM   0,15,MFNLRC   Number of records                 @SC94181
  589.          MH    0,MFORSIZ     Record length                     @SC94181
  590.          ST    0,FDBSIZEB    Save                              @SC94181
  591. ./ I 07683000          $ 7683100 100                  06/28/94 18:25:34
  592.          CLI   SNDDSP,AR     Trying to recover?                @SC94181
  593.          BNE   SNDFIL        No, fine                          @SC94181
  594.          TM    RCAPA,X'10'   Yes, can the other Kermit do it?  @SC94181
  595.          BZ    SNDCMDER      No.  Give up                      @SC94181
  596. ./ I 07685000          $ 7685200 200                  06/28/94 18:25:34
  597.          XC    SNDBLEN,SNDBLEN Clear "recovery" length         @SC94181
  598. ./ I 07757500          $ 7757530 30                   06/28/94 18:25:34
  599.          CLI   SNDDSP,AR     Trying to recover?                @SC94181
  600.          BNE   SNDPKLX       No                                @SC94181
  601.          CLC   DATL,F3       Any byte length?                  @SC94181
  602.          BL    SNDPKLX       No                                @SC94181
  603.          CLI   0(1),A1       Is this it?                       @SC94181
  604.          BNE   SNDPKLX       No                                @SC94181
  605.          UNCHR 7,1(1)        Yes, get length of number string  @SC94181
  606.          LA    6,2(,1)       Ptr to numeric string             @SC94181
  607.          LR    14,7                                            @SC94181
  608.          BCTR  14,0                                            @SC94181
  609.          EX    14,SNDTRAT                                      @SC94181
  610.          BAL   14,GETNUM     Get file length                   @SC94181
  611.           LA   0,0           Default is to send all            @SC94181
  612.          ST    0,SNDBLEN     Save expected size                @SC94181
  613. ./ I 07760500          $ 7760700 200                  06/28/94 18:25:34
  614. SNDTRAT  TR    0(,6),ATOED   Convert to EBCDIC for decoding    @SC94181
  615. ./ I 07765000          $ 7765050 50                   06/28/94 18:25:34
  616.          L     5,SNDBLEN     Length to skip                    @SC94181
  617. SNDRECL  LTR   5,5           Any more?                         @SC94181
  618.          BNP   SNDENC        No, start sending                 @SC94181
  619.          KCALL INBUF,E=SNDEND                                  @SC94181
  620.          S     5,RBUFL       Data length in RBUF               @SC94181
  621.          BNM   SNDRECL       Keep skipping                     @SC94181
  622.          A     5,RBUFL       Must use part of this buffer      @SC94181
  623.          ST    5,RBUFP       Index of next char in RBUF        @SC94181
  624. ./ I 07797000          $ 7797200 200                  12/19/94 15:58:18
  625. SNDEND   MVC   DATL,F0       End while restarting: do nothing  @SC94181
  626. ./ I 07809000          $ 7809060 60                   09/21/94 15:58:18
  627.          CLI   ERRNUM,ERRTRC Cancelled?                        @SC94181
  628.          BNE   SNDBRKA       No, it's a solid error            @SC94181
  629.          CLI   REASON,STACNDAT Refused as duplicate (date)?    @SC94181
  630.          BE    SNDBRKP       Yes, not really an error          @SC94181
  631.          CLI   REASON,STACNDSC Refused as duplicate?           @SC94181
  632.          BE    SNDBRKP       Yes, not really an error          @SC94181
  633. SNDBRKA  DS    0H                                              @SC94181
  634. ./ I 07833000          $ 7833200 200                  06/28/94 18:25:34
  635. SNDBLEN  DS    F             Length to skip in resending file  @SC94181
  636. ./ R 07864500 07875500 $ 7865500 500                  06/29/94 20:43:04
  637. RECOVR   XC    FILFLGS,FL3   Set flag for DISP                 @SC94181
  638.          NI    FILFLGS,255-APPN-SVATT                          @SC90033
  639.          XC    FILFLGS,FL3                                     @SC86295
  640.          TM    RCAPA,X'18'   Attributes, including End?        @SC94181
  641.          BNO   RECCOL        No, do collision test now         @SC94181
  642.          TM    SCAPA,X'08'   Am I expecting A-packets?         @SC94181
  643.          BNO   RECCOL        No, do collision test now         @SC94181
  644.          TM    ATFL4,ATFEND  Will I honor the End attribute?   @SC94181
  645.          BO    RECOPN        Yes, defer collision test         @SC94181
  646. RECCOL   KCALL TCOLL,E=(RECOPN,Z)                              @SC94181
  647. ./ R 07879000 07883500 $ 7879000 1000                 06/29/94 20:43:04
  648. RECOPN   DS    0H                                              @SC94181
  649. ./ I 07892500          $ 7892560 60                   06/30/94 14:49:18
  650.          MVI   RECDISP,0     No disposition specified          @SC94181
  651.          TM    RCAPA,X'18'   Does he promise End attribute?    @SC94181
  652.          BNO   RECDAT        No, let it ride                   @SC94181
  653.          TM    SCAPA,X'08'   Am I expecting A-packets          @SC94181
  654.          BNO   RECDAT        No, but I'll accept them          @SC94181
  655.          TM    ATFL4,ATFEND  Will I honor the End attribute?   @SC94181
  656.          BNO   RECDAT        No, let it ride                   @SC94181
  657.          LA    8,RECAST      Ok, accept only A-packets for now @SC94181
  658. ./ I 07896500          $ 7896600 100                  06/29/94 21:14:51
  659.          L     2,FSIZE       Default lrecl                     @SC94181
  660.          ICM   0,15,FILPTR   Already opened?                   @SC94181
  661.          BNZ   RECDATO       Yes, fine                         @SC94181
  662. ./ I 07899500          $ 7899700 200                  06/29/94 21:14:51
  663. RECDATO  DS    0H                                              @SC94181
  664. ./ R 07908000          $ 7908000 100                  06/30/94 14:49:18
  665. RECDAK   XC    DATL,DATL     Set length to zero                @SC94181
  666. RECDAKL  BAL   2,SENDACKL    Send an ack                       @SC94181
  667. ./ R 07927000          $ 7927000 200                  09/20/94 16:42:43
  668.          BNZ   RECADTX       Invalid, stop now                 @SC94181
  669. ./ R 07930500          $ 7930500 200                  09/20/94 16:42:43
  670.          BH    RECADTX       Too big, stop now                 @SC94181
  671. ./ R 07932000          $ 7932000 200                  09/20/94 16:42:43
  672.          BNE   RECADTX       No, illegal                       @SC94181
  673. ./ R 07940500          $ 7940500 200                  09/20/94 16:42:43
  674.           BNE  RECADTX       No, error                         @SC94181
  675. ./ I 07942500          $ 7942600 100                  09/20/94 16:42:43
  676. RECADTX  MVI   ERRNUM,ERRIPS Bad syntax                        @SC94181
  677.          B     RECABR        Quit                              @SC94181
  678. ./ I 07945000          $ 7945200 200                  06/30/94 16:32:21
  679.          XC    DATL,DATL     Normally no data on ACK           @SC94181
  680. ./ R 07946000          $ 7946000 200                  06/30/94 16:32:21
  681.          BNL   RECDAKL       No, done                          @SC94181
  682. ./ R 07947000          $ 7947000 200                  06/30/94 16:32:21
  683.          BO    RECDAKL       Yes, ignore further attributes    @SC94181
  684. ./ I 07951000          $ 7951100 100                  06/30/94 14:49:18
  685.          CLC   FILPTR,F0     End attribute already seen?       @SC94181
  686.          BNE   RECRJC        Yes, this is forbidden            @SC94181
  687. ./ R 07959000          $ 7959000 200                  06/28/94 18:25:34
  688. RECDSPCD DC    AL1(11),AL3(RECADI) + - Disposition             @SC94181
  689. ./ R 07994500          $ 7994500 200                  06/28/94 18:25:34
  690. RECADI   MVC   RECDISP,0(6)  Save disp code                    @SC94181
  691.          BAL   2,RECALKP                                       @SC94181
  692. ./ I 07996000          $ 7996300 300                  06/28/94 18:25:34
  693.          DC    AL1(AR),AL3(RECCKL) Recover                     @SC94181
  694. ./ R 08026000 08026500 $ 8025800 20                   06/30/94 14:49:18
  695. RECAZZ   DS    0H            End of attributes, must be last   @SC94181
  696.          CLI   RECDISP,AR    Recover?                          @SC94181
  697.          BNE   RECAZ2        No, fine                          @SC94181
  698.          TM    FL1,BINF      Yes, make sure binary             @SC94181
  699.          BZ    RECRJD        Oops, can't do it                 @SC94181
  700.          BAL   14,RDWSET     Decide which kind of binary       @SC94181
  701.          OI    FILFLGS,APPN  Yes, must append                  @SC94181
  702. RECAZ2   TM    RCAPA,X'18'   Did other Kermit promise End att? @SC94181
  703.          BNO   RECAZ3        No, already tested collision      @SC94181
  704.          KCALL TCOLL,E=RECRJC Do it now                        @SC94181
  705. RECAZ3   XC    DATL,DATL                                       @SC94181
  706.          CLI   RECDISP,AR    Recover?                          @SC94181
  707.          BNE   RECAZ4        No, fine                          @SC94181
  708.          SR    4,4           Ok, get exact length of file      @SC94181
  709.          OPENF T,FILNAM,E=RECBLCZ Does it exist?               @SC94181
  710.          CLI   TYPFIL,C'B'   Ordinary binary?                  @SC94181
  711.          BE    RECBLCA       Yes, try shortcut                 @SC94181
  712.          MVC   FDBSIZEB-FDBD(4,1),F0 No, can't trust n*lrecl   @SC94181
  713. RECBLCA  ICM   4,15,FDBSIZEB-FDBD(1) Yes, get length, if poss. @SC94181
  714.          BNZ   RECBLCZ       Ok, got it                        @SC94181
  715.          OPENF I,FILNAM,FILFDB,FILPTR,E=RECBLCZ                @SC94181
  716. RECBLCL  KCALL INBUF,E=RECBLCZ                                 @SC94181
  717.          A     4,RBUFL       (Doing it the hard way)           @SC94181
  718.          B     RECBLCL                                         @SC94181
  719. RECBLCZ  CLOSF FILPTR        Done, close file for input        @SC94181
  720.          NI    FL1,255-EOF   Clear eof condition               @SC94181
  721.          ST    4,RECBLEN     Got total length                  @SC94181
  722.          LTR   4,4           Any?                              @SC94181
  723.          BZ    RECAZ4        No, just process normally         @SC94181
  724.          LA    0,512                                           @SC94181
  725.          ALR   0,4           Round to nearest K                @SC94181
  726.          SRL   0,10                                            @SC94181
  727.          L     6,FILFSIZ     Size of promised file             @SC94181
  728.          SLR   6,0           Amount to be sent and appended    @SC94181
  729.          BC    3,*+6         Ok                                @SC94181
  730.           SLR  6,6           All received already!             @SC94181
  731.          ST    6,FILFSIZ     Corrected size for space check    @SC94181
  732.          L     6,ASDATA      Output buffer                     @SC94181
  733.          MVI   0(6),A1       Byte-length attribute code        @SC94181
  734.          LA    15,2(,6)                                        @SC94181
  735.          BAL   2,EDDEC       Format it (clobbers R8!)          @SC94181
  736.          TR    2(9,6),ETOAD  Convert plenty to ASCII           @SC94181
  737.          SR    15,6                                            @SC94181
  738.          ST    15,DATL       Length of data field              @SC94181
  739.          LA    4,ABL-2(,15)  Number of digits (printably)      @SC94181
  740.          STC   4,1(,6)                                         @SC94181
  741. RECAZ4   DS    0H                                              @SC94181
  742.          KCALL ACCTNM,FILNAM Insert revised name, if necessary @SC94181
  743.          OPENF O,FILNAM,FILFDB,FILPTR,E=RECRJA                 @SC94181
  744.          USING FDBD,1                                          @SC94181
  745.          MVC   FSIZE,FABLRTR Copy LRECL from effective length  @SC94181
  746.          MVC   FRECF,FDBRCF  Save info                         @SC94181
  747.          DROP  1                                               @SC94181
  748.          ICM   0,15,FILFSIZ  Expected size, if known           @SC94181
  749.          BZ    RECAZ5        Not known, proceed                @SC94181
  750.          OPENF S,FILNAM,FILFDB,FILPTR,E=RECRJLL Check disk spac@SC94181
  751.          XC    FILFSIZ,FILFSIZ  No need to repeat this test    @SC94181
  752. RECAZ5   DS    0H                                              @SC94181
  753.          LA    8,RECANST     Now accept D-packets              @SC94181
  754. ./ I 08027500          $ 8027550 50                   06/28/94 18:25:34
  755. RECRJD   MVC   REASON,RECDSPCD Because of disposition          @SC94181
  756.          B     RECRJC                                          @SC94181
  757. RECRJLL  MVC   REASON,RECLNCOD Because of length               @SC94181
  758.          B     RECRJC                                          @SC94181
  759. RECRJA   MVI   REASON,6      Because of "area" (couldn't open) @SC94181
  760.          B     RECRJC                                          @SC94181
  761. ./ I 08034500          $ 8034700 200                  06/30/94 17:17:14
  762.          LA    8,RECANST     Accept A, D, or Z now             @SC94181
  763. ./ R 08036000 08036500 $ 8036000 200                  06/30/94 16:32:21
  764.          B     RECDAKL       Acknowledge                       @SC94181
  765. ./ I 08041500          $ 8041700 200                  10/28/94 22:42:46
  766.          L     5,FILPTR                                        @SC94181
  767. ./ I 08042000          $ 8042100 100                  10/28/94 22:42:46
  768.          LTR   5,5           Was the file actually open?       @SC94181
  769.          BZ    RECKEP        No, don't worry about it          @SC94181
  770. ./ R 08058500          $ 8058500 70                   09/21/94 15:17:19
  771.          BZ    RECBRKA       No, that's fine                   @SC94181
  772.          CLI   REASON,STACNDAT Refused as duplicate (date)?    @SC94181
  773.          BE    RECBRKA       Yes, not really an error          @SC94181
  774.          CLI   REASON,STACNDSC Refused as duplicate?           @SC94181
  775.          BNE   RECERP        No, send an error packet          @SC94181
  776. RECBRKA  DS    0H                                              @SC94181
  777. ./ R 08079000          $ 8079000 200                  09/21/94 01:21:04
  778. *        DC    XL1'FF',AL3(RECABR)   Stop (same as unknown)    @SC94181
  779. ./ D 08081500                                         09/21/94 01:21:04
  780. ./ R 08084000          $ 8084000 200                  06/30/94 14:49:18
  781.          DC    AL1(00),AL3(RECABR)   Error return              @SC94181
  782. RECAST   DC    AL1(AA),AL3(RECCKA)   Micro sent A-packet       @SC94181
  783. ./ I 08089500          $ 8089600 100                  06/28/94 18:25:34
  784. RECBLEN  DS    F             Length of recovery file           @SC94181
  785. RECDISP  DS    X             Requested disposition             @SC94181
  786. ./ I 08113500          $ 8113540 40                   10/28/94 22:42:46
  787. *
  788. * Copy file name from (R1) to current file table entry, if any @SC94181
  789. ACCTNM   ENTER ALT                                             @SC94181
  790.          L     3,NSENT       Number of current file            @SC94181
  791.          C     3,NSENTAC     Off the end?                      @SC94181
  792.          BNE   RTRN0         Yes, quit now                     @SC94181
  793.          BCTR  3,0           Ok, get offset                    @SC94181
  794.          MH    3,FLFID1+2    Times length of items             @SC94181
  795.          A     3,TSENT       Loc in sent-table                 @SC94181
  796.          MVC   ACTFID,0(1)   Save filespec                     @SC94181
  797.          B     RTRN0                                           @SC94181
  798. ./ R 08985500          $ 8986000 500                  06/29/94 20:43:04
  799.          TITLE 'TCOLL Routine - test for collision (RECEIV)'   @SC94181
  800. * Exit: R15=0 if ok (use name in FILNAM), else reject          @SC94181
  801. TCOLL    ENTER ,                                               @SC94181
  802.          TM    FILFLGS,APPN  Appending to old file?            @SC94181
  803.          BO    RTRN0         Yes, just do it                   @SC94181
  804.          CLI   CLSNFL,C'U'                                     @SC94181
  805.          BE    *+12          Update option overrides "warn"    @SC94181
  806.           TM   FL1,REN                                         @SC94181
  807.           BZ   RTRN0         No, just do it                    @SC94181
  808.          LA    0,FFNEW                                         @SC86295
  809.          KCALL FSPEC,FILNAM,E=RTRN1  Check collisions          @SC94181
  810.          TM    FL4,NMCHNG                                      @SC90033
  811.          BZ    RTRN0                                           @SC90033
  812.          CLI   CLSNFL,C'B'                                     @SC90033
  813.          BNE   TCLTSTD                                         @SC90033
  814.          LA    2,FILNAM      Must back up original file        @SC90033
  815.          LA    0,15          Rename it to unique new name      @SC90033
  816.          KCALL DISKIO,XFILE,E=RTRN1  Give up if rename fails   @SC90264
  817.          CLI   TRMLIN,C' '   Alt. line?                        @SC90033
  818.          BE    TCLBZ         No, be quiet                      @SC90033
  819.          INITSTR '&BACKDUP',CMD,REG=7                          @SC92300
  820.          LA    1,FILNAM                                        @SC90033
  821.          BAL   2,STAFSP      Format backup name and show it    @SC90033
  822. TCLBZ    MVC   FILNAM,XFILE  Now, just use intended name       @SC90033
  823. TCLMSG   DS    0H                                              @SC90033
  824.          CLI   TRMLIN,C' '   Alt. line?                        @SC87300
  825.          BE    RTRN0         No, be quiet                      @SC94181
  826.          INITSTR '&RECVDAS',CMD,REG=7  Yes, display message    @SC92300
  827.          LA    1,FILNAM                                        @SC87300
  828.          BAL   2,STAFSP      Format name and show it           @SC87300
  829.          B     RTRN0                                           @SC94181
  830. TCLTSTD  CLI   CLSNFL,C'D'                                     @SC90033
  831.          BNE   TCLTSTU       See if UPDATE                     @SC94181
  832.          MVI   REASON,STACNDSC Reason is collision (DISCARD)   @SC94181
  833.          B     RTRN1                                           @SC94181
  834. TCLTSTU  CLI   CLSNFL,C'U'                                     @SC94181
  835.          BNE   TCLMSG        Other case is just "rename"       @SC94181
  836.          CLI   FDATE,0                                         @SC94181
  837.          BE    TCLOKU                                          @SC94181
  838.          OPENF T,XFILE,E=TCLOKU Look at existing file          @SC94181
  839.          USING FDBD,1                                          @SC94181
  840.          CLI   FDBDATE,0     Is there a time tag?              @SC94181
  841.          BE    TCLOKU        No, skip this test                @SC94181
  842.          CLC   FDATE,FDBDATE Is the incoming file newer?       @SC94181
  843.          BH    TCLOKU        Yes, overwrite the file           @SC94181
  844.          DROP  1                                               @SC94181
  845.          MVI   REASON,STACNDAT No, reason is date              @SC94181
  846.          B     RTRN1                                           @SC94181
  847. TCLOKU   MVC   FILNAM,XFILE  Restore original name             @SC94181
  848.          B     RTRN0                                           @SC94181
  849.          LOCALS ,                                              @SC94181
  850.          EXIT  ,                                               @SC94181
  851.          END   KERMIT
  852. ./ * SC94245 - More accurate statistics after server transfers
  853. ./ R 02084000          $ 2084000 500                  05/29/92 ->4.3<-
  854.          LR    15,7          Get time supplied as "end"        @SC94245
  855. ./ I 07824500          $ 7824600 100                  05/29/92 ->4.3<-
  856.          KCALL SUPFNC,10     Get time of completion            @SC94245
  857.          LR    7,15          Save for statistics               @SC94245
  858. ./ I 08060500          $ 8060700 200                  05/29/92 ->4.3<-
  859.          KCALL SUPFNC,10     Say completion time is now        @SC94245
  860.          ST    15,RECTIMZ    Save                              @SC94245
  861. ./ R 08070000          $ 8070000 200                  05/29/92 ->4.3<-
  862. RECERP   KCALL SUPFNC,10     Say completion time is now        @SC94245
  863.          ST    15,RECTIMZ    Save                              @SC94245
  864.          KCALL ERPACK        Send error packet                 @SC94245
  865. ./ I 08070500          $ 8070700 200                  05/29/92 ->4.3<-
  866.          L     7,RECTIMZ                                       @SC94245
  867. ./ I 08089500          $ 8089550 50                   05/29/92 ->4.3<-
  868. RECTIMZ  DS    F             Ending time of transfer           @SC94245
  869. ./ * SC94262 - Leave room for table expansion (MUSIC)
  870. ./ R 01415400          $ 1415400 200                  09/30/93 14:45:03
  871. &KDATE   SETC  '94/09/20'                                      @SC94262
  872. ./ R 01513000          $ 1513000 100                  09/20/94 17:56:54
  873.          L     3,PTATOED                                       @SC94262
  874.          MVC   ATOE,0(3)                                       @SC94262
  875. ./ R 01515000          $ 1515000 1000                 09/20/94 17:56:54
  876.          MVC   TATOE,0(3)                                      @SC94262
  877. ./ R 01893000          $ 1893000 300                  09/20/94 17:56:54
  878.          L     4,PTATOED                                       @SC94262
  879.          TR    0(LEMSG,1),0(4) Convert to EBCDIC               @SC94262
  880. ./ I 02453000          $ 2453200 200                  09/20/94 17:56:54
  881. PTATOED  DC    A(ATOED)      Address of ASCII-to-EBCDIC def.   @SC94262
  882. ./ I 02519000          $ 2519500 500                  09/20/94 17:56:54
  883. DEFTBLS  CSECT                                                 @SC94262
  884. ./ I 02536000          $ 2536500 500                  09/20/94 17:56:54
  885. COMMON   CSECT                                                 @SC94262
  886. ./ R 03354000          $ 3354000 200                  09/20/94 17:56:54
  887. SETTAT2  L     2,PTATOED     Address of original               @SC94262
  888. ./ R 03635000          $ 3635000 100                  09/20/94 17:56:54
  889.          L     8,PTATOED                                       @SC94262
  890.          TR    TMP,0(8)      Convert to EBCDIC                 @SC94262
  891. ./ R 03840000          $ 3840000 200                  09/20/94 17:56:54
  892. GIVA1    L     0,PTATOED                                       @SC94262
  893. ./ I 05099000          $ 5099500 500                  09/20/94 17:56:54
  894.          L     14,PTATOED                                      @SC94262
  895. ./ R 05102300          $ 5102300 100                  09/20/94 17:56:54
  896. FSPTRAE  TR    0(,5),0(14)                                     @SC94262
  897. ./ R 07610500          $ 7610500 200                  09/20/94 17:56:54
  898.           L    14,PTATOED    Use default if "transparent"      @SC94262
  899. ./ R 07690000          $ 7690000 100                  09/20/94 17:56:54
  900.          L     2,PTATOED                                       @SC94262
  901.          TR    0(250,15),0(2) Back to EBCDIC                   @SC94262
  902. ./ I 07757800          $ 7757810 10                   09/20/94 17:56:54
  903.          L     4,PTATOED                                       @SC94262
  904. ./ R 07760700          $ 7760700 100                  09/20/94 17:56:54
  905. SNDTRAT  TR    0(,6),0(4)    Convert to EBCDIC for decoding    @SC94262
  906. ./ R 07859000          $ 7859000 100                  09/20/94 17:56:54
  907.          L     14,PTATOED                                      @SC94262
  908.          TR    0(256,1),0(14) Convert to std EBCDIC            @SC94262
  909. ./ I 07925500          $ 7925700 200                  09/20/94 17:56:54
  910.          L     4,PTATOED                                       @SC94262
  911. ./ R 07973000          $ 7973000 100                  09/20/94 17:56:54
  912.          L     14,PTATOED                                      @SC94262
  913.          IC    4,0(4,14)     Ok, set file type as well         @SC94262
  914. ./ I 07978500          $ 7978700 200                  09/20/94 17:56:54
  915.          L     4,PTATOED                                       @SC94262
  916. ./ I 07984000          $ 7984200 200                  09/20/94 17:56:54
  917.          L     4,PTATOED                                       @SC94262
  918. ./ R 07987500          $ 7987500 200                  09/20/94 17:56:54
  919. RECTRAT  TR    0(,6),0(4)    Convert to EBCDIC for decoding    @SC94262
  920. ./ R 08013000          $ 8013000 100                  09/20/94 17:56:54
  921.          L     1,PTATOED                                       @SC94262
  922.          TR    0(94,4),0(1)  Convert to EBCDIC                 @SC94262
  923. ./ R 08397000          $ 8397000 100                  09/20/94 17:56:54
  924.          L     4,PTATOED                                       @SC94262
  925.          TR    0(5,6),0(4)   No, must be 5-byte ASCII prefix   @SC94262
  926. ./ R 08584000          $ 8584000 100                  09/20/94 17:56:54
  927.          L     4,PTATOED                                       @SC94262
  928.          TR    STOPBUF,0(4)                                    @SC94262
  929. ./ * SC94264 - Avoid spurious error message for host commands (MUSIC)
  930. ./ R 01415400          $ 1415400 200                  09/30/93 14:45:03
  931. &KDATE   SETC  '94/09/30'                                      @SC94264
  932. ./ I 05293000          $ 5293200 200                  10/12/94 14:05:00
  933.          FTOKN N=SFCHBAD     Skip over leading blanks          @SC94264
  934.          L     4,ADR         Save adr of string                @SC94264
  935.          L     5,LEN         Save length of string             @SC94264
  936. ./ I 05295000          $ 5295050 50                   10/12/94 14:05:00
  937.          LA    6,128+64+32   Flags for subshell                @SC94264
  938.          TM    SVCFLG,INTERCPT Intercepting messages?          @SC94264
  939.          BZ    *+8           Ok                                @SC94264
  940.           LA   6,128+64+32   No display (can't intercept)      @SC94264
  941.          STM   5,6,SFCPRMS   Save length and option codes      @SC94264
  942.          CALL  NXTCMD,((4),SFCPRMS,SFCPRMS+4),VL,MF=(E,PARMAREA) C94264
  943.          CALL  GETRET,SFCPRMS,VL,MF=(E,PARMAREA)               @SC94264
  944.          L     15,SFCPRMS                                      @SC94264
  945.          CH    15,=H'1000'   Code for non-existant cmd?        @SC94264
  946.          BE    RTRNM1        Yes                               @SC94264
  947.          B     SFCRC                                           @SC94264
  948. SFCPRMS  EQU   PARMAREA+12                                     @SC94264
  949. ./ I 05302000          $ 5302500 500                  10/06/94 15:10:26
  950.          KW    'CD',SFCCWD                                     @SC94264
  951. ./ I 05304000          $ 5304100 100                  10/06/94 15:10:26
  952. SFCCWD   FTOKN N=SFCPWD      If no argument, just do current   @SC94264
  953.          KCALL CWDSET        Yes, try to set directory         @SC94264
  954.          B     SFCRC         Report if failure                 @SC94264
  955. SFCPWD   LH    0,DESTL       Length of string                  @SC94264
  956.          WTEXT UCODE,(0)     Display it                        @SC94264
  957.          B     RTRN0                                           @SC94264
  958. ./ R 05306000          $ 5306000 300                  09/23/94 20:08:36
  959.          LA    0,FFUTL+FFWLD Default to dir *                  @SC94264
  960.          B     SFCUT0                                          @SC94264
  961. ./ I 05315000          $ 5315500 500                  09/23/94 20:08:36
  962. SFCUT0   DS    0H                                              @SC94264
  963. ./ R 05328840          $ 5328840 20                   09/22/94 15:23:46
  964. SFCZRC   LR    15,4                                            @SC94264
  965.          TM    FL1,TSTF                                        @SC94264
  966.          BO    RTRN          Retain any error code if testing  @SC94264
  967. ./ * SC94287 - Prevent or recover from lost screen (MUSIC)
  968. ./ I 01024000          $ 1024500 500                  10/17/94 19:59:06
  969. STMSAV   DS    F        Saved message bit for user             @SC94287
  970. ./ R 01415400          $ 1415400 200                  09/30/93 14:45:03
  971. &KDATE   SETC  '94/10/17'                                      @SC94287
  972. ./ I 05458000          $ 5459000 300                  10/17/94 19:47:07
  973.          CALL  MSGBIT,(F0,F0,STMSAV),VL,MF=(E,PARMAREA) Msg flg@SC94287
  974.          CALL  MSGBIT,(F1,F0,F1),VL,MF=(E,PARMAREA) Msg off    @SC94287
  975. ./ I 05466000          $ 5466500 500                  10/17/94 19:47:07
  976.          CALL  MSGBIT,(F1,F0,STMSAV),VL,MF=(E,PARMAREA) Restore@SC94287
  977. ./ R 05687000 05688000 $ 5687000 1000                 10/15/94 01:26:33
  978. SCRCLRA  MVC   FSFSFG(2),=X'8460' Set up FSIO                  @SC94287
  979. ./ I 05714500          $ 5714600 100                  10/15/94 01:26:33
  980.          MVC   SCRARGSV,ZFSARG                                 @SC94287
  981.          LA    4,5           Max tries to recover screen       @SC94287
  982. SCRNEXLP DS    0H                                              @SC94287
  983. ./ R 05716200          $ 5716200 10                   10/15/94 01:26:33
  984.          CLI   SCRRC,11      Lost screen?                      @SC94287
  985.          BNE   SCRRD2        No, rejoin                        @SC94287
  986.          TM    SCRRC+1,X'40' Lost screen?                      @SC94287
  987.          BZ    SCRRD2        No, rejoin                        @SC94287
  988.          BCT   4,SCRBRK      Go recover unless retries exhaust @SC94287
  989.          B     RTRN0         Error, say no data received       @SC94287
  990. SCRBRK   XC    ZFSARG(20),ZFSARG  Clear FSIO Control Block     @SC94287
  991.          MVC   FSFSFG(2),=X'8460' Set up FSIO                  @SC94287
  992.          MVC   CONSSAV,CONSOPR                                 @SC94287
  993.          MVI   CONSOPR,RTRYCOD-CONSOPRS                        @SC94287
  994.          BAL   9,SCRNEX      Clear screan                      @SC94287
  995.          MVC   FSFSFG(2),SCRFGS+4 Erase/write flags            @SC94287
  996.          LA    0,LRTRYCM                                       @SC94287
  997.          ST    0,FSFSWL      Copy buffer length                @SC94287
  998.          LA    0,RTRYCM      Dummy write                       @SC94287
  999.          ST    0,FSFSWB      Copy buffer address               @SC94287
  1000.          BAL   9,SCRNEX      Erase/write to reset              @SC94287
  1001.          LA    1,RTRYCM                                        @SC94287
  1002.          LA    2,LRTRYCM                                       @SC94287
  1003.          BAL   7,SCRLOGD     Log the dummy data                @SC94287
  1004.          MVC   CONSOPR,CONSSAV Restore                         @SC94287
  1005.          MVC   ZFSARG(20),SCRARGSV                             @SC94287
  1006.          B     SCRNEXLP      Try again                         @SC94287
  1007. ./ R 05730200          $ 5730200 100                  10/15/94 01:26:33
  1008.          LA    2,4                                             @SC94287
  1009. ./ I 05743600          $ 5743700 100                  10/15/94 01:26:33
  1010. RTRYCOD  DC    C'b'          For recovery                      @SC94287
  1011. RTRYCM   DC    &S1CMD                                          @SC94287
  1012. LRTRYCM  EQU   *-RTRYCM                                        @SC94287
  1013. ./ I 05744600          $ 5744700 100                  10/15/94 01:26:33
  1014. SCRARGSV DS    XL20          Saved I/O block                   @SC94287
  1015. CONSSAV  DS    XL1           Saved I/O operation               @SC94287
  1016. ./ * SC94299 - Make GIVE CONTROL subcommand work (MUSIC)
  1017. ./ R 00853000 00861000 $ 853000 1000                  10/27/94 00:09:00
  1018. &LABEL   READF &TICK,BUFFER=&BUFFER,BSIZE=&BSIZE,E=&E,CODE=10  @SC94299
  1019. ./ R 00865000 00866000 $ 865000 1000                  10/27/94 00:09:00
  1020. &LABEL   READF &TICK,&NONUM,&BUFFER=,&BSIZE=,&E=,&CODE=9       @SC94299
  1021. .* Read from disk file (or write) (see WRITF, but also...)     @SC94299
  1022. ./ I 00867000          $ 867100 100                   10/27/94 00:09:00
  1023.          LCLC  &R                                              @SC86299
  1024.          LCLA  &C                                              @SC88101
  1025. &C       SETA  &CODE                                           @SC88101
  1026.          AIF   (T'&NONUM EQ 'O').RDC                           @SC88101
  1027.          AIF   ('&NONUM' NE 'NONUM').ER1                       @SC88101
  1028. &C       SETA  0             Code 0 means exclude sequence nos.@SC88101
  1029. .RDC     ANOP                                                  @SC88101
  1030. ./ R 00870000 00871000 $ 870000 200                   10/27/94 00:09:00
  1031.          AIF   ('&BUFFER'(1,1) NE '(').BLA                     @SC86299
  1032. &R       SETC  '&BUFFER(1)'                                    @SC86299
  1033.          AGO   .BST                                            @SC86299
  1034. .BLA     LA    15,&BUFFER                                      @SC86299
  1035. &R       SETC  '15'                                            @SC86299
  1036. .BST     ST    &R,FDBBUFF-FABD(1)                              @SC86299
  1037. ./ R 00873000 00879000 $ 873000 1000                  10/27/94 00:09:00
  1038.          AIF   ('&BSIZE'(1,1) NE '(').SLA                      @SC86299
  1039. &R       SETC  '&BSIZE(1)'                                     @SC86299
  1040.          AGO   .SST                                            @SC86299
  1041. .SLA     LA    15,&BSIZE                                       @SC86299
  1042. &R       SETC  '15'                                            @SC86299
  1043. .SST     ST    &R,FDBBSIZ-FABD(1)                              @SC86299
  1044. .RGO     LA    0,&C                                            @SC88101
  1045. ./ R 01415400          $ 1415400 200                  10/26/94 14:45:03
  1046. &KDATE   SETC  '94/10/30'                                      @SC94299
  1047. ./ * SC95023 - Fix RESEND for already-sent file, implement APC subcmd.
  1048. ./ R 01415400          $ 1415400 200                  01/23/95 11:12:19
  1049. &KDATE   SETC  '95/01/23'                                      @SC95023
  1050. ./ I 01422200          $ 1422300 100                  01/23/95 11:12:19
  1051. AESC     EQU   27            ASCII ESC                         @SC95023
  1052. ./ I 01424000          $ 1424100 100                  01/23/95 11:12:19
  1053. ABSL     EQU   92            ASCII backslash                   @SC95023
  1054. ./ I 03028500          $ 3028700 200                  01/23/95 11:12:19
  1055.          KW    'APC',USNAPC,MIN=3                              @SC95023
  1056. ./ I 03103000          $ 3103030 30                   01/23/95 11:12:19
  1057. *
  1058. USNAPC   L     5,ADR         Pointer to rest of line           @SC95023
  1059.          ICM   4,15,LEN      Remaining data length             @SC95023
  1060.          BNP   KRMXPEH       Go if nothing specified           @SC95023
  1061.          L     3,RBUF                                          @SC95023
  1062.          ICM   0,2,ATOE+AESC Get special wrapper for APC       @SC95023
  1063.          ICM   0,1,ATOE+AUND Must use current EBCDIC codes     @SC95023
  1064.          STCM  0,3,0(3)                                        @SC95023
  1065.          MVC   2(256,3),0(5) Copy to disk read buffer          @SC95023
  1066.          AR    4,3           Get end                           @SC95023
  1067.          ICM   0,1,ATOE+ABSL Closing wrapper                   @SC95023
  1068.          STCM  0,3,2(4)                                        @SC95023
  1069.          LA    4,4(4)        Account for wrapper               @SC95023
  1070.          B     USNAPC1                                         @SC95023
  1071. ./ D 03105200                                         01/23/95 11:12:19
  1072. ./ I 03106500          $ 3106700 200                  01/23/95 11:12:19
  1073. USNAPC1  MVI   USNCOD,0      No special disposition            @SC95023
  1074. ./ R 07765100          $ 7765100 50                   01/23/95 19:14:24
  1075.          LTR   5,5           Any?                              @SC95023
  1076. ./ R 07765200          $ 7765200 50                   01/23/95 19:14:24
  1077. SNDRECL  KCALL INBUF,E=SNDEND                                  @SC95023
  1078. ./ R 07765300          $ 7765300 50                   01/23/95 19:14:24
  1079.          BH    SNDRECL       Keep skipping                     @SC95023
  1080. ./ * SC95032 - Allow Recovery into almost-full file system
  1081. ./ R 01415400          $ 1415400 200                  02/01/95 12:29:03
  1082. &KDATE   SETC  '95/02/01'                                      @SC95032
  1083. ./ I 07986000          $ 7986080 80                   02/01/95 16:54:31
  1084.          TM    RCAPA,X'18'   Attributes, including End?        @SC95032
  1085.          BNO   RECAL3        No, do space test now             @SC95032
  1086.          TM    ATFL4,ATFEND  Will I honor the End attribute?   @SC95032
  1087.          BO    RECCKL        Yes, defer space test             @SC95032
  1088. RECAL3   DS    0H                                              @SC95032
  1089. ./ * SC95033 - Update to level 4.3.1
  1090. ./ R 01415400 01415600 $ 1415400 200                  02/02/95 12:29:03
  1091. &KDATE   SETC  '95/02/02'                                      @SC95033
  1092. &KEDIT   SETC  '1'                                             @SC95033
  1093. ./ * SC95059 - Preserve transmitted time tag for RESENT file
  1094. ./ I 08026040          $ 8026050 10                   02/28/95 19:49:43
  1095.          MVC   RECBDAT,FDATE Save date for output file         @SC95059
  1096. ./ I 08026280          $ 8026290 10                   02/28/95 19:49:43
  1097.          MVC   FDATE,RECBDAT Restore date for output file      @SC95059
  1098. ./ I 08089600          $ 8089650 50                   02/28/95 19:49:43
  1099. RECBDAT  DS    XL7           Saved date for output file        @SC95059
  1100. ./ * SC95108 - Prevent error-free transfers from halting TAKE files
  1101. ./ I 02116000          $ 2116500 500                  04/18/95 18:47:43
  1102. * Set CC according to R15.                                     @SC95108
  1103. ./ R 02120000          $ 2120490 490                  04/18/95 18:47:43
  1104.          ICM   15,1,ERRNUM   Return status code                @SC95108
  1105. ./ * SC95174 - Implement REGET subcommand
  1106. ./ R 01413700          $ 1413700 40                   06/23/95 21:21:34
  1107.          GBLC  &AAARSND,&AUPDATE,&AAARGET                      @SC95174
  1108. ./ I 01460400          $ 1460450 50                   06/23/95 21:21:34
  1109. &AAARGET SETC 'REGET'           cmd, m=3                       @SC95174
  1110. ./ R 03030500          $ 3030500 200                  06/23/95 21:13:35
  1111.          KW    '&AAAAGET',KRMGET,R                             @SC95174
  1112. ./ I 03032000          $ 3032200 200                  06/23/95 21:13:35
  1113.          KW    '&AAARGET',KRMGET,J,MIN=3                       @SC95174
  1114. ./ R 03034700          $ 3034700 40                   06/23/95 21:13:35
  1115.          DC    X'0'          Normal type has no disp code      @SC95174
  1116. ./ R 03052500          $ 3052500 100                  06/23/95 21:13:35
  1117. KRMGET   MVC   USNCOD,KWCODE(1) Save send command abbrev       @SC95174
  1118.          PTEXT '&FORFSPC - ',AREG=1,LREG=0                     @SC95174
  1119. ./ R 03065000          $ 3065000 100                  06/23/95 21:13:35
  1120.          MVC   STYPE,USNCOD  Type = receive initiate (R/J)     @SC95174
  1121.          TR    STYPE,ETOAD                                     @SC95174
  1122. ./ I 07508500          $ 7508700 200                  06/23/95 21:13:35
  1123.          DC    AL1(AJ),AL3(SRVSND)  Micro wants to get a file  @SC95174
  1124. ./ R 07530500          $ 7530500 100                  06/23/95 21:13:35
  1125.          SR    1,1           Normal send is code 0             @SC95174
  1126.          CLI   RTYPE,AJ      Is it a REGET?                    @SC95174
  1127.          BNE   *+8                                             @SC95174
  1128.           LA   1,AR          Yes, use the RESEND code          @SC95174
  1129.          KCALL SEND                                            @SC95174
  1130. ./ * SC96122 - Avoid endless double transmission from windowed Kermit
  1131. ./ R 01917400 01917800 $ 1917400 100                  05/02/96 20:09:53
  1132.          BNE   SENDRTA       No, resend whatever it was        @SC96122
  1133.          CLI   DATLSN,0      "plain" only if no data           @SC96122
  1134.          BNE   SENDRTA       No, resend whatever it was        @SC96122
  1135.          CLC   RSN,SSN       Yes, did we rereceive the prev?   @SC96122
  1136.          BNE   SENDNAK       No, must be bad packet, send NAK  @SC96122
  1137. SENDRTA  DS    0H                                              @SC96122
  1138. ./ I 02619000          $ 2619100 100                  05/02/96 20:09:53
  1139. SSN      DS    X             Last sent pkt number              @SC96122
  1140. ./ I 08473000          $ 8473200 200                  05/02/96 20:09:53
  1141.          MVC   SSN,SEQ       Save an extra copy                @SC96122
  1142. ./ * SC96151 - Add system ID to INIT packets
  1143. ./ R 08234300          $ 8234250 50                   05/31/96 22:26:14
  1144.          MVC   18(LSYSATR-1,9),SYSATR+1 Copy system ID         @SC96151
  1145.          LA    0,18+LSYSATR-1   Size of data including ID      @SC96151
  1146. ./ * SC96158 - Never skip sending an I-packet while in remote mode
  1147. ./ I 01934000          $ 1934300 300                  06/06/96 23:14:40
  1148.          CLI   TRMLIN,C' '   Alt. line?                        @SC96158
  1149.          BE    IPKGO         No, send I-packet regardless      @SC96158
  1150. ./ I 01936000          $ 1936500 500                  06/06/96 23:14:40
  1151. IPKGO    DS    0H                                              @SC96158
  1152. ./ * SC97028 - Clear 'Kermit command error' condition correctly
  1153. ./ I 02279000          $ 2279500 500                  01/28/97 20:49:24
  1154. LUPWRT   WTEXT (3),(4)                                         @SC97028
  1155. ./ R 02288000          $ 2288000 500                  01/28/97 20:49:24
  1156.          WTEXT (3),(4)                                         @SC97028
  1157. ./ * SC97164 - Update to level 4.3.2
  1158. ./ R 01415400 01415600 $ 1415400 200                  06/13/97 12:29:03
  1159. &KDATE   SETC  '97/06/13'                                      @SC97164
  1160. &KEDIT   SETC  '2'                                             @SC97164
  1161. ./ * End of updates
  1162.