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

通讯/手机编程

开发平台:

Windows_Unix

  1. #!/usr/local/bin/kermit
  2. COMMENT - Standard C-Kermit initialization file
  3. ;
  4. ; For C-Kermit Version: 7.0.196 (but can also be used by 6.0.192)
  5. ;
  6. ; Filename:
  7. ;   .kermrc     (UNIX, OS-9, Aegis)
  8. ;   CKERMIT.INI (OS/2, VMS, OpenVMS, AOS/VS, Atari ST, Commodore Amiga)
  9. ;   ckermit.ini (Stratus VOS)
  10. ;   K95.INI     (Kermit 95 -- but this big version is not used there)
  11. ;   K2.INI      (Kermit/2  -- but ditto)
  12. ;
  13. ; Authors:
  14. ;   Frank da Cruz, Christine M. Gianone, Jeffrey Altman
  15. ;   Columbia University, New York, NY 10025-7799, USA
  16. ;
  17. ; Version 5A(188): 23 November 1992
  18. ; Version 5A(189): 29 June 1993
  19. ; Version 5A(190): 04 October 1994
  20. ; Version 5A(191): 17 April 1995
  21. ; Version 6.0.192:  6 September 1996
  22. ; Version 7.0.196:  1 January 2000
  23. ;
  24. ; This is the standard and recommended C-Kermit 7.0 initialization file.  To
  25. ; override settings or definitions made in this file, to add new settings or
  26. ; definitions, or to make any other desired customizations, create a separate,
  27. ; personal customization file called:
  28. ;
  29. ;   .mykermrc     (UNIX, OS-9, Aegis, BeBox, Plan 9)
  30. ;   CKERMOD.INI   (OS/2, VMS, OpenVMS, AOS/VS, Atari ST, Commodore Amiga)
  31. ;   ckermod.ini   (VOS)
  32. ;
  33. ; You can also define the customization filename in an environment
  34. ; variable (logical name in VMS), CKERMOD, which takes precedence over
  35. ; the names shown above.
  36. ;
  37. ; WHAT THIS FILE DOES:
  38. ;
  39. ; . The FULLSCREEN file transfer display is selected if it is available
  40. ; . Defines your default dialing directory name:
  41. ;     .kdd for UNIX, OS-9 and Aegis; CKERMIT.KDD for other operating systems.
  42. ;        You can override this with the environment variable K_DIAL_DIRECTORY
  43. ; . Defines your default network directory name:
  44. ;     .knd for UNIX, OS-9 and Aegis; CKERMIT.KND for other operating systems.
  45. ;        You can override this with the environment variable K_NET_DIRECTORY
  46. ; . Defines your default services directory name:
  47. ;     .ksd for UNIX, OS-9 and Aegis; CKERMIT.KSD for other operating systems.
  48. ;        You can override this with environment variable K_SERVICE_DIRECTORY.
  49. ; . Defines your customization file name (name given above)
  50. ; . Performs system-dependent setups for UNIX, VMS, OS/2, etc.
  51. ; . Defines an EDIT macro to let you invoke a text editor from C-Kermit.
  52. ; . Defines TSEND, BSEND, TGET, BGET macros for text and binary file transfer.
  53. ; . Defines VTPRINT, PCGET, and PCSEND macros for use with MS-DOS Kermit, etc.
  54. ; . Opens your dialing directory if you have one.
  55. ; . Reads your services directory and defines ACCESS and LIST macros for it.
  56. ; . Executes your personal customization file, if you have one.
  57. ;
  58. ; C-Kermit 6.0 is documented in the book "Using C-Kermit", 2nd Edition,
  59. ; by Frank da Cruz and Christine M. Gianone, 1997, Digital Press /
  60. ; Butterworth-Heinemann, ISBN 1-55558-164-1.  Updates are described in the
  61. ; text file, ckermit2.txt.
  62. ; Everything after this point depends on the script programming language.
  63. ; The CHECK command terminates this command file immediately if the script
  64. ; programming language (IF command) is not configured.
  65. ;
  66. set take error on ; This makes CHECK quit if no script language.
  67. check if ; Do we have an IF command?  If not, quit now.
  68. set take error off ; Back to normal.
  69. local _sd _servicedir _xp       ; Declare local variables.
  70. COMMENT - C-Kermit version 6.0 or later required.
  71. ;
  72. asg _xp v(xprogram)
  73. if not def _xp asg _xp v(program)
  74. if not equal "m(_xp)" "C-Kermit" -
  75.   stop 1 v(cmdfile): This initialization file is only for C-Kermit.
  76. echo Executing v(cmdfile) for v(system)...
  77. if < v(version) 60000 -
  78.   stop 1 v(cmdfile): C-Kermit 6.0 or later required.
  79. forward v(system) ; First do system-dependent items...
  80. :unknown ; Should not happen
  81. Stop 1 Error: System type unknown!
  82. :Aegis ; Apollo Aegis and
  83. :UNIX ; UNIX, all versions
  84. asg _myinit -
  85.   v(home).mykermrc ; Customization filename
  86. if remote forward COMMON        ; Skip local-mode items if "-R"
  87. asg _dialdir -
  88.   v(home).kdd ; C-Kermit dialing directory
  89. asg _netdir -
  90.   v(home).knd ; C-Kermit network directory
  91. asg _servicedir -
  92.   v(home).ksd ; C-Kermit services directory
  93. if findex(IRIX,v(platform)) -
  94.  set send packet-length 4000    ; Bug in IRIX Telnet server.
  95. forward COMMON                  ; End of UNIX section
  96. :OS9/68K ; OS-9
  97. asg _myinit -
  98.   v(home).mykermrc ; Customization filename
  99. if remote forward COMMON
  100. asg _dialdir -
  101.   v(home).kdd ; C-Kermit dialing directory
  102. asg _netdir -
  103.   v(home).knd ; C-Kermit network directory
  104. asg _servicedir -
  105.   v(home).ksd ; C-Kermit services directory
  106. if eq "$(TERM)" "vt100" -      ; File transfer display
  107.   set file display full         ; Only works with VT-100 terminal type
  108. else if eq "$(TERM)" "VT100" -
  109.   set file display full
  110. else set file display crt
  111. forward COMMON ; End of OS-9 section
  112. :VMS ; VMS and OpenVMS
  113. forward COMMON
  114. :OS/2 ; Kermit 95
  115. :WIN32
  116. echo This initialization file is not for use with K95.
  117. forward COMMON                  ; End of OS/2 section
  118. :AOS/VS ; Data General AOS/VS
  119. set window 1 ; Sliding windows don't work
  120. set file char dg-international ; File character-set
  121. set xfer char latin1 ; Transfer character-set
  122. set file display crt            ; File transfer fisplay
  123. def cli push ; Escape to CLI
  124. def reset - ; Macro to reset DG DASHER terminal
  125.  run write [!ascii 236 306 301]
  126. forward COMMON                  ; End of AOS/VS section
  127. :Amiga ; Commodore Amiga
  128. def cls echo 27[H27[2J ; CLS command to clear the screen
  129. set file display full           ; Supports fullscreen display
  130. set file char latin1 ; Use Latin Alphabet 1 for file transfer
  131. set xfer char latin1 ; ...
  132. forward COMMON                  ; End of Amiga section
  133. :Atari_ST ; Atari ST
  134. def cls echo 27H27J ; Clear screen a`la VT52
  135. set file display crt ; FULLSCREEN not available
  136. set server display on ; Show file xfer display in server mode too
  137. set server timeout 15 ; Nonzero required for ^C interruption!
  138. forward COMMON                  ; End of Atari ST section
  139. :Macintosh ; Apple Macintosh
  140. set server display on ; Show file xfer display in server mode too.
  141. forward COMMON
  142. :Stratus_VOS                    ; Stratus VOS
  143. asg _myinit v(home)ckermod.ini
  144. if remote forward COMMON
  145. asg _dialdir v(home)ckermit.kdd
  146. asg _netdir v(home)ckermit.knd
  147. asg _servicedir v(home)ckermit.ksd
  148. set file display crt ; FULLSCREEN not available
  149. forward COMMON                  ; End of Stratus VOS section
  150. :COMMON ; For all systems
  151. ; Define macros that are useful when running C-Kermit in remote mode.
  152. ; These macros serve no purpose on local-mode-only versions such as
  153. ; OS/2, Macintosh, Amiga, and Atari ST Kermit, so we skip defining them
  154. ; for those systems.
  155. ;
  156. if not = 0 findex(v(system),WIN32:OS/2:Macintosh:Amiga:Atari_ST) -
  157.   forward files
  158. ; VTPRINT macro.  Print a file on your PC's local printer.
  159. def VTPRINT echo 27[5i, type %1, echo 27[4i
  160. ; or if your printer needs a formfeed to force the page out:
  161. ; def VTPRINT  def echo 27[5i, type %1, echo 1227[4i
  162. ; Macros for host-initiated file transfer using APC:
  163. ;   NOT NEEDED ANY MORE because of autodownload/autoupload.
  164. ;   Remove the following FORWARD command to reinstate these definitions:
  165. :FILES
  166. ; Get customization and directory file names.  Environment variables take
  167. ; precedence, so you do not have to edit this file to change these filenames.
  168. ;
  169. if def $(CKERMOD) assign _myinit $(CKERMOD)
  170. if not def _myinit assign _myinit v(home)CKERMOD.INI
  171. if remote forward CUSTOM ; Skip all this if -R given on command line
  172. if def $(K_NET_DIRECTORY) assign _netdir $(K_NET_DIRECTORY)
  173. if not def _netdir assign _netdir v(home)CKERMIT.KND
  174. if def $(K_DIAL_DIRECTORY) assign _dialdir $(K_DIAL_DIRECTORY)
  175. if not def _dialdir assign _dialdir v(home)CKERMIT.KDD
  176. CHECK DIAL ; Is there a DIAL command?
  177. xif fail {  ; No.
  178.     echo DIAL disabled
  179.     forward CUSTOM
  180. }
  181. CHECK NETWORK
  182. xif success {
  183.     xif exist m(_netdir) {
  184. set net directory m(_netdir)
  185. echo { Network directory is m(_netdir) }
  186.     }
  187. }
  188. if eq "v(name)" "telnet" forward CUSTOM
  189. xif exist m(_dialdir) {
  190.     set dial directory m(_dialdir)
  191.     echo { Dial directory is m(_dialdir) }
  192. }
  193. COMMENT - Services directory
  194. if def $(K_SERVICE_DIRECTORY) assign _servicedir $(K_SERVICE_DIRECTORY)
  195. if not def _servicedir assign _servicedir v(home)CKERMIT.KSD
  196. if not exist m(_servicedir) forward connection
  197. echo { Services directory is m(_servicedir)}
  198. def MAX_SVCS 200               ; Adjust this if you have more entries
  199. define _sd 0                   ; Assume no services directory
  200. open read m(_servicedir)      ; Try to open services directory file
  201. xif success {
  202.     declare &d[m(MAX_SVCS)]  ; It's open, declare directory array
  203.     for %i 1 m(MAX_SVCS) 1 { ; Read the lines into the array
  204. read &d[%i]
  205. if fail break
  206.     }
  207.     close read
  208.     xif > %i  m(MAX_SVCS) {
  209. echo Too many entries in services directory
  210. echo { Maximum is m(MAX_SVCS).}
  211. echo { Change definition of MAX_SVCS in v(cmdfile) to allow more. }
  212. echo { Services directory disabled.}
  213.     } else {
  214.         asg &d[0] feval(%i - 1)
  215.         define _sd 1
  216.     }
  217. }
  218. xif not m(_sd) {
  219.     def access echo { Services directory not available.}
  220.     asg list m(access)
  221. } else {
  222.     def FIND {
  223. set case off
  224. for %i 1 &d[0] 1 {
  225.     if eq {%1} {fsubstr(&d[%i],1,flen(%1))} break
  226. }
  227. if not > %i &d[0] return &d[%i]
  228.     }
  229.     def LIST {
  230. xif > v(argc) 1 {
  231.     find %1
  232.     if def v(return) echo v(return)
  233.     else echo %1: Not found
  234. } else {
  235.     echo &d[0] items in services directory:
  236.     for %i 1 &d[0] 1 { echo fcont(&d[%i]) }
  237. }
  238.     }
  239.     def SPLIT { asg _word1 %1, asg _word2 %2 }
  240.     def DOACCESS {               ; (Used internally by ACCESS macro)
  241. do %5 %6 %7 %8 %9   ; Do the connection macro
  242. if fail end 1
  243.         split %3                ; Get words from %3
  244. asg %3 m(_word1)
  245. asg %2 m(_word2)
  246. do %3 %4 {%1} %2     ; Login macro, userid, password, prompt
  247.     }
  248.     def ACCESS {
  249. if not defined %1 end 1 access what?        ; Check service
  250. find %1                                     ; Look it up
  251. if success doaccess {%2} v(return)         ; OK, try it
  252. else end 1 "%1" not in services directory   ; Not found
  253. if fail end 1                                ; DOACCESS failed?
  254. xif eq v(cmdlevel) 1 {
  255.     echo
  256.     echo ACCESS: Login succeeded - CONNECTing...
  257.             show escape
  258.             output 13
  259.     connect /quietly
  260.         }
  261.     }
  262. }
  263. :CONNECTION ; Macros for making connections
  264. COMMENT - SERIAL macro.  Arguments:
  265. ; %1 = device name
  266. ; %2 = speed
  267. ;
  268. def SERIAL {
  269.     if < v(argc) 3                         ; All arguments given?
  270.       end 1 Usage: SERIAL device speed      ; No.
  271.     set line %1                            ; OK, try to SET LINE.
  272.     if failure -                            ; If this failed,
  273.       end 1 Can't open device: %1          ; print message and quit.
  274.     set speed %2                           ; Try to set the speed.
  275.     if fail end 1 Unsupported speed: %2    ; Failed.
  276.     echo Connection successful.             ; Succeeded.
  277. }
  278. COMMENT - NET macro.  Arguments:
  279. ; %1 = network type
  280. ; %2 = host name or address
  281. ;
  282. def NET {
  283.     if < v(argc) 3 end 1 Usage: NET network host
  284.     set network type %1
  285.     if fail end 1 unsupported network: %1
  286.     set login user                ; Don't send user ID.
  287.     set host %2
  288.     if fail end 1 Can't reach host: %2
  289.     echo Connection successful.
  290. }
  291. COMMENT - CALL macro.  Arguments:
  292. ;
  293. ; %1 = modem type
  294. ; %2 = device name
  295. ; %3 = speed
  296. ; %4 = phone number
  297. ;
  298. def CALL {
  299.     if < v(argc) 5 -         ; All arguments present?
  300.       end 1 Usage: CALL modem device speed number
  301.     xif not equal {v(modem)} {%1} { ; Set modem type
  302.         set modem %1
  303.         if fail end 1 unknown modem type: %1
  304.     }
  305.     xif not equal {v(line)} {%2} { ; Communication device
  306.         set line %2
  307.         if fail end 1 can't open device: %2
  308.     }
  309.     xif not equal {v(speed)} {%3} { ; Communication speed
  310.         set speed %3
  311.         if fail end 1 unsupported speed: %3
  312.     }
  313.     dial %4                  ; Dial the number
  314.     if fail end 1 Can't place call: %4
  315.     end 0 Connection successful.
  316. }
  317. COMMENT - TCPCALL macro.  Arguments:
  318. ;
  319. ; %1 = server name:port
  320. ; %2 = modem type
  321. ; %3 = phone number
  322. ;
  323. def TCPCALL {
  324.     if < v(argc) 4 -         ; All arguments present?
  325.       end 1 Usage: TCPCALL server[:port] modem number
  326.     set net type tcp/ip       ; Which network to use
  327.     if fail end 1 unsupported network: tcp/ip
  328.     set host %1              ; Access server and port
  329.     if fail end 1 can't access server %1
  330.     set modem %2             ; Set modem type
  331.     if fail end 1 unknown modem type: %2
  332.     dial %3                  ; Dial the number
  333.     if fail end 1 Can't place call: %3
  334.     end 0 Connection successful.
  335. }
  336. COMMENT - SPRINT macro.  Arguments:
  337. ; %1 = Service name or address
  338. ;
  339. def SPRINT {
  340.     if < v(argc) 2 end 1 Usage: %0 service
  341.     set input timeout proceed
  342.     output @D13
  343.     input 10 TERMINAL=
  344.     if fail end 1 No terminal prompt
  345.     out D113
  346.     inp 10 @
  347.     if fail end 1 No atsign prompt
  348.     output c %113
  349.     input 10 CONNECTED
  350.     if fail end 1 Can't access %1 from SprintNet
  351. }
  352. COMMENT - ULOGIN macro.  For logging into systems where user ID is required
  353. ; but there is no password.  Arguments:
  354. ; %1 = UNIX user ID
  355. ;
  356. define ULOGIN {
  357.     if < v(argc) 2 end 1 Usage: %0 userid
  358.     set input timeout proceed     ; Handle timeouts ourselves
  359.     set case on                   ; Case is important in UNIX
  360.     minput 5 login: Username: {User ID:} {User Name:}
  361.     out %113                    ; Send username, carriage return
  362.     end 0
  363. }
  364. COMMENT - VMSLOGIN macro.  Arguments:
  365. ; %1 = VMS user ID
  366. ; %2 = Password.  If password not supplied, it is prompted for.
  367. ; %3 = System prompt.  If omitted a default is supplied.
  368. ;
  369. define VMSLOGIN {
  370.     if < v(argc) 2 end 1 Usage: %0 userid [ password [ prompt ] ]
  371.     while not defined %2 {
  372.         askq %2 { %1's password: }
  373.     }
  374.     set parity none               ; Set communication parameters
  375.     set duplex full
  376.     set handshake none
  377.     set input timeout proceed     ; Handle timeouts ourselves
  378.     in 5 Username:                ; Is prompt already there?
  379.     xif fail {                    ; No.
  380.         for %i 1 3 1 {           ; Try 3 times to get it.
  381.             out 13               ; Send carriage return
  382.             in 5 Username:        ; Look for prompt
  383.             if success break      ; Success, go log in
  384.         }
  385.         if > %i 3 end 1 No Username prompt
  386.     }
  387.     out %113                    ; Send username, carriage return
  388.     inp 5 Password:               ; Wait 5 sec for this prompt
  389.     if fail end 1 No password prompt
  390.     pause                         ; Wait a sec
  391.     out %213                    ; Send password
  392.     xif not emulation {           ; No emulator built in?
  393.         set input echo off        ; Protect terminal from this
  394.         minput 10 {27Z} {27[c} {27[0c} ; Get terminal ID query
  395.         xif success {                     ; Got one
  396.             output 27[?1c               ; Send VT100 terminal ID
  397.             in 2 27[6n                   ; Screen dimension query?
  398.             if succ out 27[v(rows);v(cols)R ; Send dimensions
  399.         }
  400.         set input echo on         ; Echo input again
  401.     }
  402.     if not def %3 -              ; If we were not given a prompt
  403.       asg %3 {v(prompt)}        ; use the SET LOGIN PROMPT value
  404.     if not def %3 -              ; If we still don't have a prompt
  405.       asg %3 {13$32}           ; use this one as the default
  406.     reinp 0 %3                   ; Did we INPUT the prompt already?
  407.     if fail inp 60 %3            ; No, look now.
  408.     if fail end 1
  409. }
  410. COMMENT - UNIXLOGIN macro.  Arguments:
  411. ; %1 = UNIX user ID
  412. ; %2 = Password.  If password not supplied, it is prompted for.
  413. ; %3 = System prompt.  If omitted a default is supplied.
  414. ;
  415. define UNIXLOGIN {
  416.     local %m %i
  417.     if < v(argc) 2 -
  418.       end 1 Usage: %0 userid [ password [ prompt ] ]
  419.     while not defined %2 {
  420.         askq %2 { %1's password: }
  421.     }
  422.     set input echo on
  423.     set parity none               ; Set communication parameters.
  424.     set duplex full
  425.     set handshake none
  426.     set input timeout proceed     ; Handle timeouts ourselves
  427.     set case on                   ; Case is important in UNIX
  428.     def %m 10                    ; Waiting time for INPUT
  429.     for %i 1 5 1 {
  430.         minput %m login: {ssword:} {Password for %1:}
  431. if success break
  432. output B13
  433.         %m ::= 6-%1
  434.     }
  435.     if > %i 5 end 1 {No response from host}
  436.     xif = v(minput) 1 {   ; Have username prompt
  437. output %113   ; Send username
  438.         minput 5 {ssword:} {ssword for %1:} ; Wait for password prompt
  439. if fail end 1 {No password prompt}
  440.     }
  441.     pause                         ; Wait a sec
  442.     out %213                    ; Send password
  443.     if not def %3 -              ; If we were not given a prompt
  444.       asg %3 {v(prompt)}        ; use the SET LOGIN PROMPT value
  445.     if not def %3 -              ; If we still don't have a prompt
  446.       asg %3 {10$ }             ; use this one as the default
  447.     reinp 0 %3                   ; Did we INPUT the prompt already?
  448.     if fail inp 60 %3            ; No, look now.
  449.     if fail end 1
  450. }
  451. COMMENT - VMLINELOGIN macro.  Arguments:
  452. ; %1 = User ID
  453. ; %2 = Password
  454. ;
  455. define VMLINELOGIN {
  456.     if < v(argc) 2 -
  457.       end 1 Usage: %0 userid [ password ]
  458.     while not defined %2 {
  459.         askq %2 { %1's password: }
  460.     }
  461.     set parity mark               ; Set communication parameters
  462.     set flow none
  463.     set handshake xon
  464.     set duplex half
  465.     set input timeout quit        ; Don't bother with IF FAILURE
  466.     input 10 BREAK KEY            ; Look for BREAK KEY prompt
  467.     pause 1                       ; Wait a second
  468.     output B                     ; Send BREAK
  469.     input 10 .17, output logon %113    ; Now log in
  470.     input 10 .17, output %213          ; Send password
  471.     input 10 .17, output 13             ; Send carriage return
  472.     input 10 .17, output 13             ; Send another one
  473.     end 0
  474. }
  475. COMMENT - VMFULLOGIN macro.  Arguments:
  476. ; %1 = User ID
  477. ; %2 = Password
  478. ;
  479. define VMFULLOGIN {
  480.     if < v(argc) 2 -
  481.       end 1 Usage: %0 userid [ password ]
  482.     while not defined %2 {
  483.         askq %2 { %1's password: }
  484.     }
  485.     set input timeout quit      ; Quit if INPUT fails
  486.     set parity even             ; Set communication parameters
  487.     set duplex full
  488.     set handshake none
  489.     set flow xon/xoff
  490.     out 13                     ; Send carriage return
  491.     inp 5 TERMINAL TYPE:        ; Get terminal-type prompt
  492.     out vt-10013               ; Just send "vt-100"
  493.     inp 20 RUNNING              ; Get RUNNING message
  494.     pau 1                       ; Wait one second
  495.     out %19%213             ; Send user ID, tab, password
  496.     out 1313                  ; Two more carriage returns
  497.     end 0
  498. }
  499. COMMENT - CISLOGIN macro.  Arguments:
  500. ; %1 = CompuServe User ID
  501. ; %2 = Password
  502. ; %3 = Prompt
  503. ;
  504. define CISLOGIN {
  505.     if < v(argc) 2 -
  506.       end 1 Usage: %0 userid [ password [ prompt ] ]
  507.     while not defined %2 {
  508.         askq %2 { %1's password: }
  509.     }
  510.     set terminal bytesize 7     ; No 8-bit characters
  511.     set input timeout quit      ; Skip the IF FAILURE's
  512.     output 13                  ; Send initial carriage return
  513.     input 5 Host Name:          ; Look for Host Name prompt
  514.     output cis13               ; Send "cis" and carriage return
  515.     input 5 User ID:            ; Look for User ID prompt
  516.     output %113               ; Send ID and carriage return
  517.     input Password:             ; Look for Password prompt
  518.     output %213               ; Send password and CR
  519.     if not def %3 asg %3 v(prompt)
  520.     if not def %3 asg %3 {CompuServe Information Service}
  521.     input 30 %3
  522.     end 0
  523. }
  524. COMMENT - DOWLOGIN macro.  Arguments:
  525. ; %1 = Dow Jones Password
  526. ;
  527. define DOWLOGIN {
  528.     while not defined %1 {              ; Get password
  529.         askq %1 { Dow Jones password: }
  530.     }
  531.     set input timeout proceed
  532.     input 20 SERVICE PLEASE????      ; Look for Dow prompt
  533.     if fail end 1 No service prompt
  534.     out djnr13                          ; Select DJNR
  535.     input 10 @@@@@@@@                        ; Get password prompt
  536.     if fail end 1 No password prompt
  537.     pause 1                              ; Wait a second, then...
  538.     output %113                        ; send password and CR
  539.     input 30 ENTER QUERY                 ; Get DJNR query prompt
  540.     if fail end 1 No main query prompt
  541.     pause 1
  542. }
  543. COMMENT - DJNRSPRINT macro: Log in to Dow Jones via SprintNet.
  544. ;
  545. def djnrsprint sprint dow, if success dowlogin
  546. COMMENT - NOLOGIN macro.  Does nothing.  Use when login not required.
  547. ;
  548. def nologin comment
  549. :CUSTOM ; Customization file
  550. ; In VMS and OpenVMS, allow for system-wide site customizations
  551. xif equal "v(system)" "VMS" {
  552.     xif exist CKERMIT_INI:CKERMIT.SYS {
  553. echo Executing CKERMIT_INI:CKERMIT.SYS
  554. take CKERMIT_INI:CKERMIT.SYS
  555.     }
  556. }
  557. ; Execute user's personal customization file
  558. xif exist m(_myinit)  { ; If it exists,
  559.     echo Executing m(_myinit)... ; print message,
  560.     take m(_myinit) ; and TAKE the file.
  561. }
  562. ; Finish up with traditional greeting.
  563. if < v(ntime) 43200 echo Good Morning!
  564.   else if < v(ntime) 61200 echo Good Afternoon!
  565.   else echo Good Evening.
  566. End ; of C-Kermit 7.0 initialization file.