From owner-cvs-all Sat Dec 28 20:18:42 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 007AC37B401; Sat, 28 Dec 2002 20:18:41 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7355943EB2; Sat, 28 Dec 2002 20:18:39 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from katana.zip.com.au (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id PAA30423; Sun, 29 Dec 2002 15:16:53 +1100 Date: Sun, 29 Dec 2002 15:18:45 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Mark Valentine Cc: Poul-Henning Kamp , , Subject: Re: cvs commit: src/sys/sys _iovec.h socket.h uio.h In-Reply-To: <200212290007.gBT07YVO012379@dotar.thuvia.org> Message-ID: <20021229145941.G39748-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, 29 Dec 2002, Mark Valentine wrote: > > From: phk@freebsd.org (Poul-Henning Kamp) > > Sensible people could just put iovec into sys/_types.h but there > > is probably some standard or other which will be violated if we > > did something that horrible. > > Actually, the IEEE Std 1003.1-2001 spec. for states: > > "Inclusion of may also make visible all symbols > from ." > > So, it seems it would be sufficient to have a single definition of > struct iovec in . Only low quality implementations would use this mistake. POSIX is now full of mistakes like this, so almost every header _may_ include every other header. It's not quite that bad, but only people who know every "may" in the standard could tell the difference. This is simpler for implementations but more difficult for applications -- applications have to be concerned about namespace pollution in every standard header but can't depend on it. > It would seem to also work having it in , since both > interfaces from and some from use ssize_t > and/or size_t, but this should be considered accidental. It would work as well as declaring FILE in and including that in (not). Another mistake in POSIX is that FILE must be declared in more places than . The other place is . Fortunately, this mistake is only required if the XSI extensions mistake is fully implemented. We don't implement this. However, we implement a nearby XSI mistake for va_list. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message