home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / protocol / tcpip / ibmpc / 5062 < prev    next >
Encoding:
Text File  |  1992-09-04  |  3.9 KB  |  86 lines

  1. Newsgroups: comp.protocols.tcp-ip.ibmpc
  2. Path: sparky!uunet!utcsri!torn!watserv2.uwaterloo.ca!watserv1!sail.uwaterloo.ca!eengelke
  3. From: eengelke@sail.uwaterloo.ca (Erick Engelke)
  4. Subject: Re: TSRs ...
  5. Message-ID: <Bu2IKE.737@watserv1.uwaterloo.ca>
  6. Sender: news@watserv1.uwaterloo.ca
  7. Organization: University of Waterloo
  8. References: <Btyu2v.AG3@watserv1.uwaterloo.ca> <1992Sep3.121205.863@aspentec.com> <1873f3INNk31@seven-up.East.Sun.COM>
  9. Date: Fri, 4 Sep 1992 19:09:49 GMT
  10. Lines: 74
  11.  
  12. Sorry for beating this into the ground, I wonder how many people are
  13. still interested...  I have no intention of knocking any vendors or
  14. products, all provide similar functionality but through different means.
  15.  
  16. Included is some technical information for the people like Bob Baggerman
  17. and Edmund Sutcliff who've asked about the low level interfaces to PC-NFS.
  18.  
  19. geoff@tyger.Eng.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) writes:
  20. >Quoth tto@aspentec.com (in <1992Sep3.121205.863@aspentec.com>):
  21. >#eengelke@sail.uwaterloo.ca (Erick Engelke) writes:
  22. >#> tto@aspentec.com writes:
  23. >#
  24. >#>>Another nice thing about FTP's PC/TCP package is that it allows an easy
  25. >#>>access to the global file descriptors.  With other packages one has
  26. >#>>to do more work in order to share a descriptor among several applications.
  27. >#> 
  28. >#> Yes, most of the others require you to change your PSP back to the 
  29. >#> originator's.  That's easy enough when they provide source, but the 
  30. >#> one's that don't are a true headache because you have to reverse engineer 
  31. >#> or run through hoola hoops just to do shared access.  
  32. >
  33. >In the case of PC-NFS, the reason you have to switch to the owner's
  34. >PSP is because our socket handles are real file descriptors - you can
  35. >read and write them using DOS calls. 
  36.  
  37. Yep.  I'm almost afraid to summarize, but here goes:
  38.  
  39. Sun's PC-NFS, Beame&Whiteside, Novell LWP and a few others support a
  40. direct mapping into the file space which means you can use DOS read
  41. and write code, in fact you can use C's read() and write().  If
  42. working under a TSR, you must first set the PSP to the TSR's PSP,
  43. call DOS, and reset the PSP back to its previous state.  If the 
  44. socket was openned by another program, you will have to use ITs
  45. PSP and not the TSR's.  This is easy enough for read and write,
  46. but what about other functions...
  47.  
  48. I hate trying to go from memory, but am nowhere near my notes.
  49. Functions like select() are performed by calling DOS's fn 44H, ioctl
  50. services, subfunctions typically correspond to those of the documented
  51. DOS fn 44H.  
  52.  
  53. The trick of doing the socket(), bind(), etc. is less obvious.
  54.  
  55. Writing to the BSD library is often easier, says the man with umteen
  56. different versions for each of the network stacks he must support,
  57. but writing directly to the TCP interface makes smaller, faster TSRs
  58. and that's what people pay for.  
  59.  
  60. It's possible with other vendors' stacks, but only FTP, B&W and 
  61. a few others seem to still document the core interface.  Beame&Whiteside and 
  62. Essex offer FTP compatibility, so you can also use that documented 
  63. FTP core interface.  But for the few of us who really need small size,
  64. it remains an exercise in debugging to write a small tsr for the other 
  65. stacks and still have complete TCP functionality (not just
  66. a TELBIN or BAPI or similar subset).
  67.  
  68. I would be very happy to hear I'm wrong and that the others have released
  69. information on the lower layers, or source code to the interface layer
  70. as do B&W and FTP.
  71.  
  72. >(When you referred earlier to
  73. >FTP's "global file descriptors" you should have called them "private
  74. >non-file socket descriptors".) 
  75.  
  76. Of course you are correct.  I know how difficult it was to write your 
  77. end, and have used the various stacks  in situations which have 
  78. benefitted from the file interface.  If only the documentation were
  79. there to help promote that useful interface.
  80.  
  81. Erick
  82. -- 
  83. Erick Engelke                      Engineering Computing
  84.                          University of Waterloo
  85. Waterloo TCP Architect         erick@development.watstar.uwaterloo.ca
  86.