X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ckermit.ini;h=b30f3892ff5f840b1a06bbbaf80c3a30a4ca9da9;hb=96029a590041202f68c5677067dbc3f8e06e1f2c;hp=f0075615ea07e5f3e0b89eeb4a8484446c07a0d0;hpb=03792666d462c5b037a60195ca2487d0f32d59e2;p=ckermit.git diff --git a/ckermit.ini b/ckermit.ini index f007561..b30f389 100644 --- a/ckermit.ini +++ b/ckermit.ini @@ -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