SIMPLEQ_* macros from OpenBSD sys/queue.h
sam at errno.com
Wed Jul 13 19:26:36 GMT 2005
Giorgos Keramidas wrote:
> On 2005-07-12 17:59, Florent Thoumie <flz at 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.
More information about the freebsd-hackers