TCP/IP stack: A second great networking opportunity
Steve Pampling (1551) 8155 posts |
There’s a magic invisibility cloak on that |
David Pitt (3386) 1248 posts |
You mean like in the !ARMalyser Docs.C32ModuleTemplate/s file? Utter rubbish. There is no dot between !Armalyser and Docs. The file is present as described. |
Steve Pampling (1551) 8155 posts |
Clearly, the humour of people not actually reading documents has falling in some cyber gap. The obvious inference from Druck is that a “Docs” directory for !Armalyser exists, with useful info, that people might want to read… maybe. |
David Pitt (3386) 1248 posts |
It is not a matter of humour, but smart alec forum noise. End of. |
Steve Revill (20) 1361 posts |
There is clearly some confusion around the phasing out of Internet 4 support. To clarify, our plan is to remove support for a library “build switch” called |
Steve Revill (20) 1361 posts |
Within RISC OS itself, the changes to remove |
Steve Revill (20) 1361 posts |
Next, we will release updated ports of the disc-based command line networking tools. In support of the disc-based tool updates, developers will also be provided an intermediate version of the network library. Aside from that, we don’t plan to introduce any more changes in this area before the next stable release of RISC OS. |
Steve Revill (20) 1361 posts |
Following the 5.30 release, the new development version, RISC OS 5.31, will introduce “zero copy” (aka faster!) transfers and the remainder of the network library updates, refreshed Configure plug-in, plus a new Internet module. While this may sound unimpressive, starting from sound foundations with a contemporary version of FreeBSD will be the basis on which Wi-Fi and IPv6 are founded. |
Rick Murray (539) 13806 posts |
To everybody who is involved with IPv6 . . . please don’t use EUI-64 (or basing any part of the address on the device’s MAC). |
André Timmermans (100) 655 posts |
I have read the technical note, I don’t use the COMPAT_INET4 switch but it made me realize that I link the wrong library. Also the doc is slightly incorrect. For sockaddr_in the new member is sin_len. |
Steve Revill (20) 1361 posts |
Thanks André. |
Paolo Fabio Zaino (28) 1853 posts |
Thanks for the details and the note Steve. |
Dave Higton (1515) 3497 posts |
I just downloaded the nightly HardDisc4 source tarball, and saw that the HTTP module’s makefile still defines COMPAT_INET4. |
Doug Webb (190) 1158 posts |
Think this is the overiding part of the statement. So we may need to wait a little longer to see the chnages flow through. |
Martin Avison (27) 1491 posts |
which says …
… but where can I find any documentation of the Internet 5 SWIs? They seem to have been around since about 1996, but how do we know what they are? I have checked PRM 5a (1992, so too old), and the ROOL Wiki (no Internet SWI information). |
Andrew Conroy (370) 725 posts |
The InetSocket StrongHelp manual has documentation for (some of) them, I don’t know where they got that from, or how definitive it is though. |
Martin Avison (27) 1491 posts |
I have the Internet SWIs manual v1.07 … but I can find no reference to Internet 5 in there. Which are the SWIs you are referring to? |
Jeffrey Lee (213) 6048 posts |
The TCPIPLibs LibraryDoc is presumably the definitive reference; there’s a SWIs section near the bottom that lists the BSD socket functions that the new SWIs map to. However it doesn’t list the details of the BSD socket functions themselves, so you’ll have to look those up in the TCPIPLibs sources or a suitable BSD manual. AFAIK the InetSocket manual only lists two of the new SWIs (Sysctl and Version), which makes it pretty useless as an Internet 5 reference. |
Martin Avison (27) 1491 posts |
Gosh – thanks Jeffrey for the LibDoc reference. But I think your reply explains why Inet5 has been so little used, as the documentation is so obscure. I will try to work my way through that 85KB of text. Is there anywhere a simple explanation of what Internet 4 and 5 are, and their major differences? Everything seems to assume that the reader knows this. |
Rick Murray (539) 13806 posts |
I hope not, as it seems some fundamental ground work is missing… |
Andrew Conroy (370) 725 posts |
Which can be found in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard”? |
Paolo Fabio Zaino (28) 1853 posts |
Well, luckily, there are still plenty of books on BSD (both 4.3 and 4.4).
There is more, and we may actually do some practical example specific for RISC OS or some tutorial. I am quite busy at the moment, but if no one has time to do it, I’ll add it to me TO DO list of posts to write for RISC OS on my blog. Hope this helps. |
André Timmermans (100) 655 posts |
It would also be interesting to have a little tutorial on own make your programs IP V4/V6 agnostic, assuming that’s possible. |
James Byrne (3371) 29 posts |
The LibraryDoc that Jeffrey pointed to summarises this fairly neatly as follows:
It’s a distinction that only matters if you are writing programs using socket functions, and if you’re writing them in C you don’t need to worry too much about the underlying SWIs. The Technical Note explains which header files are affected, and also that the older SWIs will be emulated for backwards compatibility, which is why people shouldn’t notice a difference when running existing software. |
Martin Avison (27) 1491 posts |
@James: Thanks for the clarification that Internet 4 is BSD 4.3, and Internet 5 is BSD 4.4. I had not latched on to that significance. Confusingly, I could not find ‘Internet 4’ in PRM5a, but I assume that Internet 4 & 5 are referring to the major version numbers of the Internet module. Is it just the SWIs Socket_Accept, Recvfrom, Recvmsg, Sendmsg, Getpeername and Getsockname that are the ‘old Internet 4’ SWIs? Are the only ‘new Internet 5’ SWIs the same six names with a suffix of ‘_1’ ? I have not been able to find any reference to these in any RISC OS documentation, even though they have apparently been available since RO3.7 in 1996. Thanks for the the various clarifications: my fog is slowly lifting. |