22

Using - · PDF fileUsing C-Kermit Communication Software Second Edition Frank da Cruz and Christine M. Gianone Digital Press Boston l Oxford l Johannesbur g l Melbourne l New Delhi

  • Upload
    lydiep

  • View
    220

  • Download
    6

Embed Size (px)

Citation preview

Using C-KermitCommunication Software

Second Edition

Frank da CruzandChristine M. Gianone

Digital PressBoston l Oxford l Johannesburg l

Melbourne l New Delhi l Singapore

For information on obtaining a hardcopy of this book, and on all Digital Press publications available, contact our World Wide Web home page at: http://www.bh.com/digitalpress ©1997 Butterworth–Heinemann

A member of the Reed Elsevier group All rights reserved. Digital Press™ is an imprint of Butterworth–Heinemann. All trademarks found herein are property of their respective owners. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Library of Congress Cataloging-in-Publication Data Da Cruz, Frank, 1944- Using C-Kermit / Frank da Cruz, Christine M. Gianone. – 2nd ed. p. cm. Includes bibliographic references and index. ISBN 1-55558-164-1

1. C-Kermit. 2. Communication software. I. Gianone, Christine M. II. Title TK5105.9.D33 1997 005.7’13—dc20 96-38354 CIP British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. The publisher offers special discounts on bulk orders of this book. For information, please contact: Manager of Special Sales Butterworth-Heinemann 225 Wildwood Avenue Woburn, MA 01801-2041 Tel: 781-904-2500 Fax: 781-904-2620 10 9 8 7 6 5 4 3 2 1 Printed in the United States of America

Contents

Preface xvii

Chapter 1 Introduction 1Why Kermit? 2How Kermit Works 4Capabilities of C-Kermit 8Capabilities of Popular Kermit Programs 10Kermit Software Versions 11How to Get Kermit Software and Information 11

Chapter 2 Running C-Kermit 19Starting C-Kermit 19Exiting from C-Kermit 21Entering Interactive Commands 21Command Files 31Describing Kermit’s Commands 33Some Basic C-Kermit Commands 39The C-Kermit Initialization File 43Commands for Controlling Commands 46Summary Tables 49

Contents v

Chapter 3 Making the Connection 51Using C-Kermit in Local Mode 54A Test Drive 54Overview of Connection Establishment 57Making a Serial Connection 57Direct Serial Connections 63Dialed Serial Connections 65Troubleshooting Dialed Connections 74Command Summary 80

Chapter 4 Configuring Modems 81What If My Modem Is Not on Kermit’s List? 83Important Settings 84Changing Things 85Modifying Modem Commands 87Adding a New Modem Type 90Where to Put Modem Commands 92Modem Command List 93Modem-Related Variables 94

Chapter 5 Using the Dialing Directory 95Dialing Directory Format 96Looking up and Dialing Numbers 101Adding Prefixes and Suffixes 102About Country and Area Codes 102Using Portable Entries 103Exceptions to the Rules and How to Handle Them 110Long-Distance Carriers and Calling-Card Numbers 112Traveling Tips 114Old-Format Directories 115Command Summary 115

Chapter 6 Using Networks 117Making Network Connections 118TCP/IP Networks 120Making LAT Connections 128X.25 Networks 129Named Pipes 133NETBIOS 134Using the Network Directory 135Command-Line Options for Network Connections 138Command Summary 139

vi Contents

Chapter 7 Using The Services Directory 141Login Macros 142Connection Details 144Sample Services Directory 145

Chapter 8 Terminal Connection 147The CONNECT Command 148Closing the Connection 151CONNECT-Mode Keyboard Escape Commands 152Setting Terminal Parameters 157Coordinating Screen Dimensions 160Key Mapping 161C-Kermit in the Middle 162Automatic Actions While in CONNECT Mode 164Logging and Debugging Your Terminal Session 165Command Summary 168

Chapter 9 The Basics of File Transfer 171Getting Started 171Basic File Transfer Commands 172Easy File Transfer Examples 177Local-Mode File Transfer 182Interrupting a File Transfer 186Transferring Text Files 189Transferring Binary Files 190Building a Send List 191File Names 193Transferring Files between Similar Systems 194Directory Names 194Filename Collisions 196Incomplete File Transfers 197Recovering from Interrupted File Transfers 197File Attributes 200Odds and Ends 203Keeping a Record of Your File Transfers 204Summary 205

Chapter 10 Solving File Transfer Problems 207Parity 208Speed and Flow Control in the Full Duplex Environment 210Half Duplex Communication 213The Pause that Refreshes 214Noise and Interference 214

