home *** CD-ROM | disk | FTP | other *** search
- G U S I -- Grand Unified Socket Interface
-
- INTRODUCTION
-
- GUSI is an extension and partial replacement of the MPW C runtime
- library. Its main objective is to provide a more or less simple and
- consistent interface across the following communication domains:
-
- Files Ordinary Macintosh files and MPW pseudo devices.
- Unix Memory based communication within a single machine
- Appletalk ADSP communication over a network.
- PPC Local and remote connections with the System 7 PPC Toolbox
- Internet TCP and UDP connections over MacTCP.
-
- Additionally, GUSI adds some UNIX library calls dealing with files which
- were missing, like chdir(), getcwd(), symlink(), and readlink(), and changes
- a few other library calls to behave more like their UNIX counterparts.
-
- REQUIREMENTS
-
- To use GUSI, you need MPW C 3.2 or later. To modify it, you additionally need
- MPW C++ 3.2 or later and Perl.
-
- COPYING
-
- Copyright ⌐ 1992, 1993 Matthias Neeracher
-
- Permission is granted to anyone to use this software for any purpose on any
- computer system, and to redistribute it freely, subject to the following
- restrictions:
-
- - The author is not responsible for the consequences of use of this software,
- no matter how awful, even if they arise from defects in it.
- - The origin of this software must not be misrepresented, either by explicit
- claim or by omission.
- - Altered versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
-
- WHERE TO BEGIN
-
- You should probably start with printing out the documentation in GUSI.ps. Maybe
- it helps also to play with the sample programs.
-
- BUGS, QUESTIONS, SUGGESTIONS
-
- Please report any problems you experience with the code or the documentation to
- me. I'd also be interested in hearing about your success stories, if you have
- any.
-
- MAILING LIST
-
- There is now a mailing list for announcing new releases and discussions
- about how to make GUSI change your life. To subscribe, send a mail to
- <gusi-request@iis.ethz.ch>
-
- Matthias Neeracher Office: +41 1 256 51 46
- Hohenklingenstrasse 19 Home: +41 1 341 85 06
- 8049 Zuerich Email: <neeri@iis.ethz.ch>
-
- SWITZERLAND
-
- RELEASE NOTES
-
- Version 1.0.2 24Jan93
-
- - rename() used to sometimes fail if both the name and the folder had to be
- changed. I don't think the new version is 100% correct, but it should be
- better. (thanks to Brad Pickering for reporting)
- - choose() for files doesn't count the terminating NULL byte anymore. I hope
- nobody relied on the old version. (thanks again to Brad Pickering)
- - getserv...() and getprotoby...() used to return NULL for the aliases field,
- which was not correct.
- - TCP/IP sockets had a horrible bug with fast read/writes. That's what I get
- for not doing my code stealing properly.
-
- Version 1.0.1 09Jan93
-
- - If a TCP socket returned from accept() was closed, further accepts on the
- parent socket were disabled. Fixed. Thanks to Chen JiaTyan for reporting.
- - GUSI configuration resources are now respected
- - Programs linked with GUSI now by default automatically call the spin routine
- for every read/write (This can be turned off in the configuration resource).
- - Add a chdir()-respecting fsetfileinfo()
-
- Version 1.0 20Dec92
-
- - Changed the way subset libraries were built.
- - Arrange for the GUSI_F variant to be always built.
- - Add routines to access FSSpec manipulations from plain C.
- - Add correct prototypes to netdb.h.
- - Rename GUSIFSp_P.h to TFileSpec.h and make it public.
- - Let choose() treat flags consistently for all address families: If CHOOSE_NEW
- or CHOOSE_DIR are specified for a family that doesn't support them, EINVAL
- is returned.
- - FileSocketDomain::choose() now treats CHOOSE_DEFAULT correctly
- - Add getcwd()
- - stat() now considers files with type 'TEXT' as executable (this is certainly
- controversial and might be made configurable in a future version).
- - removed GUSIResident, the feature from hell. I forgot twice to specify
- a resident segment for it, and both times it took me almost a week to find
- the bug. The routines formerly in GUSIResident are now in Main.
- - fixed a few bugs.
- - Updated the documentation.
-
- Version 1.0b4 29Oct92
-
- Purged (hopefully) the last remaining traces of the obsolete structure name
- "direct" (should have been "dirent"). Thanks to Kevin Willey for pointing out
- that bug.
-
- Version 1.0b3 19Oct92
-
- Fixed a few bugs in the test programs
-
- Version 1.0b2 05Oct92
-
- The documentation is now almost complete.
-
- Version 1.0b1 28Sep92
-
- This release is somewhat premature. Although I believe the code is already in a
- decent shape, the documentation is still in a bad shape. I wouldn't trust the PPC
- Toolbox code too much yet.
-