Move POSIX network headers like <sys/socket.h> etc. to Newlib?

Chris Johns chrisj at rtems.org
Thu Apr 7 09:05:56 UTC 2016


On 7/04/2016 4:45 PM, Sebastian Huber wrote:
> Hello,
>
> what about moving the POSIX network headers
>
> arpa/inet.h
> netdb.h
> net/if.h
> netinet/in.h
> netinet/tcp.h
> syslog.h
> sys/socket.h
> sys/uio.h
> sys/un.h
>
> to Newlib?

Where are these taken from?

Do they allow the in-tree stack to build? [1]

>
> This has the following benefits.
>
> 1. It ensures compatibility between the standard and libbsd network
> stack at user API level.
>

Would this have to have a broader reach than just libbsd? What about 
other parts of the networking software API a package may depend on? How 
are those parts added onto this base level?

For example I have an app which also includes ..

  #include <net/if_types.h>
  #include <net/if_dl.h>
  #include <sys/sockio.h>

Would we support all these?

Maybe looking at boosts source for asio would be worth doing.

> 2. These files may be used by lwIP to provide the standard API.

Is this something to be added to lwIP or this is there now?

> 3. It allows 3rd party code depending only on the POSIX network headers
> to build without RTEMS, e.g. GCC Ada and Go languages, libressl library
> etc. Allows build of libraries per multilib.

Does this mean networking is always shown to be present even if the user 
does not want to enable networking functionality in a 3rd party package?

If this helps us remove the in-tree stack from the source tree I am all 
for it.

Would this allow the existing NSF client to build with the new stack?

In general I think this is a good idea, however I do see some detail we 
need to sort out. Thanks for raising this.

Chris



More information about the devel mailing list