ckurzsz.ini
上传用户:dufan58
上传日期:2007-01-05
资源大小:3407k
文件大小:4k
源码类别:

通讯/手机编程

开发平台:

Windows_Unix

  1. ; CKURZSZ.INI -- UNIX C-Kermit X/Y/ZMODEM extern protocol macros.
  2. ;
  3. ; F. da Cruz and C. Gianone, Columbia University, July 1994.
  4. ; Modeled after earlier non-REDIRECT macros by Rick Calder at AT&T.
  5. ;
  6. ; Most recent update: Mon Sep  5 13:00:32 1994
  7. ;
  8. ; NOTE: This file is obsolete as of C-Kermit 6.0, which supports
  9. ; external protocols directly with its SET PROTOCOL command.
  10. ;
  11. ; UNIX C-Kermit Macros to run UNIX Xmodem, Ymodem, and Zmodem as external
  12. ; protocols when C-Kermit is in local mode, i.e. over SET LINE, SET HOST, or
  13. ; TELNET connections.
  14. ;
  15. ; To use, "take ckurzsz.ini" to define the following macros:
  16. ;
  17. ;   SX - Send with Xmodem    RX - Receive with Xmodem
  18. ;   SB - Send with Ymodem    RB - Receive with Ymodem
  19. ;   SZ - Send with Zmodem    RZ - Receive with Zmodem
  20. ;
  21. ; Each macro each takes the same arguments as the corresponding UNIX program.
  22. ; No validation is performed on the arguments except to ensure that the
  23. ; minimum number of them is supplied in each case.  If so, the program is run
  24. ; with the given arguments with its input and output redirected to Kermit's
  25. ; communication channel.  If not, the macro prints an error message and fails.
  26. ;
  27. ; It is assumed that sx, rx, sb, rb, sz, and rz are in your UNIX PATH, and
  28. ; that they are the pre-1989 versions that allow their standard input and
  29. ; output to be redirected.
  30. ;
  31. ; If this version of C-Kermit has the REDIRECT command, it is used and these
  32. ; macros will work no matter what your shell is.  Otherwise your current shell
  33. ; must be ksh or bash for i/o redirection of v(ttyfd).  Note: both ksh and
  34. ; bash report themselves as /bin/ksh (or /usr/bin/ksh) via the SHELL
  35. ; environment variable.
  36. ;
  37. ; DISCLAIMER:
  38. ;   These macro definitions are included with C-Kermit as a convenience to
  39. ;   users of sz/rz.  Columbia University is not a source for the sz/rz
  40. ;   software, nor does it support sz/rz in any way.  For further information
  41. ;   about sz/rz and related products, contact:
  42. ;
  43. ;     Omen Technology Inc
  44. ;     17505-V Northwest Sauvie Island Road
  45. ;     Portland, OR  97231, USA
  46. ;     Voice: +1 503 614-0430, Fax: 503 629-0665, Email: caf@omen.com
  47. ;
  48. set take error on   ; And of course, we need the script programming language.
  49. check if
  50. set take error off
  51. if not eq "v(system)" "UNIX" -
  52.   stop 1 v(cmdfile): Sorry - UNIX C-Kermit required.
  53. define _zcmd run                 ; Assume we don't have REDIRECT.
  54. xif not < v(version) 501190 { - ; See if we do.
  55.   check redirect, -
  56.   if ok def _zcmd redirect -     ; We do.
  57. }
  58. ; If no REDIRECT command, check shell, and if OK use RUN blah <&n ... >&n ...
  59. ;
  60. xif eq m(_zcmd) run { -
  61.   if not eq "$(SHELL)" "/bin/bash" -
  62.     if not eq "$(SHELL)" "/bin/ksh" -
  63.       if not eq "$(SHELL)" "/usr/bin/ksh" -
  64.         stop 1 -
  65. v(cmdfile): Sorry - ksh or bash required - read comments in v(cmdfile), -
  66. }
  67. ; Check that we are in local mode, get redirector if needed.
  68. ; This must be evaluated each time one of these macros is called in case
  69. ; the communication channel changed since last time.
  70. ;
  71. define _zchk if < v(ttyfd) 0 -
  72.   stop 1 Sorry - prior SET LINE or SET HOST required, -
  73.   if eq m(_zcmd) run asg _zio <&v(ttyfd) >&v(ttyfd)
  74. ; Send specified file(s) with Zmodem.
  75. ;
  76. define sz _zchk, if = v(argc) 1 end 1 {sz what file(s)?}, -
  77.   m(_zcmd) sz %1 %2 %3 %4 %5 %6 %7 %8 %9 m(_zio)
  78. ; Receive file(s) with Zmodem.
  79. ;
  80. define rz _zchk, m(_zcmd) rz m(_zio)
  81. ; Send specified file(s) with Ymodem.
  82. ;
  83. define sb _zchk, if = v(argc) 1 end 1 {sb what file(s)?}, -
  84.   m(_zcmd) sb %1 %2 %3 %4 %5 %6 %7 %8 %9 m(_zio)
  85. ; Receive with Ymodem.
  86. ;
  87. define rb _zchk, m(_zcmd) rb m(_zio)
  88. ; Send a single file with Xmodem.
  89. ;
  90. define sx _zchk, if = v(argc) 1 end 1 {sx what file?}, -
  91.   m(_zcmd) sx %1 %2 %3 %4 %5 %6 %7 m(_zio)
  92. ; Receive a file with Xmodem (receiver must be told the filename too).
  93. ;
  94. define rx _zchk, if = v(argc) 1 end 1 {rx what file?}, -
  95.   m(_zcmd) rx %1 m(_zio)
  96. ; End of CKURZSZ.INI