home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-30 | 3.9 KB | 128 lines | [TEXT/KAHL] |
- /*
-
- Release of MacTCP classes 10/6/92
-
- These classes are based on the MacTCP Documentation Kit 1.0, APDA# M0217ll/A
-
- Copyright © NCSA, University of Illinois; June 18, 1992
- Eric Johnson, John Newlin and Igor Livshits
-
- This code may be used, modified, and distributed free of charge and obligation.
-
- */
-
- /* =====================* /
- / *===---------------===* /
-
- Notes:
-
- Ideally, everything should be routed through the Client classes (CTCPClient). Igor is
- working on a rudimentary text-only ftp client class and a rexec client class.
-
- I think we found and cleaned up all gross bugs. There may be a bunch of subtler ones
- lurking about. Please let us know of any more such beasts.
-
- This code is slow. This code is inefficient. The client does not support the faster
- no copy receive functionality of MacTCP.
-
- Our actions on timeout errors are basic, and inadequate for most cases. You might include
- more robust support in your client.
-
- Many thanks to Andrew Gilmartin, Steven Falkenburg, and members of tcl-talk@brown.edu
- for numerous ideas and hints.
-
-
- / *===---------------===* /
-
-
- Known bugs:
-
- 1. There is a bug in the receive data routines. Only dynamic data buffers may be used.
- If an address of an array is passed to the routines (and MacTCP), you guessed it --
- kablooey. I am not sure whether it is our code or MacTCP. Just to be safe,
- use CTCP::CreateInputBuffer() and CTCP will allocate the memory for you.
-
- / *===---------------===* /
-
- Class list:
-
- 1. CMacTCPDriver (subclass of CObject)
- Implements the driver level general routines
-
- 2. CTCP (subclass of CMacTCPDriver)
- Implements Transfer Control Protocol
-
- 3. CDNR (subclass of CMacTCPDriver)
- Implements the Dynamic Name Resolver
-
- 4. CTCPCLient (subclass of CCollaborator)
- A client class that acts as an interfaces between TCL
- and the driver level classes.
-
-
- / *===---------------===* /
-
- Build instructions:
-
- These classes were designed to run under full TCL 1.1. For testing purposes, we stripped
- the TCL down to essential classes and everything still worked, but was rather ugly.
- We included a file DemoCode.c that shows a rudimentary implementation of the classes
- on top of this stripped TCL.
-
- To build a project with MacTCP classes you will need:
-
- 1. A standard TCL application framework.
- Starter.π should be adequate. Igor will post an example of an application
- to TCL-Talk by in the first half of October, 1992.
-
- 2. File classes.
- These file classes are available at TCL-Talk. The MacTCP classes may be easily adapted
- to work without these cutom file classes by replacing instances of Isle classes with
- standard TCL classes. The CDNR relies on a custom search routine in these classes --
- you may need to rewrite it if you chose to go standard.
-
- 3. Custom headers.
- This distribution should contain a file called IsleHeaders.h. This file may be
- precompiled for faster builds. MacTCP make no direct reference to this file as it is
- included automatically (Options:Prefix). Cosmetics.h is referenced by this file and is
- also included with this distribution.
-
- 4. Resources.
- Make sure to include the 'STR#' resources from this distribution in your
- project resource file. This is an error string.
-
-
- / *===---------------===* /
-
- Authors:
-
- Eric E. Johnson
- NCSA - Oil Chemistry Building
- 508 Sixth Street, Champaign, Illinois 61820
- University of Illinois
-
- Igor Livshits e: igorl@ncsa.uiuc.edu
- NCSA - 240 Computer Applications Building
- University of Illinois
- 605 East Springfield Avenue, Champaign, Illinois 61820
- (217) 244-5606
- Champaign-Urbana campus
-
- John Newlin
- newlin@ecn.purdue.edu
-
-
-
- If you change any of these classes or create subclasses, we would love to see your code.
-
-
- / *===---------------===* /
-
- TCL-Talk:
-
- List- TCL-TALK@BROWNVM.brown.edu
- Requests/Administration- LISTSERV@BROWNVM.brown.edu
- Anonymous FTP- ftp.brown.edu (/pub/tcl)
-
- / *===---------------===* /
- / *=====================*/