Standards-Version: 3.9.6 (no changes)
[ckermit.git] / ckermit.ini
index f007561..b30f389 100644 (file)
@@ -1,618 +1,8 @@
 COMMENT - Standard C-Kermit initialization file
 ;
-; For C-Kermit Version: 8.0
-;
-; Filename:
-;   .kermrc     (UNIX, OS-9, Aegis)
-;   CKERMIT.INI (OS/2, VMS, OpenVMS, AOS/VS, Atari ST, Commodore Amiga)
-;   ckermit.ini (Stratus VOS)
-;   K95.INI     (Kermit 95 -- but this big version is not used there)
-;   K2.INI      (Kermit/2  -- but ditto)
-;
-; Authors:
-;   Frank da Cruz, Christine M. Gianone, Jeffrey Altman
-;   Columbia University, New York, NY 10025-7799, USA
-;
-; This is the standard and recommended C-Kermit 8.0 initialization file.  To
-; override settings or definitions made in this file, to add new settings or
-; definitions, or to make any other desired customizations, create a separate,
-; personal customization file called:
-;
-;   .mykermrc     (UNIX, OS-9, Aegis, BeBox, Plan 9)
-;   CKERMOD.INI   (OS/2, VMS, OpenVMS, AOS/VS, Atari ST, Commodore Amiga)
-;   ckermod.ini   (VOS)
-;
-; You can also define the customization filename in an environment
-; variable (logical name in VMS), CKERMOD, which takes precedence over
-; the names shown above.
-;
-; WHAT THIS FILE DOES:
-;
-; . Defines your default dialing directory name:
-;     .kdd for UNIX, OS-9 and Aegis; CKERMIT.KDD for other operating systems.
-;        You can override this with the environment variable K_DIAL_DIRECTORY
-; . Defines your default network directory name:
-;     .knd for UNIX, OS-9 and Aegis; CKERMIT.KND for other operating systems.
-;        You can override this with the environment variable K_NET_DIRECTORY
-; . Defines your default services directory name:
-;     .ksd for UNIX, OS-9 and Aegis; CKERMIT.KSD for other operating systems.
-;        You can override this with environment variable K_SERVICE_DIRECTORY.
-; . Defines your customization file name (name given above)
-; . Performs system-dependent setups for UNIX, VMS, OS/2, etc.
-; . Defines VTPRINT macros for use with K95, MS-DOS Kermit, etc.
-; . If you have a services directory, all the macros needed to use it are
-;     defined.  If you don't have a services directory, the macros are not
-;     defined and Kermit starts faster.
-; . Executes your personal customization file, if you have one.
-;   NOTE: Your customization file is NOT executed by Kermit itself; it is
-;   executed by this file.
-;
-; In UNIX, with C-Kermit 7.0 and later, you can store this file with a name
-; other than .kermrc, and it will not be executed automatically, but, if you
-; give this file execute permission, you can execute directly because of the
-; "kerbang line" at the top, whenever you want all of the above actions to
-; occur.  The kerbang line must reflect the actual full path of the Kermit
-; 7.0-or-later executable.
-;
-; C-Kermit 6.0 is documented in the book "Using C-Kermit", 2nd Edition,
-; by Frank da Cruz and Christine M. Gianone, 1997, Digital Press /
-; Butterworth-Heinemann, ISBN 1-55558-164-1.  New features of subsequent
-; versions are documented at the Kermit website:
-; http://www.columbia.edu/kermit/
-;
-; Everything after this point depends on the script programming language.
-; The CHECK command terminates this command file immediately if the script
-; programming language (IF command) is not configured.
-;
-set take error on              ; This makes CHECK quit if no script language.
-check if                       ; Do we have an IF command?  If not, quit now.
-set take error off             ; Back to normal.
-
-local _sd _servicedir _xp       ; Declare local variables.
-
-COMMENT - C-Kermit version 6.0 or later required.
-;
-
-asg _xp \v(xprogram)
-if not def _xp asg _xp \v(program)
-if not equal "\m(_xp)" "C-Kermit" -
-  stop 1 \v(cmdfile): This initialization file is only for C-Kermit.
-echo Executing \v(cmdfile) for \v(system)...
-if < \v(version) 60000 -
-  stop 1 \v(cmdfile): C-Kermit 6.0 or later required.
-
-forward \v(system)             ; First do system-dependent items...
-
-:unknown                       ; Should not happen
-Stop 1 Error: System type unknown!
-
-:Aegis                         ; Apollo Aegis and
-:UNIX                          ; UNIX, all versions
-asg _myinit -
-  \v(home).mykermrc            ; Customization filename
-if remote forward COMMON        ; Skip local-mode items if "-R"
-asg _dialdir -
-  \v(home).kdd                 ; C-Kermit dialing directory
-asg _netdir -
-  \v(home).knd                 ; C-Kermit network directory
-asg _servicedir -
-  \v(home).ksd                 ; C-Kermit services directory
-forward COMMON                  ; End of UNIX section
-
-:OS9/68K                       ; OS-9
-asg _myinit -
-  \v(home).mykermrc            ; Customization filename
-if remote forward COMMON
-asg _dialdir -
-  \v(home).kdd                 ; C-Kermit dialing directory
-asg _netdir -
-  \v(home).knd                 ; C-Kermit network directory
-asg _servicedir -
-  \v(home).ksd                 ; C-Kermit services directory
-else set file display crt
-forward COMMON                 ; End of OS-9 section
-
-:VMS                           ; VMS and OpenVMS
-forward COMMON
-
-:OS/2                          ; Kermit 95
-:WIN32
-echo This initialization file is not for use with K95.
-forward COMMON                  ; End of OS/2 section
-
-:AOS/VS                                ; Data General AOS/VS
-set window 1                   ; Sliding windows don't work
-set file char dg-international ; File character-set
-set xfer char latin1           ; Transfer character-set
-set file display crt            ; File transfer fisplay
-def cli push                   ; Escape to CLI
-def reset -                    ; Macro to reset DG DASHER terminal
- run write [!ascii 236 306 301]
-forward COMMON                  ; End of AOS/VS section
-
-:Amiga                         ; Commodore Amiga
-def cls echo \27[H\27[2J       ; CLS command to clear the screen
-set file char latin1           ; Use Latin Alphabet 1 for file transfer
-set xfer char latin1           ; ...
-forward COMMON                  ; End of Amiga section
-
-:Atari_ST                      ; Atari ST
-def cls echo \27H\27J          ; Clear screen a`la VT52
-set server display on          ; Show file xfer display in server mode too
-set server timeout 15          ; Nonzero required for ^C interruption!
-forward COMMON                  ; End of Atari ST section
-
-:Macintosh                     ; Apple Macintosh
-set server display on          ; Show file xfer display in server mode too.
-forward COMMON
-
-:Stratus_VOS                    ; Stratus VOS
-asg _myinit \v(home)ckermod.ini
-if remote forward COMMON
-asg _dialdir \v(home)ckermit.kdd
-asg _netdir \v(home)ckermit.knd
-asg _servicedir \v(home)ckermit.ksd
-forward COMMON                  ; End of Stratus VOS section
-
-:COMMON                                ; For all systems
-
-; Define macros that are useful when running C-Kermit in remote mode.
-; These macros serve no purpose on local-mode-only versions such as
-; OS/2, Macintosh, Amiga, and Atari ST Kermit, so we skip defining them
-; for those systems.
-;
-if not = 0 \findex(\v(system),WIN32:OS/2:Macintosh:Amiga:Atari_ST) -
-  forward files
-
-; VTPRINT macro.  Print a file on your PC's local printer.
-
-def VTPRINT echo \27[5i, type \%1, echo \27[4i
-; or if your printer needs a formfeed to force the page out:
-; def VTPRINT  def echo \27[5i, type \%1, echo \12\27[4i
-
-; Macros for host-initiated file transfer using APC:
-;   NOT NEEDED ANY MORE because of autodownload/autoupload.
-;   Remove the following FORWARD command to reinstate these definitions:
-
-:FILES
-
-; Get customization and directory file names.  Environment variables take
-; precedence, so you do not have to edit this file to change these filenames.
-;
-if def \$(CKERMOD) assign _myinit \$(CKERMOD)
-if not def _myinit assign _myinit \v(home)CKERMOD.INI
-
-if remote forward CUSTOM ; Skip all this if -R given on command line
-
-if def \$(K_NET_DIRECTORY) assign _netdir \$(K_NET_DIRECTORY)
-if not def _netdir assign _netdir \v(home)CKERMIT.KND
-
-if def \$(K_DIAL_DIRECTORY) assign _dialdir \$(K_DIAL_DIRECTORY)
-if not def _dialdir assign _dialdir \v(home)CKERMIT.KDD
-
-CHECK DIAL                     ; Is there a DIAL command?
-xif fail {                     ; No.
-    echo DIAL disabled
-    forward CUSTOM
-}
-
-CHECK NETWORK
-xif success {
-    xif exist \m(_netdir) {
-       set net directory \m(_netdir)
-       echo { Network directory is \m(_netdir) }
-    }
-}
-
-if eq "\v(name)" "telnet" forward CUSTOM
-
-xif exist \m(_dialdir) {
-    set dial directory \m(_dialdir)
-    echo { Dial directory is \m(_dialdir) }
-}
-
-COMMENT - Services directory
-
-if def \$(K_SERVICE_DIRECTORY) assign _servicedir \$(K_SERVICE_DIRECTORY)
-if not def _servicedir assign _servicedir \v(home)CKERMIT.KSD
-
-; If no services directory is found skip all the big macro definitions and
-; go straight to the bottom, where we execute the customization file.
-
-if not exist \m(_servicedir) forward custom
-
-echo { Services directory is \m(_servicedir)}
-
-def MAX_SVCS 200               ; Adjust this if you have more entries
-define _sd 0                   ; Assume no services directory
-open read \m(_servicedir)      ; Try to open services directory file
-xif success {
-    declare \&d[\m(MAX_SVCS)]  ; It's open, declare directory array
-    for \%i 1 \m(MAX_SVCS) 1 { ; Read the lines into the array
-       read \&d[\%i]
-       if fail break
-    }
-    close read
-    xif > \%i  \m(MAX_SVCS) {
-       echo Too many entries in services directory
-       echo { Maximum is \m(MAX_SVCS).}
-       echo { Change definition of MAX_SVCS in \v(cmdfile) to allow more. }
-       echo { Services directory disabled.}
-    } else {
-        asg \&d[0] \feval(\%i - 1)
-        define _sd 1
-    }
-}
-
-xif not \m(_sd) {
-    def access echo { Services directory not available.}
-    asg list \m(access)
-} else {
-    def FIND {
-       set case off
-       for \%i 1 \&d[0] 1 {
-           if eq {\%1} {\fsubstr(\&d[\%i],1,\flen(\%1))} break
-       }
-       if not > \%i \&d[0] return \&d[\%i]
-    }
-    def LIST {
-       xif > \v(argc) 1 {
-           do find \%1
-           if def \v(return) echo \v(return)
-           else echo \%1: Not found
-       } else {
-           echo \&d[0] items in services directory:
-           for \%i 1 \&d[0] 1 { echo \fcont(\&d[\%i]) }
-       }
-    }
-    def SPLIT { asg _word1 \%1, asg _word2 \%2 }
-    def DOACCESS {               ; (Used internally by ACCESS macro)
-       do \%5 \%6 \%7 \%8 \%9   ; Do the connection macro
-       if fail end 1
-        split \%3                ; Get words from \%3
-       asg \%3 \m(_word1)
-       asg \%2 \m(_word2)
-       do \%3 \%4 {\%1} \%2     ; Login macro, userid, password, prompt
-    }
-    def ACCESS {
-       if not defined \%1 end 1 access what?        ; Check service
-       do find \%1                                  ; Look it up
-       if success doaccess {\%2} \v(return)         ; OK, try it
-       else end 1 "\%1" not in services directory   ; Not found
-       if fail end 1                                ; DOACCESS failed?
-       xif eq \v(cmdlevel) 1 {
-           echo
-           echo ACCESS: Login succeeded - CONNECTing...
-            show escape
-            output \13
-           connect /quietly
-        }
-    }
-}
-
-:CONNECTION ; Macros for making connections
-
-COMMENT - SERIAL macro.  Arguments:
-; \%1 = device name
-; \%2 = speed
-;
-def SERIAL {
-    if < \v(argc) 3                         ; All arguments given?
-      end 1 Usage: SERIAL device speed      ; No.
-    set line \%1                            ; OK, try to SET LINE.
-    if failure -                            ; If this failed,
-      end 1 Can't open device: \%1          ; print message and quit.
-    set speed \%2                           ; Try to set the speed.
-    if fail end 1 Unsupported speed: \%2    ; Failed.
-    echo Connection successful.             ; Succeeded.
-}
-
-COMMENT - NET macro.  Arguments:
-; \%1 = network type
-; \%2 = host name or address
-;
-def NET {
-    if < \v(argc) 3 end 1 Usage: NET network host
-    set network type \%1
-    if fail end 1 unsupported network: \%1
-    set login user                ; Don't send user ID.
-    set host \%2
-    if fail end 1 Can't reach host: \%2
-    echo Connection successful.
-}
-
-COMMENT - CALL macro.  Arguments:
-;
-; \%1 = modem type
-; \%2 = device name
-; \%3 = speed
-; \%4 = phone number
-;
-def CALL {
-    if < \v(argc) 5 -         ; All arguments present?
-      end 1 Usage: CALL modem device speed number
-    xif not equal {\v(modem)} {\%1} { ; Set modem type
-        set modem \%1
-        if fail end 1 unknown modem type: \%1
-    }
-    xif not equal {\v(line)} {\%2} { ; Communication device
-        set line \%2
-        if fail end 1 can't open device: \%2
-    }
-    xif not equal {\v(speed)} {\%3} { ; Communication speed
-        set speed \%3
-        if fail end 1 unsupported speed: \%3
-    }
-    dial \%4                  ; Dial the number
-    if fail end 1 Can't place call: \%4
-    end 0 Connection successful.
-}
-
-COMMENT - TCPCALL macro.  Arguments:
-;
-; \%1 = server name:port
-; \%2 = modem type
-; \%3 = phone number
-;
-def TCPCALL {
-    if < \v(argc) 4 -         ; All arguments present?
-      end 1 Usage: TCPCALL server[:port] modem number
-    set net type tcp/ip       ; Which network to use
-    if fail end 1 unsupported network: tcp/ip
-    set host \%1              ; Access server and port
-    if fail end 1 can't access server \%1
-    set modem \%2             ; Set modem type
-    if fail end 1 unknown modem type: \%2
-    dial \%3                  ; Dial the number
-    if fail end 1 Can't place call: \%3
-    end 0 Connection successful.
-}
-
-COMMENT - SPRINT macro.  Arguments:
-; \%1 = Service name or address
-;
-def SPRINT {
-    if < \v(argc) 2 end 1 Usage: \%0 service
-    set input timeout proceed
-    output @D\13
-    input 10 TERMINAL=
-    if fail end 1 No terminal prompt
-    out D1\13
-    inp 10 @
-    if fail end 1 No atsign prompt
-    output c \%1\13
-    input 10 CONNECTED
-    if fail end 1 Can't access \%1 from SprintNet
-}
-
-COMMENT - ULOGIN macro.  For logging into systems where user ID is required
-; but there is no password.  Arguments:
-; \%1 = UNIX user ID
-;
-define ULOGIN {
-    if < \v(argc) 2 end 1 Usage: \%0 userid
-    set input timeout proceed     ; Handle timeouts ourselves
-    set case on                   ; Case is important in UNIX
-    minput 5 login: Username: {User ID:} {User Name:}
-    out \%1\13                    ; Send username, carriage return
-    end 0
-}
-
-COMMENT - VMSLOGIN macro.  Arguments:
-; \%1 = VMS user ID
-; \%2 = Password.  If password not supplied, it is prompted for.
-; \%3 = System prompt.  If omitted a default is supplied.
-;
-define VMSLOGIN {
-    if < \v(argc) 2 end 1 Usage: \%0 userid [ password [ prompt ] ]
-    while not defined \%2 {
-        askq \%2 { \%1's password: }
-    }
-    set parity none               ; Set communication parameters
-    set duplex full
-    set handshake none
-    set input timeout proceed     ; Handle timeouts ourselves
-    in 5 Username:                ; Is prompt already there?
-    xif fail {                    ; No.
-        for \%i 1 3 1 {           ; Try 3 times to get it.
-            out \13               ; Send carriage return
-            in 5 Username:        ; Look for prompt
-            if success break      ; Success, go log in
-        }
-        if > \%i 3 end 1 No Username prompt
-    }
-    out \%1\13                    ; Send username, carriage return
-    inp 5 Password:               ; Wait 5 sec for this prompt
-    if fail end 1 No password prompt
-    pause                         ; Wait a sec
-    out \%2\13                    ; Send password
-    xif not emulation {           ; No emulator built in?
-        set input echo off        ; Protect terminal from this
-        minput 10 {\27Z} {\27[c} {\27[0c} ; Get terminal ID query
-        xif success {                     ; Got one
-            output \27[\?1c               ; Send VT100 terminal ID
-            in 2 \27[6n                   ; Screen dimension query?
-            if succ out \27[\v(rows);\v(cols)R ; Send dimensions
-        }
-        set input echo on         ; Echo input again
-    }
-    if not def \%3 -              ; If we were not given a prompt
-      asg \%3 {\v(prompt)}        ; use the SET LOGIN PROMPT value
-    if not def \%3 -              ; If we still don't have a prompt
-      asg \%3 {\13$\32}           ; use this one as the default
-    reinp 0 \%3                   ; Did we INPUT the prompt already?
-    if fail inp 60 \%3            ; No, look now.
-    if fail end 1
-}
-
-COMMENT - UNIXLOGIN macro.  Arguments:
-; \%1 = UNIX user ID
-; \%2 = Password.  If password not supplied, it is prompted for.
-; \%3 = System prompt.  If omitted a default is supplied.
-;
-define UNIXLOGIN {
-    local \%m \%i
-    if < \v(argc) 2 -
-      end 1 Usage: \%0 userid [ password [ prompt ] ]
-    while not defined \%2 {
-        askq \%2 { \%1's password: }
-    }
-    set input echo on
-    set parity none               ; Set communication parameters.
-    set duplex full
-    set handshake none
-    set input timeout proceed     ; Handle timeouts ourselves
-    set case on                   ; Case is important in UNIX
-    def \%m 10                    ; Waiting time for INPUT
-    for \%i 1 5 1 {
-        minput \%m login: {ssword:} {Password for \%1:}
-       if success break
-       output \B\13
-        \%m ::= 6-\%1
-    }
-    if > \%i 5 end 1 {No response from host}
-    xif = \v(minput) 1 {         ; Have username prompt
-       output \%1\13             ; Send username
-        minput 5 {ssword:} {ssword for \%1:} ; Wait for password prompt
-       if fail end 1 {No password prompt}
-    }
-    pause                         ; Wait a sec
-    out \%2\13                    ; Send password
-    if not def \%3 -              ; If we were not given a prompt
-      asg \%3 {\v(prompt)}        ; use the SET LOGIN PROMPT value
-    if not def \%3 -              ; If we still don't have a prompt
-      asg \%3 {\10$ }             ; use this one as the default
-    reinp 0 \%3                   ; Did we INPUT the prompt already?
-    if fail inp 60 \%3            ; No, look now.
-    if fail end 1
-}
-
-COMMENT - VMLINELOGIN macro.  Arguments:
-; \%1 = User ID
-; \%2 = Password
-;
-define VMLINELOGIN {
-    if < \v(argc) 2 -
-      end 1 Usage: \%0 userid [ password ]
-    while not defined \%2 {
-        askq \%2 { \%1's password: }
-    }
-    set parity mark               ; Set communication parameters
-    set flow none
-    set handshake xon
-    set duplex half
-    set input timeout quit        ; Don't bother with IF FAILURE
-    input 10 BREAK KEY            ; Look for BREAK KEY prompt
-    pause 1                       ; Wait a second
-    output \B                     ; Send BREAK
-    input 10 .\17, output logon \%1\13    ; Now log in
-    input 10 .\17, output \%2\13          ; Send password
-    input 10 .\17, output \13             ; Send carriage return
-    input 10 .\17, output \13             ; Send another one
-    end 0
-}
-
-COMMENT - VMFULLOGIN macro.  Arguments:
-; \%1 = User ID
-; \%2 = Password
-;
-define VMFULLOGIN {
-    if < \v(argc) 2 -
-      end 1 Usage: \%0 userid [ password ]
-    while not defined \%2 {
-        askq \%2 { \%1's password: }
-    }
-    set input timeout quit      ; Quit if INPUT fails
-    set parity even             ; Set communication parameters
-    set duplex full
-    set handshake none
-    set flow xon/xoff
-    out \13                     ; Send carriage return
-    inp 5 TERMINAL TYPE:        ; Get terminal-type prompt
-    out vt-100\13               ; Just send "vt-100"
-    inp 20 RUNNING              ; Get RUNNING message
-    pau 1                       ; Wait one second
-    out \%1\9\%2\13             ; Send user ID, tab, password
-    out \13\13                  ; Two more carriage returns
-    end 0
-}
-
-COMMENT - CISLOGIN macro.  Arguments:
-; \%1 = CompuServe User ID
-; \%2 = Password
-; \%3 = Prompt
-;
-define CISLOGIN {
-    if < \v(argc) 2 -
-      end 1 Usage: \%0 userid [ password [ prompt ] ]
-    while not defined \%2 {
-        askq \%2 { \%1's password: }
-    }
-    set terminal bytesize 7     ; No 8-bit characters
-    set input timeout quit      ; Skip the IF FAILURE's
-    output \13                  ; Send initial carriage return
-    input 5 Host Name:          ; Look for Host Name prompt
-    output cis\13               ; Send "cis" and carriage return
-    input 5 User ID:            ; Look for User ID prompt
-    output \%1\13               ; Send ID and carriage return
-    input Password:             ; Look for Password prompt
-    output \%2\13               ; Send password and CR
-    if not def \%3 asg \%3 \v(prompt)
-    if not def \%3 asg \%3 {CompuServe Information Service}
-    input 30 \%3
-    end 0
-}
-
-COMMENT - DOWLOGIN macro.  Arguments:
-; \%1 = Dow Jones Password
-;
-define DOWLOGIN {
-    while not defined \%1 {              ; Get password
-        askq \%1 { Dow Jones password: }
-    }
-    set input timeout proceed
-    input 20 SERVICE PLEASE\?\?\?\?      ; Look for Dow prompt
-    if fail end 1 No service prompt
-    out djnr\13                          ; Select DJNR
-    input 10 @@@@@@@@                        ; Get password prompt
-    if fail end 1 No password prompt
-    pause 1                              ; Wait a second, then...
-    output \%1\13                        ; send password and CR
-    input 30 ENTER QUERY                 ; Get DJNR query prompt
-    if fail end 1 No main query prompt
-    pause 1
-}
-
-COMMENT - DJNRSPRINT macro: Log in to Dow Jones via SprintNet.
-;
-def djnrsprint sprint dow, if success dowlogin
-
-COMMENT - NOLOGIN macro.  Does nothing.  Use when login not required.
-;
-def nologin comment
-
-:CUSTOM ; Customization file
-
-; In VMS and OpenVMS, allow for system-wide site customizations
-
-xif equal "\v(system)" "VMS" {
-    xif exist CKERMIT_INI:CKERMIT.SYS {
-       echo Executing CKERMIT_INI:CKERMIT.SYS
-       take CKERMIT_INI:CKERMIT.SYS
-    }
-}
-
-; Execute user's personal customization file
-
-xif exist \m(_myinit)  {               ; If it exists,
-    echo Executing \m(_myinit)...      ; print message,
-    take \m(_myinit)                   ; and TAKE the file.
-}
-
-; Finish up with traditional greeting.
-
-if < \v(ntime) 43200 echo Good Morning!
-  else if < \v(ntime) 61200 echo Good Afternoon!
-  else echo Good Evening.
-
-End ; of C-Kermit 8.0 initialization file.
+echo
+echo The very long standard initialization file that was distributed
+echo with C-Kermit 6, 7, and 8 is no longer recommended as "standard",
+echo since its features were little used.  It is still available in
+echo the C-Kermit distribution as ockermit.ini.
+echo