Contents vii

Timeouts 216Transparency Problems 217IBM Mainframe Linemode Communication 219IBM Mainframe Full-Screen Communication 221For X.25 Users Only 223If Files Are Corrupt after Transfer 224Collecting the Evidence 225

Chapter 11 Using a Kermit Server 227Configuring the Server 228Starting the Server 231Sending Commands to Kermit Servers 233Transmission of Variables 242Turning the Tables 242Command Summary 243

Chapter 12 High-Speed Kermit File Transfer 245Overview of the Kermit Protocol 246A Word about Efficiency 248Analyzing Kermit’s Performance 249Data Compression 252Long Packets 254Sliding Windows 256Single and Locking Shifts 260Control Character (Un)Prefixing 262Case Study: Achieving the Best Transfer Rate 266Summary and Conclusion 270

Chapter 13 Automatic File Transfer and Command Execution 273Remote-Control File Transfer 273Automatic Uploading 274Automatic Uploading, Part Deux 275Automatic Command Execution 278

Chapter 14 Using External Protocols 281Sending Files 283Receiving Files 283Things to Watch Out for 284Command Summary 284

viii Contents

Chapter 15 Transferring Files without a Protocol 285Downloading to C-Kermit 286Uploading from C-Kermit 288Encoding 8-Bit Data Files for Transmission 293Command Summary 294

Chapter 16 International Character Sets 295Proprietary Character Sets 296Standard Character Sets 297International Characters in Commands 300International Characters in Terminal Emulation 301Transferring International Text Files 306Translating without Transferring 323One-Sided Translation 324Labor-Saving Devices 325Command Summary 326

Chapter 17 Command Files, Macros, and Variables 327Command Files Revisited 328Macros 332Macro Arguments 339A Macro Sampler 343Variables 347

Chapter 18 Programming Commands 365The IF Command 365The STOP and END Commands 375The GOTO Command 377Structured Programming 380Built-in Functions 386Can We Talk? 401Using Escape Sequences 404Reading and Writing Files and Commands 408Programming Considerations 411Summary of Built-in Functions 413

Chapter 19 Script Programming 415Automated Connection Establishment 416Synchronization Commands 419Constructing a Login Script for VMS 428A UNIX Login Script 436An IBM Mainframe Linemode Login Script 437An IBM Mainframe Fullscreen Login Script 438

Contents ix

Login Scripts for Commercial Data Services 440A Directory of Services 443Unattended File Transfer 447Passwords and Security versus Automation 449Automatic File Transfer Recovery 453Calling an Alphanumeric Pager 454Some Things We Didn’t Tell You 457The SCRIPT Command 459

Appendix I Starting and Stopping C-Kermit 461Program Termination 463Command-Line Options 465Command-Line Examples 475Environment Variables 478

Appendix II A Condensed Guide to Serial Data Communications 479Character Format and Parity 479Modems 482Cables and Connectors 492Summary 496

Appendix III UNIX C-Kermit 497Installation 497Using UNIX C-Kermit 504Command Summary 520

Appendix IV VMS C-Kermit 521Preparing Your VMS Session for C-Kermit 521Using VMS C-Kermit 523Command Summary 542

Appendix V AOS/VS C-Kermit 543Using C-Kermit in AOS/VS 544

Appendix VI Other C-Kermit Versions 549Amiga C-Kermit 549OS-9 C-Kermit 552Others 554

Appendix VII Character Set Tables 555The ASCII and ISO 646 IRV Character Set 5577-Bit Control Characters 558

x Contents

7-Bit Roman Character Sets 559West European Character Sets 560East European Character Sets 564Cyrillic Character Sets 566Hebrew Character Sets 570

Appendix VIII Country Codes 573

Appendix IX Hexification Programs 577

Appendix X Shift-Out/Shift-In Filter 579

Acronyms and Abbreviations 581

References 595

Trademarks and Copyrights 601

Index 605

Contents xi

xii

Illustrations

