SIMPLEQ_* macros from OpenBSD sys/queue.h
flz at xbsd.org
Wed Jul 13 19:43:09 GMT 2005
Le Mercredi 13 juillet 2005 à 12:31 -0700, Sam Leffler a écrit :
> 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.
Not sure if we (or OpenBSD/NetBSD) will change STAILQ for
SIMPLEQ (or the opposite), but having STAILQ_REMOVE_HEAD instead
of STAILQ_REMOVE_HEAD_UNTIL would be nice so that there are no
special case (actually, I just sed 's/SIMPLEQ/STAILQ' since it
doesn't seem to use SIMPLEQ_REMOVE_HEAD).
flz at xbsd.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20050713/f17303ad/attachment.bin
More information about the freebsd-hackers