I thank you, you got what I wanted to know.

I also thank Peter Hansteen, Stuart Henderson, Ted Unangst and
Alex Bochmann for their polite and serious answers. Also Theo for his
polite recomendation for my happyness: I will think about it.

On Fri, 12 Aug 2016, Philip Guenther wrote:

Yes, the previous situation with <machine/endian.h> and <sys/endian.h>
was confusing (code was including the wrong header and not getting the

Well, it was necessary to substitute <machine/endian.h> with
<sys/types.h>, and to include types.h before including socket.h
or uio.h. What is necessary and the changes can be recognised by comparing
the man pages of byteorder, socket and readv in the many versions
of OpenBSD, as well of 4.4BSD and of FreeBSD. It seems there is till
now no standard, LibreSSL will not compile in FreeBSD 10.3 out of the
box (according to the man pages).

It seems that you see the progress in that there is now a de jure
POSIX standard that OpenBSD will follow acribically, instead of
a de facto BSD standard (if there is such).

And if the whole is a technical progress, is a more complicated
thing. I preffer to take a constant from sys/params.h at
compile time than getting it with a call of sysconf() at run time.
The older standards arose perhaps from considerations that
today are forgotten or play no role anymore. Later one will have different
prefferences and new standards. As Ted said: standards change.
And we will always be "porting" software.

In any case, this was not a problem (a problem is for example the
Flag AI_ADDRCONFIG for getaddrinfo() in tls/tls_client.c or a lot of
warnings in compiling in tls directory).

Rodrigo.

Reply via email to