Figure 1-1 Remote and Local Computers 4Figure 1-2 Connecting the Local and Remote Computers 5Figure 1-3 Logging in to the Remote Computer 6Figure 1-4 Transferring a File 7Figure 3-1 C-Kermit in Remote Mode 52Figure 3-2 C-Kermit in Local Mode 52Figure 3-3 C-Kermit in the Middle 53Figure 3-4 A Direct Connection 64Figure 3-5 A Dialed Connection 66Figure 8-1 Terminal Connection 148Figure 8-2 Command and Terminal Bytesize 158Figure 9-1 Upload and Download 176Figure 9-2 Uploading a File 176Figure 9-3 Downloading a File 179Figure 9-4 C-Kermit’s Fullscreen File Transfer Display 184Figure 9-5 Kermit Text File Conversion 189Figure 10-1 Character Formats 208Figure 10-2 Hardware Flow Control 211Figure 10-3 IBM Mainframe Linemode Example 220Figure 12-1 Kermit Packet Format 246Figure 12-2 Stop-and-Wait Packet Exchange 247Figure 12-3 Sliding Windows 257Figure 16-1 Structure of an 8-Bit Latin Alphabet 299

xiii

Figure 16-2 Terminal Character Set Translation 304Figure 16-3 International Text File Transfer 307Figure 16-4 Linguini Transfer 311Figure 18-1 Returning from Nested Command Files 376Figure 18-2 Mass Mailing Script 412Figure 19-1 The VMSLOGIN Macro 433Figure 19-2 Sample IBM 3270 Login Screen 439Figure 19-3 The TAPMSG Macro 456Figure II-1 Character Formats 480Figure II-2 Asynchronous Character Transmission Format 480Figure II-3 Computers Connected by Modems 483Figure II-4 Asynchronous Modem Cable Schematic 492Figure II-5 Data Connectors 493Figure II-6 Asynchronous Null Modem Schematics 494Figure VII-1 Structure of a Standard 8-Bit Character Set 556

xiv Illustrations

Tables

Table 1-1 Kermit Software Features as of September 1996 10Table 1-2 Kermit Software, Listed by Computer Type 12Table 2-1 Special Characters in C-Kermit Commands 30Table 2-2 C-Kermit Initialization File Name 44Table 2-3 Basic C-Kermit Commands 49Table 2-4 Summary of Backslash Codes 49Table 3-1 Sample Dialout Device Names 56Table 3-2 Modem Types Known to C-Kermit 68Table 4-1 Modem Capabilities 83Table 4-2 Modem Variables 94Table 5-1 Telephone Number Modifiers for Hayes Modems 99Table 5-2 Dialing Category Codes 100Table 5-3 C-Kermit Dial Status Codes 116Table 6-1 Commonly Used Assigned TCP Port Numbers 121Table 6-2 X.3 Numeric PAD Parameters and Values 137Table 8-1 C-Kermit CONNECT-Mode Escapes 152Table 9-1 Special Characters in C-Kermit File Specifications 173Table 9-2 Kermit Packet Types 186Table 12-1 Dangerous Control Characters 265Table 12-2 V.34 ZIP-File Transfer Performance 267Table 12-3 Kermit File Transfer Feature Summary 271Table 14-1 SET PROTOCOL Command Defaults 282Table 16-1 Decimal Character Codes for Accented Capital Letter A 296

xv

Table 16-2 7-Bit National Character Sets, Differences from ASCII 298Table 16-3 The ISO Latin Alphabets 299Table 16-4 Right Half of Latin Alphabet 1 300Table 16-5 DEC Multinational Character Set 300Table 16-6 ANSI Escape Sequence Formats 303Table 16-7 C-Kermit File Character Sets 307Table 16-8 Language-Specific Transliteration Rules 320Table 17-1 Built-in Variables 361Table 18-1 \Feval() Operators 395Table 18-2 Selected VT100 Escape Sequences 405Table 18-3 Built-in Functions 413Table 19-1 Notation for SCRIPT Command 460Table I-1 C-Kermit Return Codes 463Table I-2 C-Kermit Command-Line Options 476Table I-3 Environment Variables Meaningful to C-Kermit 478Table II-1 RS-232 / V.24 Modem Signals and Pins 484Table II-2 Selected Hayes Smartmodem 2400 Commands 487Table II-3 Modem Modulation Techniques 488Table II-4 Modem Error Correction and Compression Techniques 490Table III-1 Setting Your Terminal Type in UNIX 505Table III-2 UNIX Terminal Control Characters 506Table IV-1 VMS Kermit SET FILE Commands 540Table IV-2 PC – VMS File Transfer 541Table V-1 AOS/VS Template Characters 548Table VII-1 Character Codes of ASCII and ISO 646 IRV 557Table VII-2 7-Bit C0 Control Characters 558Table VII-3 7-Bit National Character Sets, Differences from ASCII 559Table VII-4 West European Character Sets 560Table VII-5 East European Character Sets 564Table VII-6 Cyrillic Character Sets 566Table VII-7 Hebrew Character Sets 570Table VIII-1 Country Codes 573

