Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2005 12:31:33 -0700
From:      Sam Leffler <sam@errno.com>
To:        Giorgos Keramidas <keramida@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, Florent Thoumie <flz@xbsd.org>
Subject:   Re: SIMPLEQ_* macros from OpenBSD sys/queue.h
Message-ID:  <42D56C15.2070400@errno.com>
In-Reply-To: <20050712221444.GA1180@gothmog.gr>
References:  <42D3E8D9.6020105@xbsd.org> <20050712221444.GA1180@gothmog.gr>

next in thread | previous in thread | raw e-mail | index | archive | help
Giorgos Keramidas wrote:
> On 2005-07-12 17:59, Florent Thoumie <flz@xbsd.org> wrote:
> 
>>I'm currently working on OpenBGPd port update and I'm facing a little
>>problem that is actually quite painful to deal with.
>>
>>I need some macros from OpenBSD sys/queue.h which aren't present in
>>FreeBSD. I can replace #include <sys/queue.h> with #include "queue.h"
>>and copy the file in the working directory but this leads to having
>>more than 10 patches.
>>
>>Yeah I'm using REINPLACE_CMD, but sometimes sys/queue.h is a hidden
>>"dependency" (by hidden, I mean it's included by an included header
>>file, and doesn't show up directly in the source file).
>>
>>So, could somebody consider merging these SIMPLEQ_* macros or even
>>synchronize FreeBSD and OpenBSD versions ?
> 
> 
> OpenBSD tries to keep this header in sync with NetBSD, AFAICT from the
> cvs logs in their tree.
> 
> I have the queue.h headers from all three on my disk and I'm already
> looking at the differences, so if you don't mind waiting 1-2 days so
> that I can run any changes through a buildworld I'll give it a try.
> 
> If you have changes that depend on SIMPLEQ_* that could serve as a test
> case that you can share, it would be nice too :-)

trouble% grep STAILQ /sys/dev/ubsec/ubsec.c
#define SIMPLEQ_HEAD            STAILQ_HEAD
#define SIMPLEQ_ENTRY           STAILQ_ENTRY
#define SIMPLEQ_INIT            STAILQ_INIT
#define SIMPLEQ_INSERT_TAIL     STAILQ_INSERT_TAIL
#define SIMPLEQ_EMPTY           STAILQ_EMPTY
#define SIMPLEQ_FIRST           STAILQ_FIRST
#define SIMPLEQ_REMOVE_HEAD     STAILQ_REMOVE_HEAD_UNTIL
#define SIMPLEQ_FOREACH         STAILQ_FOREACH

Not sure who's to blaim for this but it'd be nice to unify the names so 
drivers don't need portability shims like this.

	Sam



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