On Fri, 3 Jun 2011 17:33:00 -0500 Michael Roth <mdr...@linux.vnet.ibm.com> wrote:
> > Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> > --- > qlist.h | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/qlist.h b/qlist.h > index dbe7b92..cd2d23e 100644 > --- a/qlist.h > +++ b/qlist.h > @@ -16,6 +16,7 @@ > #include "qobject.h" > #include "qemu-queue.h" > #include "qemu-common.h" > +#include "qemu-queue.h" > > typedef struct QListEntry { > QObject *value; > @@ -50,4 +51,14 @@ QObject *qlist_peek(QList *qlist); > int qlist_empty(const QList *qlist); > QList *qobject_to_qlist(const QObject *obj); > > +static inline QListEntry *qlist_first(QList *qlist) > +{ > + return QTAILQ_FIRST(&qlist->head); > +} > + > +static inline QListEntry *qlist_next(QListEntry *entry) > +{ > + return QTAILQ_NEXT(entry, next); > +} I'm not sure how the return value (QListEntry) is being used, but the same interface for qdict returns a const value and users use get functions to get visible members. The rationale is that QListEntry and QDictEntry shouldn't be visible to users. And the input parameter can be const too and would be nice to have unit-tests... > + > #endif /* QLIST_H */