xvi Tables

Preface

‘‘Who Is Kermit and Why Is He in My Computer?’’ asked a (now not so) recent headline1[60]. Kermit is not a ‘‘he’’ at all, but rather an inanimate, genderless, yet friendly com-

puter software package that lets just about any two computers in the world communicateeffectively with each other, no matter how they may differ in size, age, appearance, loca-tion, power, architecture, manufacture, or nationality.

This book describes C-Kermit, quite possibly the world’s most portable communicationssoftware program, for UNIX computer systems (hundreds of different ones); DigitalEquipment Corporation (Open)VMS on both VAX and Alpha; PCs with Windows 95,Windows NT, or OS/2; Data General AOS/VS, Stratus VOS, the Commodore Amiga, theAtari ST, and computers with the QNX and OS-9 realtime operating systems. The UNIXversion of C-Kermit runs on all known implementations of UNIX (see page 16) and oncomputers ranging from PCs to large mainframes and supercomputers.

C-Kermit software offers you terminal connection, error-free file transfer and manage-ment, script programming, and comprehensive support for national and internationalcharacter sets, over a wide variety of communication methods including direct and dialedserial connections and (in most versions) TCP/IP, X.25, or other networks. C-Kermit’sfull-featured script programming language operates consistently across all of C-Kermit’splatforms and over all types of connections. It allows routine, complex, or time-consum-ing communications tasks to be executed for you automatically.

1Numbers in brackets refer to entries in the References on page 595.

xvii

C-Kermit transfers text and binary files faithfully and efficiently with any other kind ofcomputer. The Kermit file transfer protocol takes care of synchronization, error detectionand correction, file format and character set conversion, and myriad details you shouldnever have to worry about. It was designed to work in even the most hostile communica-tion environments, where other protocols fail. C-Kermit’s Kermit implementation, alongwith that of MS-DOS Kermit, with which it was codeveloped, is the premiere and defini-tive rendition of the Kermit protocol.

The Kermit file transfer protocol was originally designed in 1981 by Frank da Cruz andBill Catchings at Columbia University, which has been ‘‘Kermit headquarters’’ ever since,and extended over the years by the authors and others — principally Joe Doupnik of UtahState University and John Chandler of the Harvard / Smithsonian Astronomical Obser-vatory — to meet the evolving needs of the people who depend on it. Because the Kermitprotocol is well documented [21], easy to implement, robust, extensible, and adaptable toalmost any style of communication and any computer architecture, it has long since takenits place as a worldwide de facto standard for reliable data transfer.

Acknowledgments

C-Kermit was written by Frank da Cruz of Columbia University with contributions fromhundreds of other developers and testers, all of whom have our deepest thanks, with oursincere apologies to anyone else we might have overlooked (U = University, locations arein the USA unless otherwise indicated, and note that affiliations or locations might havechanged since the contribution was made):

