home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / perl / mac-perl / gusi.inf < prev    next >
Encoding:
Text File  |  1993-07-25  |  4.6 KB  |  124 lines

  1.                  G U S I -- Grand Unified Socket Interface
  2.  
  3. INTRODUCTION
  4.  
  5. GUSI is an extension and partial replacement of the MPW C runtime
  6. library.  Its main objective is to provide a more or less simple and
  7. consistent interface across the following communication domains:
  8.  
  9. Files          Ordinary Macintosh files and MPW pseudo devices.
  10. Unix           Memory based communication within a single machine
  11. Appletalk      ADSP communication over a network.
  12. PPC            Local and remote connections with the System 7 PPC Toolbox
  13. Internet       TCP and UDP connections over MacTCP.
  14.  
  15. Additionally, GUSI adds some UNIX library calls dealing with files which
  16. were missing, like chdir(), getcwd(), symlink(), and readlink(), and changes
  17. a few other library calls to behave more like their UNIX counterparts.
  18.  
  19. REQUIREMENTS
  20.  
  21. To use GUSI, you need MPW C 3.2 or later. To modify it, you additionally need
  22. MPW C++ 3.2 or later and Perl.
  23.  
  24. COPYING
  25.  
  26. Copyright ⌐ 1992, 1993 Matthias Neeracher
  27.  
  28. Permission is granted to anyone to use this software for any purpose on any
  29. computer system, and to redistribute it freely, subject to the following
  30. restrictions:
  31.  
  32. - The author is not responsible for the consequences of use of this software,
  33.   no matter how awful, even if they arise from defects in it.
  34. - The origin of this software must not be misrepresented, either by explicit
  35.   claim or by omission.
  36. - Altered versions must be plainly marked as such, and must not be
  37.   misrepresented as being the original software.
  38.  
  39. WHERE TO BEGIN
  40.  
  41. You should probably start with printing out the documentation in GUSI.ps. Maybe
  42. it helps also to play with the sample programs.
  43.  
  44. BUGS, QUESTIONS, SUGGESTIONS
  45.  
  46. Please report any problems you experience with the code or the documentation to
  47. me. I'd also be interested in hearing about your success stories, if you have
  48. any.
  49.  
  50. MAILING LIST
  51.  
  52. There is now a mailing list for announcing new releases and discussions
  53. about how to make GUSI change your life. To subscribe, send a mail to
  54. <gusi-request@iis.ethz.ch>
  55.  
  56. Matthias Neeracher                Office:    +41 1 256 51 46
  57. Hohenklingenstrasse 19                Home:     +41 1 341 85 06
  58. 8049 Zuerich                    Email:    <neeri@iis.ethz.ch>
  59.  
  60. SWITZERLAND
  61.  
  62. RELEASE NOTES
  63.  
  64. Version 1.0.2    24Jan93
  65.  
  66. - rename() used to sometimes fail if both the name and the folder had to be
  67.   changed. I don't think the new version is 100% correct, but it should be
  68.   better. (thanks to Brad Pickering for reporting)
  69. - choose() for files doesn't count the terminating NULL byte anymore. I hope 
  70.   nobody relied on the old version. (thanks again to Brad Pickering)
  71. - getserv...() and getprotoby...() used to return NULL for the aliases field,
  72.   which was not correct.
  73. - TCP/IP sockets had a horrible bug with fast read/writes. That's what I get
  74.   for not doing my code stealing properly.
  75.  
  76. Version 1.0.1    09Jan93
  77.  
  78. - If a TCP socket returned from accept() was closed, further accepts on the
  79.   parent socket were disabled. Fixed. Thanks to Chen JiaTyan for reporting.
  80. - GUSI configuration resources are now respected
  81. - Programs linked with GUSI now by default automatically call the spin routine
  82.   for every read/write (This can be turned off in the configuration resource).
  83. - Add a chdir()-respecting fsetfileinfo()
  84.  
  85. Version 1.0        20Dec92
  86.  
  87. - Changed the way subset libraries were built.
  88. - Arrange for the GUSI_F variant to be always built.
  89. - Add routines to access FSSpec manipulations from plain C.
  90. - Add correct prototypes to netdb.h.
  91. - Rename GUSIFSp_P.h to TFileSpec.h and make it public.
  92. - Let choose() treat flags consistently for all address families: If CHOOSE_NEW
  93.   or CHOOSE_DIR are specified for a family that doesn't support them, EINVAL
  94.   is returned.
  95. - FileSocketDomain::choose() now treats CHOOSE_DEFAULT correctly
  96. - Add getcwd()
  97. - stat() now considers files with type 'TEXT' as executable (this is certainly
  98.   controversial and might be made configurable in a future version).
  99. - removed GUSIResident, the feature from hell. I forgot twice to specify
  100.   a resident segment for it, and both times it took me almost a week to find
  101.   the bug. The routines formerly in GUSIResident are now in Main.
  102. - fixed a few bugs.
  103. - Updated the documentation.
  104.  
  105. Version 1.0b4    29Oct92
  106.  
  107. Purged (hopefully) the last remaining traces of the obsolete structure name
  108. "direct" (should have been "dirent"). Thanks to Kevin Willey for pointing out
  109. that bug.
  110.  
  111. Version 1.0b3    19Oct92
  112.  
  113. Fixed a few bugs in the test programs
  114.  
  115. Version 1.0b2    05Oct92
  116.  
  117. The documentation is now almost complete.
  118.  
  119. Version 1.0b1    28Sep92
  120.  
  121. This release is somewhat premature. Although I believe the code is already in a
  122. decent shape, the documentation is still in a bad shape. I wouldn't trust the PPC
  123. Toolbox code too much yet.
  124.