Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!bywater!arnor!arnor!uri From: uri@watson.ibm.com (Uri Blumenthal) Newsgroups: comp.unix.sysv386 Subject: Re: ESIX sockets Message-ID: <1991Apr8.195106.7291@watson.ibm.com> Date: 8 Apr 91 19:51:06 GMT References: <1991Mar28.042703.27887@colorado.edu> <12870014@hpnmdla.hp.com> <1991Apr4.025734.8373@leland.Stanford.EDU> Sender: news@watson.ibm.com (NNTP News Poster) Reply-To: uri@watson.ibm.com Distribution: usa Organization: Anonymous Society of Users Lines: 52 Nntp-Posting-Host: arnor In article <1991Apr4.025734.8373@leland.Stanford.EDU>, bir7@ypig.stanford.edu (Ross Biro) writes: |> > ESIX rev D does not have BSD sockets. The routines that you are |> >trying to use look like BSD sockets, but they are in no form or way BSD |> >sockets. |> |> I'm sick of ESIX sockets being bashed. |> |> ESIX sockets are close enough to BSD sockets to port almost |> anything without trouble. I've had more problems from signal handlers |> than from sockets. Well, the signal handlers aren't cake either, but it doesn't make sockets any more compatible, methinks... |> The only thing you need to watch out for is that |> you cannot use read or write with the sockets. Does it mean that if I want to port a package, which unfortunately uses bith file IO (read/write vs. fread/fwrite :-) and sockets - I'll have to browse manually all the source, checking every occurance of write, and if it looks like socket - changing it to send/recv? Possible, of course, but not nice at all, especially for real big packages. |> The rest is easy, just |> remember that they were built on top of the transport library. A small |> list of some of the things I've gotten to work using sockets under |> ESIX: X, finger, fingerd, inetd, telnet, ftp, libresolv.a, tinymud... If by X you mean some X-clients - then it's not a big deal (isn't worth of reporting to the Net anyway :-). But if, otherwise, you mastered Roell's X11R4 with ESIX sockets - I'm absolutely SURE a lot of people would like to hear more about it (and me among them). |> Quit whining and try a little. I did all this without the manuals, |> just some bsd man pages and a little effort. Just can't but ask: how did you guess the additional parameter ("struct t_call *tcall"), and _where to put it to_? I don't think BSD manual tells you anything about it, nor SysV books, when it comes to listen(), or accept()... Also, I always thought that compatibility was "invented" to let you to keep "a little effort" as little as possible - preferably to zero. Otherwise - it doesn't sound too hard to convert sockets-using thing to TLI too... -- Regards, Uri Blumenthal uri@watson.ibm.com, uunet!angmar!uri =====================================================