Chris Adie (Edinburgh U, Scotland); Robert Adsett (U of Waterloo, Canada); Larry Afrin(Clemson U); Jeffrey Altman (Columbia U); Greg Andrews (Telebit Corp); Barry Archer(U of Missouri); Bengt Andersson (ABC-Klubben, Sweden); Robert Andersson (Inter-national Systems A/S, Oslo, Norway); Chris Armstrong (Brookhaven National Labora-tory); William Bader (Software Consulting Services, Nazareth, PA); Fuat Baran (Colum-bia U); Stan Barber (Rice U); Jim Barbour (U of Colorado); Donn Baumgartner (DellComputer Corp); Nelson Beebe (U of Utah); Karl Berry (UMB); Mark Berryman (SAIC);Dean W Bettinger (State U of New York); Gary Bilkus; Peter Binderup (Denmark); DavidBolen (Advanced Networks and Services, Inc.) Marc Boucher (U of Montreal, Canada);Charles Brooks (EDN); Bob Brown; Mike Brown (Purdue U); Rodney Brown (COCAM,Australia); Jack Bryans (California State U at Long Beach); Mark Buda (DEC); A.Butrimenko (ICSTI, Moscow); Fernando Cabral (Padrão IX, Brasília, Brazil); BjörnCarlsson (Stockholm U Computer Centre QZ, Sweden); Bill Catchings (formerly ofColumbia U); Bob Cattani (formerly of Columbia U); Davide Cervone (Rochester U,NY); Seth Chaiklin (Denmark); John Chandler (Harvard U/Smithsonian AstronomicalObservatory, Cambridge, MA); Bernard Chen (UCLA); Andrew A Chernov (RELCOM

xviii Preface

Team, Moscow); John L Chmielewski (AT&T, Lisle, IL); Howard Chu (U of Michigan);Bill Coalson (McDonnell Douglas); Kenneth Cochran; Bertie Coopersmith (London,England); Chet Creider (U of Western Ontario, Canada); Alan Crosswell (Columbia U);Jeff Damens (formerly of Columbia U); Mark Davies (Bath U, England); Sin-itirouDezawa (Fujifilm, Japan); Clarence Dold (Pope Valley & Napa, CA); Joe R. Doupnik(Utah State U); Frank Dreano (US Navy); John Dunlap (U of Washington); Alex Dupuy(SMART.COM), Jean Dutertre (DEC France and Club Kermit); David Dyck (John FlukeMfg Co.); Stefaan Eeckels (Statistical Office of the European Community, CEC, Luxem-bourg); Paul Eggert (Twin Sun, Inc.); Bernie Eiben (DEC); Peter Eichhorn (assyst,Gesellschaft für Automatisierung, Software und Systeme mbH, Kirchheim bei München,Germany); Kristoffer Eriksson (Peridot Konsult AB, Örebro, Sweden); John Evans (IRS,Kansas City); Glenn Everhart (DEC); Vincent Fatica (Syracuse U); Charlie Finan (CrayResearch, Darien, CT); Herm Fischer (Encino, CA); Carl Fongheiser (CWRU); MikeFreeman (Bonneville Power Authority); Marcello Frutig (Catholic U, São Pãulo, Brazil);Hirofumi Fujii (Japan National Laboratory for High Energy Physics, Tokyo); ChuckFuller (Westinghouse); Andy Fyfe (Caltech); Christine M. Gianone (Columbia U); Joseph(Yossi) Gil (Technion, Haifa, Israel); John Gilmore (UC Berkeley); Madhusudan Giyyar-puram (HP France); Rainer Glaschick (Siemens AG, Paderborn); William H. Glass;Hunter Goatley (Western Kentucky U); Malka Gold (Columbia U); German Goldszmidt(IBM); Chuck Goodheart (NASA); Alistair Gorman (New Zealand); Juri Gonastaev(ICSTI, Moscow); Richard Gration (Australian Defence Force Academy); Chris Green(Essex U, England); Alan Grieg (Dundee Tech, Scotland); Volkmar Grote (Hamburg,Germany); Valdemar Gunnarson (Iceland); Yekta Gursel (MIT); Jim Guyton (RandCorp); Vesa Gynther (Finland); Michael Haertel; Marion Hakanson (ORST); JohnHamilston (Iowa State U); Steen Hammerum (U of Købnhavn, Denmark); Simon Hania(Netherlands); Darryl Hankerson (Auburn University); Stan Hanks (Rice U); Ken Har-renstein (SRI); Eugenia Harris (Data General); David Harrison (Kingston Warren Cor-poration); James Harvey (Indiana/Purdue U); Rob Healey; Chuck Hedrick (Rutgers U);Ron Heiby (Motorola Computer Group); Steve Hemminger (Tektronix); Christian Hems-ing (Rheinisch-Westfälisch Technische Hochschule, Aachen, Germany); Andrew Herbert(Monash U, Australia); Mike Hickey (ITI); Dan Hildebrand (QNX Software Systems Inc.,Ontario); R.E. Hill; Bill Homer (Cray Research); Ray Hunter (The ex-WollongongGroup); Randy Huntziger (US National Library of Medicine); Larry Jacobs (Transarc);Xander Jansen (SURFnet, Utrecht, Netherlands); Graham Jenkins (TABCORP, Mel-bourne, Australia); Steve Jenkins (Lancaster U, England); Bo Johansson (Sweden); DaveJohnson (Gradient Technologies); Mark Johnson (Apple Computer); Jyke Jokinen(Tampere U of Technology, Finland); Eric Jones (AT&T); Luke Jones (AT&T); PeterJones (U of Quebec, Montreal, Canada); Phil Julian (SAS Institute); Peter Kabal (U ofQuebec); Mic Kaczmarczik (U of Texas at Austin); Sergey Kartashoff (Institute of PreciseMechanics & Computer Equipment, Moscow); Howie Kaye (Columbia U); Rob Kedoin(Linotype Co., Hauppauge, NY); Phil Keegstra; Mark Kennedy (IBM); Terry Kennedy (StPeter’s College, Jersey City, NJ); Carlo Kid (Technical U of Delft, Netherlands); Tim

