@rjd324
Quote:
@joergQuote:getaddrinfo()/freeaddrinfo() isn't supported by bsdsocket.library (RoadShow), but the AmigaOS 4.x C library (newlib) includes those functions.
Yes, newlib does provide those functions. But, as @kas1e says, they forward through to bsdsocket.library.
There are no getaddrinfo() and freeaddrinfo() functions in the interface/bsdsocket.h include, nor are those functions mentioned in the bsdsocket.doc autodoc, at least not in the public versions.
If there is a new version of newlib.library which simply forwards those functions to bsdsocket.library, instead of using own implementations as it used to be, that would require a new version of bsdsocket.library, and it's SDK, with those functions added. If such an AmigaOS 4.x version of bsdsocket.library exists at all it's probably only available to AmigaOS 4.x developers and beta-testers and was never released to end users, but in this case there must be no public newlib.library using such new bsdsocket.library functions either...
The RoadShow release notes on
http://amiga-storage.net/Network/TCP/Roadshow_1.14_demo.readme include
Roadshow 1.12 (5.10.2016)
- Added new API functions for use with name resolution in order to make it
easier to port application software. The new functions include the BSD
style gethostbyname_r() and gethostbyaddr_r(), as well as versions of
getaddrinfo(), gai_strerror(), freeaddrinfo() and getnameinfo() which
are currently restricted to IPv4 addresses.
But that are the release notes of the
AmigaOS 2.x/3.x m68k version of RoadShow (current version:
1.15 from 16.2.2024), not for the old AmigaOS 4.x PPC version.
Quote:
2 - @kas1e libsocket.a seems to be directly committed into the repository without any source code. It also seem to be a mere 8Byte file with nothing being returned for ar t.
IIRC it was one of the empty, static link libraries without any content.
Only reason for such dummy link libraries: Make old AmigaOS 3.x code and makefiles, and maybe very old AmigaOS 4.x code makefiles initially implemented for the obsolete clib2 instead of newlib as well, using -lsocket work without any changes.
It's probably the same for -lm (libm.a) as well, unlike for clib2 for example there is no optional libm.a with the math functions for newlib, they are always enabled and in libc.a instead.