Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Nov 2002 17:23:34 -0600
From:      Kyle Martin <mkm@ieee.org>
To:        Kirk McKusick <mckusick@beastie.mckusick.com>
Cc:        arch@freebsd.org
Subject:   Re: Shared-memory version of <sys/queue.h> macros
Message-ID:  <20021112232334.GA20358@marvin.bsdng.org>
In-Reply-To: <200211122310.gACNA159039354@beastie.mckusick.com>
References:  <20021112172152.GC15329@marvin.bsdng.org> <200211122310.gACNA159039354@beastie.mckusick.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 12, 2002 at 03:10:01PM -0800, Kirk McKusick wrote:
> 
> 	On Mon, Nov 11, 2002 at 02:32:04PM -0800, Kirk McKusick wrote:
> 	> Historically /usr/include/sys was used to include files that
> 	> provided headers that included interfaces between the kernel
> 	> and userland. For example, <sys/stat.h> describes that
> 	> stat structure which is filled in by the kernel and used
> 	> by userland applications. Since the queue macros do not
> 	> describe any kernel/userland shared structures, they belong
> 	> in /usr/include. They are much more like <stdio.h> which
> 	> describes purely userland structures like FILE *. However,
> 	> we canot move <sys/queue.h> from the /sys/sys directory as
> 	> it is needed by the kernel (indeed was originally developed
> 	> for the kernel) as there is another rule which says that
> 	> the kernel headers need to be self contained (that is the
> 	> kernel cannot depend on anything in /usr/include). So, there
> 	> is the dilemma of duplicating the queue macros used in the
> 	> kernel in a /usr/include file, or trying to avoid divergence
> 	> by pulling in the kernel macros from /usr/include/sys. As
> 	> for what userland applications should do, once <queue.h>
> 	> exists, they should always use that file.
> 	> 
> 
> 	perhaps "#include<sys/queue.h>" could appear in
> 	/usr/include/queue.h with some typical #ifdef
> 	glue in <sys/queue.h>
> 
> 
> I am not sure what you mean by the above. The <sys/queue.h>
> file is already protected with #ifndef _SYS_QUEUE_H_ against
> multiple inclusion. Did you have something else in mind?
> 	

The #ifdef I was referring to was _KERNEL, which is already there :)

-- 
Kyle Martin
mkm@ieee.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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