Acknowledgments xix

Kientzle; Ted Kilgore (Auburn U); Paul Kimoto (Cornell U); Douglas Kingston;Lawrence Kirby (Wiltshire, England); John Klensin (United Nations University); KurtKlingbeil (Province of Alberta); Tom Kloos (Sequent Computer Systems); Jim Knutson(U of Texas at Austin); John T. Kohl (BSDI); Scott Kramer (SRI International); JohnKraynack (US Postal Service); David Kricker (Encore Computer); Thomas Krueger (U ofWisconsin at Milwaukee); Bo Kullmar (Central Bank of Sweden, Kista, andABC-Klubben, Stockholm); R. Brad Kummer (AT&T Bell Labs, Atlanta, GA); JohnKunze (UC Berkeley); David Lane (Stratus Computer Inc); Russell Lang (Monash U,Australia); Bob Larson (USC); Bert Laverman (Groningen U, Netherlands); Steve Layton;David Lawyer (UC Irvine); David LeVine (National Semiconductor Corp.); DanielS. Lewart (UIUC); S.O. Lidie (Lehigh U); Tor Lillqvist (Helsinki U, Finland); RobertLipe (Arnet Corp); Benny Löfgren (DIAB, Sweden); Dean Long; Mike Long (AnalogDevices); Kevin Lowey (U of Saskatchewan, Canada); Andy Lowry (Columbia U); JamesLummel (Caprica Telecomputing Resources); David MacKenzie (Environmental DefenseFund, U of Maryland); John Mackin (U of Sidney, Australia); Martin Maclaren (Bath U,England); Chris Maio (formerly of Columbia U); Montserrat Mané (HP France); FulvioMarino (Olivetti, Ivrea, Italy); Arthur Marsh (DIRCSA, Australia); Peter Mauzey(AT&T); Tye McQueen (Utah State U); Ted Medin (NOSC); Ajay Mehta (DEC); MelissaMetz (Columbia U); Hellmuth Michaelis (Hanseatischer Computerservice GmbH, Ham-burg, Germany); Leslie Mikesell (American Farm Bureau); Gary Mills (U of Manitoba,Canada); Martin Minow (DEC); Pawan Misra (Bellcore); Ken Mizialko (IBM, Manassas,VA); Ray Moody (Purdue U); Bruce J. Moore (Allen-Bradley Co); Steve Morley (Con-vex); Peter Mossel (Columbia U); Tony Movshon (NYU); Lou Muccioli (SwansonAnalysis Systems); Dan Murphy; Neal P. Murphy (Harsof Systems, Wonder Lake, IL);Gary Mussar (Bell Northern Research); John Nall (Florida State U); Jack Nelson (U ofPittsburgh); Jim Noble (PRC, Inc.); Ian O’Brien (Bath U, England); John Owens; MichaelPins (Iowa Computer Aided Engineering Network); André Pirard (U of Liège, Belgium);Paul Placeway (Ohio State U); Piet Plomp (Groningen U, Netherlands); Ken Poulton (HPLabs); Manfred Prange (Oakland U); Christopher Pratt (APV Baker, UK); Frank Prindle(NADC); Tony Querubin (U of Hawaii); Phil Race (ICL, Manchester, England);Jean-Pierre Radley; Anton Rang; Ruth Raphaeli (Columbia U); Scott Ribe; Alan Robiette(Oxford U, England); Michel Robitaille (U of Montreal, Canada); Huw Rogers(Schweizerische Kreditanstalt, Zürich); Kai Uwe Rommel (Technische UniversitätMünchen, Germany); Judith Rosenhouse (Technion, Haifa, Israel); Larry Rosenman (Ir-ving, TX); Jay Rouman (U of Michigan); Jack Rouse (SAS Institute); Stew Rubenstein(Harvard U); Cory Sane (Medical U of SC); Bill Schilit (Columbia U); Ulli Schlüter(RWTH Aachen, Germany); Michael Schmidt (U of Paderborn, Germany); EricSchnoebelen (Convex); Benn Schreiber (DEC); Dan Schullman (DEC); John Schultz(3M); Steven Schultz (GTE Government Systems Corp); APPP Scorer (Leeds Polytech-nic, England); Gordon Scott (Micro Focus, Newbury, England); Jay Sekora (Princeton U);Gisbert W. Selke (Wissenschaftliches Institut der Ortskrankenkassen, Bonn, Germany);David Singer (IBM Almaden Research Labs); David Sizeland (U of London Medical

xx Preface

School, England); Friðrik Skulason (Iceland); Rick Sladkey; Dave Slate; Bradley Smith(UCLA); Fred Smith (Merk); Richard Smith (California State U); Ryan Stanisfer (UNT);Bertil Stenström (Stockholm U Computer Centre QZ, Sweden); James Sturdevant (CAP

GEMINI AMERICA, Minneapolis, MN, and Medtronic, Inc., Fridley, MN); Margarita Suarez(Columbia U); Peter Svanberg (Kungl. Tekniska Högskolan, Sweden); James Swenson(Accu-Weather, Inc., State College, PA); Chris Sylvain (U of Maryland); Andy Tanen-baum (Vrije U, Amsterdam, Netherlands); Tim Theisen (U of Wisconsin); Glen Thobe;Lee Tibbert (DEC); Markku Toijala (Helsinki U of Technology, Finland); Teemu Torma(Helsinki U of Technology, Finland); Linus Torvalds (Helsinki, Finland); Rick Troxel(US National Institutes of Health); Warren Tucker (Tridom Corp, Mountain Park, GA);Dave Tweten (NASA); G. Uddeborg (Sweden); Walter Underwood (Ford Aerospace);Pieter Van Der Linden (Centre Mondial, Paris, France); Ge van Geldorp (Netherlands);Fred van Kempen (MINIX User Group, Voorhout, Netherlands); Johan van Wingen(Leiden, Netherlands); Wayne Van Pelt (General Electric Corporate Research andDevelopment); Mark Vasoll (Oklahoma State U); Don Vickers (DECUS); KonstantinVinogradov (ICSTI, Moscow); Paul Vixie (DEC); Bernie Volz (Process Software);Eduard Vopicka (Prague School of Economics, Czech Republic); Dimitri Vulis (D&MConsulting Services, NYC); Roger Wallace (Raytheon); Stephen Walton (California StateU at Northridge); Jamie Watson (Adasoft, Switzerland); Rick Watson (U of Texas);Robert Weiner (Programming Plus, New York City); Lauren Weinstein (Vortex Technol-ogy); Clark Wierda (Illuminati Online, Austin TX); David Wexelblat (AT&T Bell Labs);Bill Whitney (DEC); Joachim Wiesel (U of Karlsruhe, Germany); Lon Willett (U ofUtah); Michael Williams (UCLA); Nate Williams (U of Montana); David Wilson; JoellenWindsor (U of Arizona); Patrick Wolfe (Kuck & Associates, Inc.); Gregg Wonderly(Oklahoma State U); Farrell Woods (Concurrent); David Woolley (London, England);Jack Woolley (SCT Corp); Frank Wortner; Ken Yap (U of Rochester, NY); John Zeeff(Ann Arbor, MI); Martin Zinser (Gesellschaft für Schwerionenforschung GSI, Darmstadt).

