Temporarily use -O1 until segfault with -O2+krb5+iksd is fixed
[ckermit.git] / ckaaaa.txt
1 ckaaaa.txt                                                        June 2011
2
3                            C-KERMIT VERSION 9.0.300
4                               OVERVIEW OF FILES
5
6                Communications software for UNIX and (Open)VMS.
7
8                        And in former versions also for:
9                           Stratus VOS, AOS/VS, QNX,
10              Plan 9, OS-9, Apollo Aegis, and the Commodore Amiga.
11                       The Apple Macintosh, the Atari ST.
12
13                   The Kermit Project - Columbia University
14
15               http://kermit.columbia.edu/ - kermit@columbia.edu
16
17
18   Copyright (C) 1985, 2011,
19     Trustees of Columbia University in the City of New York.
20     All rights reserved.  See the C-Kermit COPYING.TXT file or the
21     copyright text in the ckcmai.c module for disclaimer and permissions.
22     BRIEFLY: C-Kermit 9.0 has the OPEN SOURCE 3-clause MODIFIED BSD LICENSE.
23
24
25 DOCUMENTATION
26
27   C-Kermit is documented in the book "Using C-Kermit", Second Edition, by
28   Frank da Cruz and Christine M. Gianone, Digital Press, ISBN 1-55558-164-1,
29   supplementated by Web-based updates for C-Kermit 7.0, 8.0, and 9.0.
30
31 PLATFORMS
32                    Security
33    Name            Included   Last Updated
34
35    Unix               Yes     9.0.300  30 Jun 2011
36    (Open)VMS          Yes     9.0.300  30 Jun 2011
37    Windows (K95)      Yes     8.0.208  14 Mar 2003  (K95 2.1)
38    OS/2 (K95)         Yes     8.0.208  14 Mar 2003  (K95 2.1)
39    DG AOS/VS          No      7.0.196   1 Jan 2000
40    Stratus VOS        No      7.0.196   1 Jan 2000
41    Bell Plan 9        No      7.0.196   1 Jan 2000
42    Microware OS-9     No      7.0.196   1 Jan 2000
43    Commodore Amiga    No      7.0.196   1 Jan 2000
44    Macintosh          No      5A(190)  16 Aug 1994  (Mac Kermit 0.991)
45    Atari ST           No      5A(189)  30 Jun 1993
46
47 QUICK START FOR FTP USERS
48
49   If you have a Web browser, go to:
50
51     http://www.columbia.edu/kermit/ckermit.html
52
53   And take it from there.  Otherwise...
54
55   The definitive FTP source for Kermit software is kermit.columbia.edu.
56   Kermit software obtained from other FTP sites is not necessarily complete
57   or up to date, and may have been modified.
58
59 C-Kermit for UNIX computers that have a C compiler and 'make' program:
60
61   Directory kermit/archives, binary mode, file cku211.tar.Z or cku211.tar.gz
62
63   This is a compressed tar archive of UNIX C-Kermit source code, makefile, and
64   other files.  It unpacks into its current directory, so download it into a
65   fresh directory.  Transfer in binary mode, uncompress (or gunzip), untar (tar
66   xvf cku211.tar), and then give the appropriate "make" command to build for
67   your UNIX system; read the comments in the makefile and ckuins.txt for
68   further info.
69
70 C-Kermit for VMS:
71
72   If you have VMS UNZIP, get the file kermit/archives/ckv211.zip in binary
73   mode, unzip -aa, and build with CKVKER.COM (@ckvker.com).  Read the comments
74   at the top of CKVKER.COM for details.
75
76 Others:  In the kermit/f or kermit/test directories under the appropriate
77 prefixes, explained below.
78
79
80 INSTALLATION
81
82 Installation procedures depend on the operating system.  Please read the
83 CK?INS.TXT, if any, file for your operating system (?=U for UNIX, V for VMS,
84 etc).  Please note the naming and placement for the initialization files:
85
86   CKERMIT.INI
87     .kermrc in the user's home directory (UNIX).
88     CKERMIT.INI in the user's home directory (other OS's).
89
90
91   CKERMOD.INI
92     .mykermrc in the user's home directory (UNIX).
93     CKERMOD.INI elsewhere.
94
95   DIALING DIRECTORIES
96     Dialing directory files can be system-wide, per-group, or per-user, or
97     any combination.  For example, there can be a corporate wide directory
98     shared by all users, a supplemental directory for each division or
99     department, and a personal directory for each user.  Simply be sure the
100     dialing directory files are identified a SET DIAL DIRECTORY command in
101     the user's (or the system-wide) C-Kermit initialization file, or in the
102     environment variable (logical name, symbol) K_DIAL_DIRECTORY.  (The
103     standard initialization file looks by default in the user's home or login
104     directory.)  When installing C-Kermit on multiuser platforms from which
105     users will dial out, you can also set environment variables for area
106     code, country code, and the various dialing prefixes as described on page
107     478 of "Using C-Kermit" (second edition), so users don't have to worry
108     about defining these items themselves.   Network directories and service
109     directories can also be set up in a similar manner.
110
111   DOCUMENTATION
112     In UNIX, the general C-Kermit man page (or one of the versions tailored
113     for a specific platform, like HP-UX or Solaris) should be installed in
114     the appropriate place.  In VMS, the VMS help topic (CKVKER.HLP) should
115     be installed as described in CKVINS.TXT.  Plain-text documentation such
116     as CKERMIT2.TXT should be put in whatever place people are accustomed
117     to looking.
118
119 FILES AND FILE NAMING CONVENTIONS
120
121 C-Kermit is a family of Kermit programs for many different computer systems.
122 The program shares a common set of system-independent file transfer protocol
123 modules, written in the C language.  System-dependent operations are collected
124 into system-specific modules for each system.
125
126 C-Kermit file names all start with the letters "CK", followed by a single
127 letter indicating the subgroup.  When referring to these files in the UNIX,
128 AOS/VS, or VOS environments, use lowercase letters, rather than the uppercase
129 letters shown here.  Subgroups:
130
131   _: Security/Authentication/Encryption code, possibly regulated by law
132   a: General descriptive material and documentation
133   b: BOO file encoders and decoders (obsolete)
134   c: All platforms with C compilers
135   d: Data General AOS/VS
136   e: Reserved for "ckermit" files, like CKERMIT.INI, CKERMIT80.TXT
137   f: (reserved)
138   g: (reserved)
139   h: (reserved)
140   i: Commodore Amiga (Intuition)
141   j: (unused)
142   k: (unused)
143   l: Stratus VOS
144   m: Macintosh with Mac OS
145   n: Microsoft Windows NT
146   o: OS/2 and/or Microsoft Windows 95/98/ME/NT/2000/XP/...
147   p: Bell Labs Plan 9
148   q: (reserved)
149   r: DEC PDP-11 with RSTS/E (reserved)
150   s: Atari ST GEMDOS (last supported in version 5A(189))
151   t: DEC PDP-11 with RT-11 (reserved)
152   u: UNIX or environments with UNIX-like C libraries
153   v: VMS and OpenVMS
154   w: Wart (Lex-like preprocessor, used with all systems)
155   x: (reserved)
156   y: (reserved)
157   z: (reserved)
158   0-3: (reserved)
159   4: IBM AS/400 (reserved but probably never will be used)
160   5-8: (reserved)
161   9: Microware OS-9
162
163 Examples:
164
165   ckaaaa.txt - This file
166   ckufio.c   - File i/o for UNIX
167   ckstio.c   - Communications i/o for the Atari ST
168   makefile   - makefile for building UNIX C-Kermit
169   ckpker.mk  - makefile for building Plan 9 C-Kermit
170   ckvker.com - build procedure for VMS C-Kermit
171
172 IMPORTANT FILES (use lowercase names on UNIX, VOS, or AOS/VS):
173
174   ckaaaa.txt  - This file (overview of the C-Kermit files).
175                 For system-specific distributions, this will normally
176                 be replaced by a system-specific READ.ME file.
177
178   ckermit70.txt - Updates: Supplement to "Using C-Kermit", 2nd Ed, for 7.0.
179   ckermit80.txt - Updates: Supplement to "Using C-Kermit", 2nd Ed, for 8.0.
180   ckututor.txt  - C-Kermit Tutorial for Unix (plain text)
181   ckcbwr.txt  - "Beware file" (limitations, known bugs, hints), general.
182   ckermit.ini - Standard initialization file (rename to .kermrc in UNIX, OS-9)
183   ckermod.ini - Sample customization file (rename to .mykermrc in UNIX, OS-9)
184
185 The following can be found at the Kermit FTP site:
186
187   ckermit.kdd - Sample dialing directory file (rename to .kdd in UNIX, OS-9)
188   ckermit.knd - Sample dialing directory file (rename to .knd in UNIX, OS-9)
189   ckermit.ksd - Sample services directory file (rename to .ksd in UNIX, OS-9)
190   ckedemo.ksc - Demonstration macros from "Using C-Kermit"
191   ckepage.ksc - Ditto
192   ckevt.ksc   - Ditto
193
194 UNIX-specific files:
195
196   ckuins.txt - UNIX-specific installation instructions.
197   ckubwr.txt - UNIX-specific beware file.
198   ckuker.nr  - "man page" for UNIX.
199
200 VMS-specific files:
201
202   ckvins.txt - VMS-specific installation instructions.
203   ckvbwr.txt - VMS-specific beware file
204   ckvker.hlp - VMS C-Kermit HELP topic (needs updating).
205
206 DG AOS/VS-specific files:
207
208   ckdins.txt - Data General AOS/VS C-Kermit installation instructions
209   ckdbwr.txt - AOS/VS "beware" file
210   ckd*.cli   - Procedures for building AOS/VS C-Kermit
211
212 The following files are of interest mainly to programmers and historians
213 (find them at the Kermit ftp site in the kermit/f directory):
214
215   ckcker.ann - Release announcements.
216   ckccfg.txt - Configuration information (feature selection), general.
217   ckcplm.txt - Program logic manual (for programmers).
218   ckc300.txt - Program update history for edit 212-300 (C-Kermit 9.0).
219   ckc211.txt - Program update history for edit 201-211.
220   ckc200.txt - Program update history for edit 198-200 (big)
221   ckc197.txt - Program update history for edit 195-197 (big)
222   ckc190.txt - Program update history for edits 189-190 (big).
223   ckc188.txt - Program update history, edits 179-188 (big).
224   ckc178.txt - Program edit history, 5A edits through 178 (very big).
225   ckcv4f.txt - Program edit history, version 4F.
226   ckcv4e.txt - Program edit history, version 4E.
227
228 BINARIES
229
230 If you have FTP access to kermit.columbia.edu (also known as
231 kermit.cc.columbia.edu, ftp.cc.columbia.edu), you can also retrieve various
232 C-Kermit binaries from the directory kermit/bin/ck*.*, or more conventiently
233 from the web page:
234
235   http://www.columbia.edu/kermit/ck80binaries.html
236
237 Test versions would be in kermit/test/bin/ck*.*.  Be sure to transfer these
238 files in binary mode.  The READ.ME file in that directory explains what's
239 what.
240
241 SOURCE FILES
242
243 The source files for the UNIX version (all UNIX versions) are available in
244 kermit/archives/ckuNNN.tar.Z, approximately 1MB in size.  Transfer this file
245 in binary mode.  This is a compressed tar archive.  There is also a gzip'd
246 version, cku211.tar.gz.  To get the binary tar archive:
247
248   mkdir kermit                   (at shell prompt, make a Kermit directory)
249   cd kermit                      (make it your current directory)
250
251   ftp kermit.columbia.edu        (make an ftp connection)
252   user: anonymous                (log in as user "anonymous", lower case!)
253   password:                      (use your email id as a password)
254   cd kermit/archives             (go to the archives directory)
255   type binary                    (specify binary file transfer)
256   get cku300.tar.Z               (get the tar archive) (or get cku192.tar.gz)
257   bye                            (disconnect and exit from ftp)
258
259   uncompress cku300.tar.Z        (at the shell prompt, uncompress the archive)
260   tar xvf cku300.tar             (extract the files from the tar archive)
261   make xxx                       (build C-Kermit for your system)
262
263 (where "xxx" is the makefile entry appropriate for your system.)
264
265 All C-Kermit source and other text files are also kept separately in the
266 kermit/f directory.  The files necessary to build a particular implementation
267 of C-Kermit are listed in the appropriate makefile or equivalent:
268
269        UNIX: makefile (or rename ckuker.mak to makefile)
270    2.11 BSD: ckubs2.mak (rename to makefile), ckustr.sed
271      Plan 9: ckpker.mk  (rename to mkfile)
272   Macintosh: ckmker.mak (rename to kermit.make, use MPW C 3.2)
273         VMS: CKVKER.COM (DCL) (and optionally also CKVKER.MMS)
274              or CKVOLD.COM (for VMS 4.x)
275       Amiga: CKIKER.MAK (Aztec C) or CKISAS.MAK (SAS C)
276    Atari ST: CKSKER.MAK
277        OS-9: ck9ker.mak or ck9ker.gcc
278      AOS/VS: ckdmak.cli, ckdcc.cli, ckdlnk.cli
279 Stratus VOS: cklmak.cm
280
281 Minimal source files for building selected versions (these patterns get all
282 the files you need, and in some cases maybe a few extra):
283
284    UNIX:   ck[cuw]*.[cwh]   (including QNX, Plan 9, and BeBox)
285    UNIX:   ck[cuw_]*.[cwh]  (Unix with security modules)
286    VMS:    ck[cuwv]*.[cwh]  VMS
287    VMS:    ck[cuwv_]*.[cwh] VMS with SSL/TLS
288    Mac:    ck[cuwm]*.[cwhr] Old Mac OS, not Mac OS X, which is UNIX.
289    AOS/VS: ck[cuwd]*.[cwh]
290    VOS:    ck[cwhl]*.[cwh]
291    Amiga:  ck[cuwi]*.[cwh]
292    Atari:  ck[cuws]*.[cwh]
293    OS-9:   ck[cuw9]*.[cwha]
294
295 Finally, here is a more detailed description of the C-Kermit file naming
296 conventions.  A C-Kermit filename has the form:
297
298   CK<system><what>.<type>
299
300 where:
301
302 <system> is described earlier in this file;
303
304 <type> is the file type (use lowercase on UNIX, VOS, or AOS/VS):
305
306   c:   C language source
307   h:   Header file for C language source
308   w:   Wart preprocessor source, converted by Wart (or Lex) to a C program
309   r:   Macintosh resource file (8-bit text)
310   a:   Assembler source
311
312   txt: Plain text.
313   nr:  Nroff/Troff text formatter source for UNIX "man page"
314   mss: Scribe text formatter source
315   ps:  Typeset material to be printed on a PostScript printer
316   pdf: An Adobe PDF file
317   hlp: A VMS Help topic
318
319   ini: Initialization file
320   ksc: A Kermit Script to be executed by the TAKE command
321   kdd: A Kermit Dialing Directory
322   knd: A Kermit Network Directory
323   ksd: A Kermit Services Directory
324
325   mak: A Makefile or other build procedure (often needs renaming)
326   com: (VMS only) a DCL command procedure
327   cli: (AOS/VS only) a command procedure
328   cmd: (OS/2 only) a Rexx command procedure
329
330   boo: "boo"-encoded executable program, decode with CKBUNB program.
331   hex: "hex"-encoded executable program, decode with CKVDEH program (VMS only).
332   hqx: BinHex'd Macintosh Kermit program, decode with BinHex version 4.0.
333   uue: A uuencoded binary file, decode with uudecode or (DG only) CKDECO.
334
335   def: An OS/2 linker definitions file.
336   sh:  A UNIX shell script.
337   sed: A UNIX sed (editor) script.
338   str: A file of character strings extracted from C-Kermit (BSD 2.1x only).
339
340 <what> is mnemonic (up to 3 characters) for what's in the file:
341
342 NOTE: After C-Kermit 6.0, text filetypes such as .DOC and .HLP were changed
343 to .TXT to avoid confusion in Windows-based Web browsers, which would
344 otherwise mistake them for Microsoft Word or Windows Help documents.
345
346   aaa: A "read-me" file, like this one
347   ins: Installation instructions or procedures
348   bwr: "Beware" file -- things to watch out for, hints and tips
349   plm: Program Logic Manual
350   ker: General C-Kermit definitions, information, documentation
351
352   nnn: Digits: C-Kermit edit number (e.g. cku300.tar.gz)
353   cmd: Command parsing
354   con: CONNECT command
355   cns: CONNECT command (UNIX only - version that uses select(), not fork())
356   deb: Debug/Transaction Log formats, Typedefs
357   dia: Modem/Dialer control
358   fio: System-depdendent File I/O
359   fns: Protocol support functions
360   fn2: More protocol support functions (and FN3, ...)
361   lib: Common library routines module
362   mai: Main program
363   net: Network i/o module
364   pro: Protocol
365   scr: SCRIPT command
366   tel: Telnet protocol module
367   tio: System-dependent communications i/o & control and interrupt handing
368   sig: Signal handling module
369   usr: Interactive/script user interface
370   us2: More user interface (mainly help text)
371   us3: Still more user interface (and USR4, USR5, USR6, USR7)
372   usx: Common user interface functions
373   usy: Command-line parsing
374   xla: Character set translation module
375   uni: Unicode support
376   pty: Pseudoterminal support
377   mdb: Malloc-debugging module (not included in real builds)
378   str: Strings module (only for 2.xBSD)
379
380 (End of ckaaaa.txt)