Eine Einfuehrung in Kermit Gisbert W. Selke (RECK@DBNUAMA1.BITNET) Wissenschaftliches Institut der Ortskrankenkassen Kortrijker Strasse 1, D-5300 Bonn 1, West Germany Oktober 1987 1. Allgemeines Kermit ist ein eingetragenes Warenzeichen der Henson Associates, der Muppet- Erfinder, und ausserdem ein urheberrechtlich geschuetztes Protokoll der Columbia-Universitaet, New York, fuer sicheren Datentransfer zwischen Computern. Programme, die auf diesem Protokoll beruhem werden kostenlos abgegeben (bis auf eine Gebuehr, um die Kopierkosten zu decken); es gibt solche Programme mittlerweile fuer eine sehr grosse, staendig wachsende Zahl von Rechnern, so dass ein relativ problemloser Austausch von Daten zwischen verschiedensten Systemen moeglich ist. Ein solcher Transfer benutzt eine serielle Datenleitung; z.B. koennen zwei PCs ueber Modems miteinander verbunden sein, oder ein Rechner - der sog. "lokale Rechner" - kann an die Terminal-Leitung eines anderen Rechners - des "entfernten Rechners" oder "Wirtsrechners" - angeschlossen sein. (Wir werden es im weiteren nur mit dem zweiten Fall zu tun haben.) In diesem Fall gaukelt der Kermit auf dem lokalen Rechner, z.B. einem PC, dem Wirtsrechner, z.B. einer Modcomp oder einer VAX, vor, er habe es mit einem ganz normalen Terminal zu tun. Das Arbeiten mit Kermit beginnt also damit, lokal ein Kermit-Programm zu starten - wir benutzen im folgenden den MS-Kermit als Beispiel - und dann diesem den Befehl zu geben, die Verbindung zum Wirtsrechner herzustellen und sich im weiteren wie ein Terminal zu verhalten. Kermit wird dadurch fast voellig transparent - durch einen speziellen Tastendruck ist es aber jederzeit moeglich, zur PC-Seite zurueckzukehren und dem lokalen Kermit Befehle zu geben; man kann auch das Programm beenden und auf die Betriebssystem-Ebene zurueck- kehren. (Dann sollten allerdings keine Daten mehr vom Wirtsrechner an sein - vermeintliches - Terminal abgeschickt werden...) Fuer die eigentliche Aufgabe des Kermit-Protokolls, den sicheren Datentransfer, ist es aber noetig, dass sich zwei Kermits miteinander unterhalten. Dazu stellt man die Verbindung zum Wirtsrechner her und startet den dortigen Kermit. Dann gibt man diesem Kermit - dem Wirtsrechner-Kermit also - den Befehl, eine Datei zu senden (bzw. zu empfangen), geht schnell zurueck auf die PC-Seite, und fordert den lokalen Kermit auf, eine Datei zu empfangen (bzw. zu senden). Jetzt kann man sich bequem zuruecklehnen, denn alles weitere geht automatisch: Die beiden Kermits unterhalten sich miteinander, wobei sie sicherstellen, dass sie sich nicht gegenseitig missverstehen; im Laufe dieser Unterhaltung werden die gewuenschten Daten uebertragen. Der Fortschritt der Unterhaltung wird auf dem Bildschirm angezeigt. Nach Beendigung verbindet man sich wieder mit dem Wirtsrechner und gibt dem dortigen Kermit neue Kommandos oder beendet das Programm auf ordentliche Weise. Danach kann im Terminalbetrieb weitergearbeitet werden. Die Benutzeroberflaechen verschiedener Kermits sind sich mehr oder weniger aehnlich; jeder bietet zusaetzlich zu den noetigsten Kommandos noch einige weitere, z.B. zum Setzen von Uebertragungsparametern (Baud rate, parity, ...), oder eine Betriebssystem-Schnittstelle. Jeder Kermit sollte das Kommando "HELP" verstehen; darueber hinaus kann es weitere Hilfsmittel zur Benutzerfuehrung geben. Wie man vom Wirtsrechner zum PC zurueckkehrt, wird i.a. auch jederzeit angezeigt. Wir werden in den Beispielen davon ausgehen, dass der Wirtsrechner eine Mod- comp ist und KERMIV (von Setpoint Inc.) als Kermit-Programm zur Verfuegung steht. - Wenngleich das gesamte Kermit-Protokoll auf der ASCII-Repraesentation von Zeichen beruht, ist es uebrigens auch moeglich, mit EBCDIC-Wirtsrechnern zu kommunizieren. Der Wirtsrechner-Kermit besorgt in diesem Fall die Konversion. - Zusammengefasst heisst das also, dass Kermit zwei verschiedene Aufgaben beherrscht, die Terminal-Emulation und den Dateitransfer. Waehrend des Datei- transfers stellt das Kermit-Protokoll durch den Dialog zweier Kermit-Programme sicher, dass die Daten korrekt uebertragen werden. Der Emulationsbetrieb ist hingegen nicht durch das Protokoll abgedeckt; der Betrieb ist nicht sicherer als der eines normalen Terminals. Der einzige Vorteil ist, dass auf Knopfdruck wahlweise andere Dienste des lokalen Rechners zur Verfuegung stehen. 2. Der Ablauf einer Kermit-Sitzung (PC-Wirtsrechner-Verbindung) (Fuer Kermit-Befehle koennen Gross- und Kleinschreibung beliebig gemischt wer- den; Befehle koennen abgekuerzt werden, sofern sie eindeutig bleiben. Im fol- genden ist die Minimalform der Befehle durch grosse Buchstaben gekennzeichnet. Woerter in spitzen Klammern < ... > beschreiben, was der Benutzer hier eingeben soll. Ein Semikolon markiert den Anfang eines Kommentars.) 2.1 Terminalbetrieb 1. 2. 3. KERMIT 4. Connect 5. Shift-Alt-F1 ; guten Morgen, Modcomp . . . 1000. Shift-Alt-F2 ; tschues, Modcomp 1001. Alt-C ; Zurueck zum PC 1002. Quit 1003. Die Schritte 5 bzw. 1000 sehen bei anderen Wirtsrechnern natuerlich anders aus - sie muessen durch die jeweiligen Logon- bzw. Logoff-Schritte ersetzt werden. 2.2 Textdatei-Transfer Bei vielen Wirtsrechnern wird der Ablauf einfacher sein als hier gezeigt; das liegt hauptsaechlich daran, dass auf der Modcomp keine allgemein verbindliche File-Manager-Schnittstelle vorliegt. 1. 2. 3. KERMIT ; jetzt laeuft KERMIV 4. SET Usl ; USL zeigt dann auf eine Deiner USLs 5.a SENd oder 5.b RECeive ; vom Wirtsrechner aus gesehen 6. Alt-C ; zurueck zum PC 7.a Receive oder 7.b Send ; vom PC aus gesehen . ; warten! . . 8. Connect ; zurueck zur Modcomp 9. Quit ; Ende KERMIV 10. 11. JOB KERMIV arbeitet nur mit USL-Eintraegen; empfangene Dateien werden normalerweise unter einem Namen eintragen, der dem PC-Dateinamen aehnlich ist. Modcomp- Dateien werden auf dem PC normalerweise unter dem Originalnamen abgelegt (mit leerer Extension). 2.3 Transfer binaerer Dateien Bei vielen Wirtsrechnern wird sich diese Art von Dateitransfer nicht vom Text-Transfer unterscheiden; bei richtigen Parametersetzungen (hauptsaechlich Paritaet) stellen die Kermits auch die Uebertragung von 8-Bit-Daten sicher. Ob Daten in der binaeren Darstellung des einen Rechners fuer den anderen Rechner ueberhaupt einen Sinn ergeben, ist i.a. natuerlich nicht klar. Die Modcomp- spezifische Art der Dateiverwaltung, die KERMIV benutzt, bereitet auch hier Probleme. Deswegen muessen solche Dateien vor- und nachbehandelt werden. Eine Moeglichkeit ist die einfache Hex-Codierung, die jedes Byte durch zwei Text- zeichen darstellt; in den Beispielen unten wird eine kompaktere Form benutzt - die BOO-Codierung -, die im wesentlichen je 3 Bytes durch 4 ASCII-Zeichen darstellt. Fuer den Transfer vom PC zur Modcomp: 1. 2. Alt-P ; rufe den DOS-Kommando-Prozessor des PC auf 3. BIN2BOO ; erzeugt ASCII-Datei gleichen Namens, Extension .BOO 4. EXIT ; zurueck in KERMIVs feuchte Arme 5. 6. 7. 8. BOO2BIN ; erzeugt binaere Datei 9. JOB 10. Fuer den Transfer von der Modcomp zum PC: 1. 2. 3. BIN2BOO ; Asciifizieren 4. 5. PUsh ; Wir sind noch am PC. 6. RENAME .BOO ; Extension .BOO muss sein! 7. BOO2BIN ; ent-asciifiziert die Datei 8. DEL .BOO ; Aufraeumen 9. EXIT ; zurueck zu MS-Kermit 10. Connect ; zurueck zu KERMIV 11. 3. Die wichtigeren KERMIT-Befehle 3.1 KERMIV (Dies ist natuerlich ein Modcomp-spezifischer Abschnitt.) SET Usl : gibt an, wo zu sendende Dateien stehen SENd : sende den Eintrag aus der vorgewaehlten USL SENd @ : sende alle Eintraege aus der angegebenen USL RECeive : empfange eine Datei oder ein Gruppe von Dateien Quit : Ende Help : liste die gueltigen Befehle STatus : zeige die gegenwaertigen Parameter an 3.2 MS-Kermit Connect : verbinde mit dem entfernten Rechner Send : sende diese Datei oder Gruppe von Dateien Receive : empfange eine Datei oder eine Gruppe von Dateien Quit : Ende Help : liste die gueltigen Befehle STatus : zeige die gegenwaertigen Parameter an SET Baud : aendere die Baudrate SET PArity : aendere die benutzte Paritaet SET DEFault-disk : aendere die Default-Disk SET Key : definiere eine Taste um (fuer Emulationsmodus) DEFine : definiere ein Macro DO : fuehre ein Macro aus PUsh : rufe den DOS-Kommando-Prozessor auf TAke : fuehre die in der angegebenen Datei stehenden Kermit-Kommandos aus ... : zusaetzlich einige DOS-Kommandos An jeder Stelle waehrend der Befehlseingabe kann man sich durch "?" anzeigen lassen, wie man die angefangene Eingabe fortsetzen kann; drueckt man stattdes- sen die "ESC"-Taste, wird der Befehl so weit vervollstaendigt, wie eindeutig moeglich ist. Noch nicht vollstaendig eingegebene Kommandos koennen i.a. durch Ctrl-C abgebrochen werden. Waehrend der Verbindung mit dem Wirtsrechner koennen alle Tasten eine spezi- elle Bedeutung haben; auch koennen ankommende Zeichen in andere uebersetzt werden. Einige Uebersetzungen, die sich bei uns als sinnvoll erwiesen haben, sind im Anhang 1 verzeichnet; darueberhinaus kann fuer die richtige Handhabung deutscher Sonderzeichen gesorgt werden. Alle diese Belegungen werden durch das Einlesen der Datei MSKERMIT.INI erzeugt; ein Beispiel fuer deutsche Benutzer ist in Anhang 3 aufgelistet. - Dort sind auch zwei Macros "DEUTSCH" bzw. "ENGLISCH" zum einfachen Umschalten zwischen deutscher Anzeige (mit Umlauten) und englischer Anzeige (mit eckigen Klammern usw.) enthalten sowie ein Macro "RUNDIA" zum Einloggen und Verbinden. Weitere Sonderbedeutungen koennen in der Datei MSKERMIT.INI vorgegeben werden, die beim Start des Programms sofort eingelesen wird. MS-Kermit kann komplette Ablauf-Szenarios, sogenannte Skripten oder TAKE-Files, verarbeiten; zum Beispiel lassen sich ganze Datei-Transfers automatisieren. Beispiele dafuer sind in Anhang 2 aufgefuehrt. 4. Weiterfuehrende Literatur und Bezugsquellen Zu jedem Kermit-Programm gibt es eine mehr oder weniger ausfuehrliche Bedie- nungsanleitung, die zusammen mit dem Programm selber verteilt werden sollte. Jeder Kermit-Benutzer darf (und sollte!) Programm und Dokumentation an alle Interessenten kostenlos weitergeben. Wer im Rechnerverbund zu den Computer- Netzen INTERNET oder BITNET Zugang hat, kann sich die aktuellen Programm- Versionen fuer alle verfuegbaren Systeme bei den Rechnern CU20B.COLUMBIA.EDU oder CUVMA.BITNET besorgen; INTERNET-Benutzer haben FTP-Zugang, BITNET- Benutzer koennen ein HELP-Kommando (interaktiv oder als Mail) an den Server KERMSRV schicken. Dort gibt es auch viele weitere Informationen ueber das Protokoll und seine Implementierungen sowie ein elektronisches Diskussions- forum fuer Probleme und Weiterentwicklungen des Systems. Von Frank da Cruz, einem der Initiatoren des Kermit-Protokolls, gibt es ausserdem das Buch "KERMIT - A File Transfer Protocol" (erschienen bei Digital Press), das eine sehr gute und verstaendliche Darstellung der Probleme beim Datenaustausch zwischen Rechnern gibt und auch viele Hinweise fuer Programmierer enthaelt, die ein neues Kermit-Programm schreiben wollen oder muessen. Anhang 1: Ein Beispiel einer Tastenbelegung fuer MS-Kermit Diese Tastenbelegungen gelten nur waehrend des Emulations-Betriebs, also auf der Wirtsrechner-Seite. Sie werden erzeugt durch das Einlesen der Datei MSKERMIT.INI, die in Anhang 3 aufgelistet ist. 1. Kermit-Kommandos Ctrl-A : Alt-A : Alt-C : zurueck zum PC Alt-H : Kommando-Hilfsmenue Alt-P : Aufruf des DOS-Kommando-Prozessors Ctrl-PrtScr : Statuszeile an/aus 2. Screen-Rollback Ctrl-PgUp : eine Seite zurueck Ctrl-PgDn : eine Seite nach unten Shift-Ctrl-PgUp : eine Zeile zurueck Shift-Ctrl-PgDn : eine Zeile nach unten Ctrl-Home : an den Anfang des Rollback-Puffers Ctrl-End : an das Ende des Rollback-Puffers 3. Zusaetzliche Belegungen fuer ECMA-Terminals (in VT102-Emulation) Home : HOME (ECMA: Pfeil nach links oben) Cursor-Tasten : wie ueblich PgUp : ECMA: PrevPage PgDn : ECMA: NextPage 4. Modcomp-Kurzbefehle F1 : JOB F2 : DISKINFO F3 : DUMP F4 : EXE SED F5 : HELP F6 : EXE LIST LM F10 : ' (Apostroph bzw. accent aigu) Shift-Alt-F1 : RUN DIA Shift-Alt-F2 : STO DIA Anhang 2: Nuetzliche Dateien Diese Szenarien sind natuerlich Wirtsrechner-spezifisch; weil aber die Modcomp, fuer die sie geschrieben sind, keine sehr freundliche Benutzer- Schnittstelle hat, sollte es nicht zu schwer sein, die Szenarien fuer andere, freundlichere Rechner abzuwandeln. - Der Inhalt der Dateien ist in Anhang 4 aufgelistet. 1. RUNDIA.SCR: Startet Terminal-Sitzung auf der Modcomp und verbindet. Vom Kermit-Prompt aus aufrufen mit TAKE RUNDIA.SCR. 2. SEND.BAT: Schickt eine ASCII-Datei vom PC zur Modcomp und lagert sie dort in eine USL ein. Auf der Modcomp braucht vorher kein RUN DIA gegeben worden zu sein. (Benoetigt die Dateien PRESDRC.SCR, SEND1.SCR, SEND2.SCR.) Vom DOS-Prompt aus aufrufen mit SEND . 3. RECV.BAT: Schickt eine ASCII-Datei aus einer USL auf der Modcomp zum PC. Auf der Modcomp braucht vorher kein RUN DIA gegeben worden zu sein. (Benoetigt die Dateien PRESDRC.SCR, RECV1.SCR, RECV2.SCR.) Vom DOS-Prompt aus aufrufen mit RECV . 4. Fuer binaeren Datei-Transfer: a) BIN2BOO.COM: formt binaere Datei um in eine ASCII-Datei. Die Ausgabe erfolgt auf eine Datei gleichen Namens, aber mit Extension .BOO. Vom DOS-Prompt aus aufrufen mit BIN2BOO . b) BOO2BIN.COM: kehrt den Prozess von BIN2BOO um. Die Eingabedatei muss den gleichen Namen, aber Extension .BOO haben. Vom DOS-Prompt aus aufrufen mit BOO2BIN . Auf der Modcomp-Seite stehen entsprechend als Prozeduren in der AJC zur Verfuegung: c) BIN2BOO formt die binaere Datei _ in eine ASCII-Datei um und lagert sie unter dem gleichen Namen in die USL _ ein. d) BOO2BIN kehrt den Prozess von BIN2BOO um. Die Eingabe wird gelesen vom Eintrag in der USL _, die Ausgabe erfolgt auf die Datei _, die vorher schon angelegt worden sein muss. Anhang 3: Ein Beispiel fuer MSKERMIT.INI COMMENT -- MS-KERMIT-Initialisierungsfile fuer generellen Gebrauch COMMENT -- durch deutsche Benutzer unter besonderer Beruecksichtigung COMMENT -- der Modcomp-Erfordernisse COMMENT -- Gisbert W.Selke, WIdO, 19. November 1987 COMMENT *** DIESE DATEI SOLLTE NICHT GEAENDERT WERDEN! *** COMMENT (zwecks einfacherer Software-Wartung durch System-Menschen) COMMENT -- Hier werden WIdO-Standard-Dinge definiert; am Ende wird COMMENT -- der TAKE-File MSLOCAL.INI aufgerufen, in dem jede COMMENT -- Benutzerin eigene Dinge vereinbaren kann. COMMENT -- Weil diese Datei ueber BITNET uebertragen wurde, koennen COMMENT -- einige Zeichen dadurch verlorengegangen worden sein; COMMENT -- insbesondere Up-Arrow, eckige Klammern und senkrechte COMMENT -- Striche koennen Probleme machen. set take-echo off ; Das interessiert uns nicht. set terminal VT102 ; Emuliere ein DEC-VT102-Terminal set terminal roll on ; Vor einer Eingabe zurueck an die richtige Stelle set terminal wrap on ; Am Zeilenende herumwickeln set display regular 8-bit ; Damit wir Umlaute haben set warning on ; Keine existierenden Dateien ueberschreiben! set flow none ; Kein xon/xoff set baud 19200 ; Die meisten von uns koennen so schnell laufen. set send start 30 ; Modcomp mag kein Ctrl-A als start-of-packet. set rec start 30 ; Modcomp mag kein Ctrl-A als start-of-packet. set send packet 76 ; Sicherheitshalber nur kurze Pakete set retry 63 ; Manchmal hakt es... COMMENT Allgemeine Tastaturbelegung im WIdO: set key \d1 \Kbreak ; CA : set key \d270 {\d8} ; grauer grosser Links-Pfeil wird Backspace set key \d315 {JOB\d13} ; F1 : JOB set key \d316 {DISKINFO\d13} ; F2 : DISKINFO set key \d317 {DUMP } ; F3 : DUMP set key \d318 {EXE SED\d13} ; F4 : EXE SED set key \d319 {HELP } ; F5 : HELP set key \d320 {EXE LIST LM\d13} ; F6 : EXE LIST LM set key \d321 {} ; F7 : nix! set key \d322 {} ; F8 : nix! set key \d323 {} ; F9 : nix! set key \d324 {'} ; F10: accent aigu set key \d327 {\d27-H} ; Home: HOME ; set key \d328 \Kuparr ; Aufwaerts-Pfeil: (vordefiniert) set key \d329 {\d27`lbr`V} ; PgUp: PREV PAGE set key \d330 {-} ; graues Minus : - ; set key \d331 \Klfarr ; Links-Pfeil : (vordefiniert) ; set key \d333 \Krtarr ; Rechts-Pfeil : (vordefiniert) set key \d334 {+} ; graues Plus : + set key \d335 {} ; End : nix! ; set key \d336 \Kdnarr ; Abwaerts-Pfeil : (vordefiniert) set key \d337 {\d27`lbr`U} ; PgDn: NEXT PAGE set key \d852 {} ; SF1 : nix! set key \d853 {} ; SF2 : nix! set key \d854 {} ; SF3 : nix! set key \d855 {} ; SF4 : nix! set key \d856 {} ; SF5 : nix! set key \d857 {} ; SF6 : nix! set key \d858 {} ; SF7 : nix! set key \d859 {} ; SF8 : nix! set key \d860 {} ; SF9 : nix! set key \d861 {} ; SF10: nix! set key \d1394 \Kmodeline ;CPrtScr: Modeline an/aus set key \d1397 \Kendscn ; CEnd: roll down to end set key \d1398 \Kdnscn ; CPgDn: roll down one screen set key \d1399 \Khomscn ; CHome: roll up to beginning set key \d1412 \Kupscn ; CPgUp: roll up one screen set key \d1910 \Kdnone ;SCPgDn: roll down one line set key \d1924 \Kupone ;SCPgUp: roll up one line set key \d2334 \Kbreak ; AA : set key \d2335 {} ; AS : nix! ; set key \d2339 \Khelp ; AH : connect help (vordefiniert) set key \d2349 {} ; AX : nix! set key \d2350 \Kexit ; AC : zurueck zum PC set key \d2352 {} ; AB : nix! set key \d2434 {} ; A~ : nix! set key \d2435 {} ; A' : nix! set key \d2920 {\d1 RUN DIA\d13} ; SAF1 : RUN DIA set key \d2921 {\d1 STO DIA\d13} ; SAF2 : STO DIA COMMENT Deutsche Spezialzeichen werden zu 7-bit ASCII: set key \d132 {\d123} ; Umlaut-a wird zu linker geschweifter Klammer set key \d142 {`lbr`} ; Umlaut-A wird zu linker eckiger Klammer set key \d148 {`vba`} ; Umlaut-o wird zu senkrechtem Strich set key \d153 {\} ; Umlaut-O wird zu umgekehrtem Schraegstrich set key \d129 {\d125} ; Umlaut-u wird zu rechter geschweifter Klammer set key \d154 {`rbr`} ; Umlaut-U wird zu rechter eckiger Klammer set key \d225 {~} ; "sz" wird zu Tilde COMMENT Empfangene Sonderzeichen werden richtig dargestellt: set trans inp { \d132 ; linke geschweifte Klammer als Umlaut-a set trans inp `lbr` \d142 ; linke eckige Klammer als Umlaut-A set trans inp `vba` \d148 ; senkrechter Strich als Umlaut-o set trans inp \ \d153 ; umgekehrter Schraegstrich als Umlaut-O set trans inp } \d129 ; rechte geschweifte Klammer als Umlaut-u set trans inp `rbr` \d154 ; rechte eckige Klammer als Umlaut-U set trans inp ~ \d225 ; Tilde als "sz" COMMENT Zwei Macros zum einfacheren Umschalten: define deutsch set translation input on ; deutsche Darstellung define englisch set translation input off ; englische Darstellung do deutsch ; normalerweise deutsche Darstellung define rundia take rundia.scr ; zum einfacheren Einloggen COMMENT Tabulatoren stehen da, wo der Editor SED sie vermutet: set terminal tabstops clear all ; erst alle weg, und dann: set terminal tabstops at 7 21 36 73 COMMENT IBM (Macro fuer Linemode-IBM-Mainframe-Verbindung) ist COMMENT vordefiniert COMMENT Macro fuer typisches IBM-Mainframe-7171-Front-End: ; define 7171 set timer on,set par ev,set flo x,set hand no,set loc off, COMMENT Macro fuer Kommunikation mit DEC & anderen COMMENT Full-Duplex-Rechnern: ; define DEC set timer off,set par no,set flo x,set hand no,set loc off, COMMENT Jetzt wird eine Benutzer-spezifische Konfigurations-Datei COMMENT eingelesen: take mslocal.ini COMMENT -- Ende von MSKERMIT.INI Anhang 4: Beispiele fuer TAKE- und Batch-Files <> set take-echo off ; das interessiert den Benutzer nicht COMMENT "Einloggen" bei der Modcomp COMMENT Gisbert W.Selke, 29. Oktober 87 echo Bitte Geduld - das RUN DIA dauert etwas...\d13 set input echo on ; das Echo der Modcomp interessiert aber clear ; Putzen der Leitung set input timeout proceed ; sicherheitshalber output \b; ; ein BREAK pause 1 ; langsam! output \b; ; noch ein BREAK - sicherheitshalber input 2 >; ; Ist er da, der TMP... pause 2 ; langsam! output RUN DIA\d13; ; Start pause 1 ; falls sie schon lief: output \d32\d13; ; ein echo Terminal-Sitzung ist gestartet!\d13 connect COMMENT Ende des RUNDIA-Scripts <> echo off Rem Datei-Transfer-Utility PC -> Modcomp Rem Gisbert W.Selke, 29. Oktober 1987, nach einer Idee von Joe Doupnik Rem Zur Benutzung mit MS-Kermit 2.30 oder spaeter if ".%2" == "." goto gebrauch if ".%3" == "." goto gebrauch if exist %1 goto weiter echo Angegebene Datei existiert nicht! :gebrauch echo Gebrauchsanweisung: SEND filename user-id usl-name goto fertig :weiter echo Ran an die Modcomp! Datei-Transfer von %1 vom PC in die USL %2_%3 kermit tak presdrc.scr,out AT %2 UUU %3\d13,tak send1.scr,s %1,tak send2.scr, if errorlevel 1 goto fehler echo Datei-Transfer %1 vom PC in die Modcomp-USL %2_%3 ist beendet goto fertig :fehler echo Datei-Transfer von %1 vom PC in die Modcomp-USL %2_%3 ist schiefgegangen! :fertig echo on <> set take-echo off ; uninteressant COMMENT Datei-Transfer-Utility, Vorbereitungsteil COMMENT Gisbert W.Selke, 29. Oktober 1987 echo \d13\d10 Vorbereiten des Transfers... set input echo on ; Was sagt die MODCOMP dazu set input timeout proceed ; notfalls am Ende eine Meldung clear ; Leitung putzen COMMENT Sicherheitshalber ein Einloggen probieren... echo \d13\d10Einloggen bei der MODCOMP -- bitte etwas Geduld... output \b; ; ein BREAK pause 1 ; langsam! output \b; ; noch ein BREAK - sicherheitshalber input 2 >; ; Ist er da, der TMP... pause 1 ; langsam! output RUN DIA\d13; ; Start pause 2 ; und falls sie schon lief: output \d32\d13; ; nix tun, MODCOMP output JOB\d13; ; noch schnell aufraeumen input 60 $; ; in Ordnung COMMENT Jetzt ein Attach, dann Take send1.scr / recv1.scr <> COMMENT Datei-Transfer-Utility PC -> Modcomp, Teil 1 COMMENT Gisbert W.Selke, 29. Oktober 1987 pause 1 ; langsam input 10 OPEN; ; Attach abwarten input 2 $; ; Attach beendet output KERMIT\d13; ; Kermiv starten input 40 MAXIV>; ; Kermiv ist da output SET USL UUU\d13; ; USL passend vorwaehlen input 10 MAXIV>; ; Prompt abwarten output RECEIVE\d13; ; Erwarte die Datei pause 1 ; langsam echo \d13\d10Datei-Senden beginnt COMMENT Ende von Teil 1 - jetzt ein Send ..., dann Take send2.scr <> COMMENT Datei-Transfer-Utility PC -> Modcomp, Teil 2 COMMENT Gisbert W.Selke, 29. Oktober 1987 echo \d13\d10Aufraeumen beginnt output \d32\d13; ; einmal nix tun pause 1 ; langsam output quit\d13; ; Schluss, Kermiv input 10 (Y/N); ; Default-Werte annehmen pause 1 ; langsam output Y\d13; ; ja, Default-Werte sind OK input 3 (C/R); ; Cat oder Recat pause 1 ; langsam output R\d13; ; Recat sicherheitshalber input 60 $END; ; bist Du fertig input $; ; jetzt endgueltig pause 1 ; Gnadenfrist output JOB\d13; ; Laden dicht machen input 60 $; ; das war's quit <> echo off Rem Datei-Transfer-Utility Modcomp -> PC Rem Gisbert W.Selke, 19. November 1987, nach einer Joe Doupnik Rem Zur Benutzung mit MS-Kermit 2.30 oder spaeter if ".%1" == "." goto gebrauch if ".%2" == "." goto gebrauch if ".%3" == "." goto gebrauch goto weiter :gebrauch echo Gebrauchsanweisung: RECV membername user-id usl-name goto fertig :weiter echo Ran an die Modcomp! Datei-Transfer von %1 aus der USL %2_%3 zum PC kermit ta presdrc.scr,o AT %2 USL %3\d13,ta recv1.scr,o send %1\d13,ta recv2.scr if errorlevel 2 goto fehler echo Datei-Transfer von %1 in der Modcomp-USL %2_%3 zum PC beendet goto fertig :fehler echo Datei-Transfer von %1 in der Modcomp-USL %2_%3 zum PC ist schiefgegangen! :fertig echo on <> COMMENT Datei-Transfer-Utility MODCOMP -> PC, Teil 1 COMMENT Gisbert W.Selke, 29. Oktober 1987 echo \d13\d10MODCOMP-Kermit wird gestartet input 10 OPEN; ; Attach gelungen input 2 $; ; und beendet output KERMIT\d13; ; Kermiv-Start input 40 MAXIV>; ; da ist er output SET DELAY 1\d13; ; voran jetzt input 5 MAXIV>; ; da ist er COMMENT Jetzt ein Send ..., dann Take recv2.scr <> COMMENT Datei-Transfer-Utility MODCOMP -> PC, Teil 2 COMMENT Gisbert W.Selke, 15 Okt 87 echo \d13\d10Datei-Empfang beginnt pause 1 receive ; MS-Kermit echo \d13\d10Aufraeumen beginnt output \d32\d13; ; einmal nix tun output \d32\d13; ; nochmal nix tun input 5 MAXIV>; ; langsam zum Ende kommen output quit\d13; ; Kermiv-Ende input 10 $END; ; Prozedur beendet pause 1 ; langsam ... output JOB\d13; ; und Schluss pause 1 ; langsam quit ; MS-Kermit Ende <> (Ende der Kermit-Einfuehrung)