The second edition brings Using C-Kermit up to date with C-Kermit 6.0. The changes aretoo numerous to list, but noteworthy among them is the new ‘‘intelligent and portable’’dialing directory (Chapter 5), whose design required an education in the art of dialingtelephones. For their help with this work, grateful thanks to Pat Townsend for moderatingthe comp.dcom.telecom newsgroup, a goldmine of telephony information and expertise,and to those who assisted directly, especially: Toby Nixon (Program Manager, WindowsTelephony, Microsoft Corporation); Dave Kramer (Head of International ConsumerMarkets, Sprint International); Bernard Lyons (IS Specialist, Claris Ireland); Ken Levitt(Informed Computer Solutions, Wayland, MA); Mark Brader (SoftQuad Inc., Toronto);Martin Kealey (Auckland, New Zealand); and David Woolley (London, England).

Big thanks, as always, to the ‘‘Kermites,’’ who do such an amazing job of technical andcustomer support while running our day-to-day production operations so smoothly: MaxEvarts, Andy Newcomb, and the generations who came before, especially Bob Tschudi,Peter Howard, Lucy Lee, and Ken Suh.

Acknowledgments xxi

A special note of appreciation to Jeffrey Altman, for some years a (prodigious) volunteercontributor to the Kermit Project, and now a full-time developer on the Kermit team, formassive contributions to C-Kermit 6.0 — and not just code, but energy, enthusiasm, andgreat ideas too.

