Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 May 2005 14:03:34 -0600 (MDT)
From:      Warner Losh <imp@bsdimp.com>
To:        des@des.no
Cc:        nectar@freebsd.org, standards@freebsd.org, freebsd-arch@freebsd.org, ume@freebsd.org, current@freebsd.org
Subject:   Re: [CFR] correct type of addrinfo.ai_addrlen and netent.n_net
Message-ID:  <20050531.140334.74683681.imp@bsdimp.com>
In-Reply-To: <86fyw3b4c2.fsf@xps.des.no>
References:  <86k6lfbafu.fsf@xps.des.no> <20050531.115338.74685129.imp@bsdimp.com> <86fyw3b4c2.fsf@xps.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
> Warner Losh <imp@bsdimp.com> writes:
> > Dag-Erling Sm=F8rgrav <des@des.no> writes:
> > > What do we gain from removing the padding?  Is there even a singl=
e
> > > practical benefit to doing so?
> > It is for posix compatibility.
> =

> Nonsense.  POSIX does not forbid padding or additional structure
> members.  The exact wording is:
> =

> > The <netdb.h> header shall define the addrinfo structure that inclu=
des
> > at least the following members:
>   --------
> >
> > int               ai_flags      Input flags.
> > int               ai_family     Address family of socket.
> > int               ai_socktype   Socket type.
> > int               ai_protocol   Protocol of socket.
> > socklen_t         ai_addrlen    Length of socket address.
> > struct sockaddr  *ai_addr       Socket address of socket.
> > char             *ai_canonname  Canonical name of service location.=

> > struct addrinfo  *ai_next       Pointer to next in list.

Did you bother reading what I posted?  I don't think so since you'd
have known that ai_addrlen was changed to be socklen_t for posix
compliance, and the padding was added for ABI compatibility.  The
removal of padding is the normal sort of thing that's done during
major revisions.  It was there, indirectly, for POSIX compliance.

Maybe the padding removal is too painful given all the extra 'oh, by
the ways' that we're stumbling over.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050531.140334.74683681.imp>