From owner-cvs-all@FreeBSD.ORG Tue May 6 06:58:01 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 265B2106566B; Tue, 6 May 2008 06:58:01 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id C139D8FC1E; Tue, 6 May 2008 06:58:00 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.61.3]) by phk.freebsd.dk (Postfix) with ESMTP id 48D59170E3; Tue, 6 May 2008 06:57:59 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.14.2/8.14.2) with ESMTP id m466vw5n014182; Tue, 6 May 2008 06:57:58 GMT (envelope-from phk@critter.freebsd.dk) To: David Schultz From: "Poul-Henning Kamp" In-Reply-To: Your message of "Tue, 06 May 2008 01:35:04 -0400." <20080506053504.GA66588@zim.MIT.EDU> Date: Tue, 06 May 2008 06:57:58 +0000 Message-ID: <14181.1210057078@critter.freebsd.dk> Sender: phk@critter.freebsd.dk Cc: src-committers@FreeBSD.ORG, John Baldwin , Alfred Perlstein , cvs-all@FreeBSD.ORG, cvs-src@FreeBSD.ORG Subject: Re: cvs commit: src/include stdio.h src/lib/libc/stdio clrerr.c feof.c ferror.c fileno.c getc.c getchar.c local.h putc.c putchar.c xprintf.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 May 2008 06:58:01 -0000 In message <20080506053504.GA66588@zim.MIT.EDU>, David Schultz writes: >I believe FILE is required to be a complete type, but it need not >expose any usable fields to applications. For instance, Well, we may have to dig in the history a bit. BSD has a different stdio implementation than AT&T used, in CFRONT it was known as "BSD stdio". If you look at how some of the printf* family functions are implemented in libc, you will find liberal use of creating FILE's that point to memory buffers etc. The question in my mind is, if this extension ability, and its consequent dependence on the internals of FILE, have been flaunted at USENIX ATC at some point, and thus must be considered a published API. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.