Thanks to everyone who helped in the production of this book: Liz McCarthy, KarenPratt, and Mike Cash at Digital Press / Butterworth Heinemann / Reed Elsevier; to theformer team of the original Digital Press, wherever they are now, who produced the firstedition of this book as well as our other Kermit books; to Marjan Bace and Lee Fitzpatrickof Manning Software, the publisher of Kermit 95, for which this book serves as technicalreference; and to Guy Steele of Sun Microsystems for permission to reproduce his TelnetSong and to Deborah Cotton of the ACM for the right to do so.

And finally, thanks to our management and colleagues at Columbia University for theirencouragement and support, especially Vaçe Kundakçı, Deputy Vice President forAcademic Information Systems, and Elaine Sloan, Vice President for Information Ser-vices and University Librarian; to Bruce Gilchrist and Howard Eskin, directors of our or-ganization during the early days of Kermit; to Alan Crosswell and the AcIS SystemsGroup for taking care of our well-known server, kermit.columbia.edu, and for help inmany other forms; and to Lee Lidofsky, a Great Teacher, for a timely push in a gooddirection, a long time ago.

Frank da Cruz and Christine M. GianoneThe Kermit Project, Columbia University

New York City, September 1996

[email protected], [email protected]

IMPORTANT:

This edition of Using C-Kermit is current as of C-Kermit version 6.0.192. Any changesmade after this edition was published, but before the next edition is published, are listed inan online file that accompanies the C-Kermit software. The name of the file depends onthe operating system and distribution method, but will generally begin or end with thecharacters ‘‘UPD’’ — CKERMIT.UPD, CKCKER.UPD, UPDATES.DOC. Be sure to consult thisfile to learn about new features.

Other supplemental online documentation files include ‘‘beware’’ files, whose names endwith ‘‘.BWR’’, which contain current information about bugs and restrictions, with sug-gested workarounds, for C-Kermit in general (CKCKER.BWR), and for particular implemen-tations (ckuker.bwr for UNIX, CKVKER.BWR for VMS, etc). There are also files con-taining detailed installation instructions for each operating system (CK*INS.DOC), plus aconfiguration guide (CKCCFG.DOC) and a program logic manual (CKCPLM.DOC).

xxii Preface

A special note of appreciation to Jeffrey Altman, for some years a (prodigious) volunteercontributor to the Kermit Project, and now a full-time developer on the Kermit team, formassive contributions to C-Kermit 6.0 — and not just code, but energy, enthusiasm, andgreat ideas too.

Thanks to everyone who helped in the production of this book: Liz McCarthy, KarenPratt, and Mike Cash at Digital Press / Butterworth Heinemann / Reed Elsevier; to theformer team of the original Digital Press, wherever they are now, who produced the firstedition of this book as well as our other Kermit books; to Marjan Bace and Lee Fitzpatrickof Manning Software, the publisher of Kermit 95, for which this book serves as technicalreference; and to Guy Steele of Sun Microsystems for permission to reproduce his TelnetSong and to Deborah Cotton of the ACM for the right to do so.

And finally, thanks to our management and colleagues at Columbia University for theirencouragement and support, especially Vaçe Kundakçı, Deputy Vice President forAcademic Information Systems, and Elaine Sloan, Vice President for Information Ser-vices and University Librarian; to Bruce Gilchrist and Howard Eskin, directors of our or-ganization during the early days of Kermit; to Alan Crosswell and the AcIS SystemsGroup for taking care of our well-known server, kermit.columbia.edu, and for help inmany other forms; and to Lee Lidofsky, a Great Teacher, for a timely push in a gooddirection, a long time ago.

Frank da Cruz and Christine M. GianoneThe Kermit Project, Columbia University

New York City, September 1996

[email protected], [email protected]

IMPORTANT:

This edition of Using C-Kermit is current as of C-Kermit version 6.0.192. Any changesmade after this edition was published, but before the next edition is published, are listed inan online file that accompanies the C-Kermit software. The name of the file depends onthe operating system and distribution method, but will generally begin or end with thecharacters ‘‘UPD’’ — CKERMIT.UPD, CKCKER.UPD, UPDATES.DOC. Be sure to consult thisfile to learn about new features.

Other supplemental online documentation files include ‘‘beware’’ files, whose names endwith ‘‘.BWR’’, which contain current information about bugs and restrictions, with sug-gested workarounds, for C-Kermit in general (CKCKER.BWR), and for particular implemen-tations (ckuker.bwr for UNIX, CKVKER.BWR for VMS, etc). There are also files con-taining detailed installation instructions for each operating system (CK*INS.DOC), plus aconfiguration guide (CKCCFG.DOC) and a program logic manual (CKCPLM.DOC).

xxii Preface Next file >>