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>