X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=include%2Fqapi%2Fqmp%2Fqlist.h;h=5c673acb060ac730079853e1d2d195db157dd8ec;hb=036793aebfc1dd0ce124fa278d7668d89b5da936;hp=382f04c3c4a50d55055fe0dd16a09e0ace3a6a48;hpb=a97ff30e934c4d673122cf709e8e87f0effbe2f7;p=mirror_qemu.git diff --git a/include/qapi/qmp/qlist.h b/include/qapi/qmp/qlist.h index 382f04c3c4..5c673acb06 100644 --- a/include/qapi/qmp/qlist.h +++ b/include/qapi/qmp/qlist.h @@ -15,21 +15,25 @@ #include "qapi/qmp/qobject.h" #include "qemu/queue.h" -#include "qemu/queue.h" typedef struct QListEntry { QObject *value; QTAILQ_ENTRY(QListEntry) next; } QListEntry; -typedef struct QList { - QObject_HEAD; +struct QList { + QObject base; QTAILQ_HEAD(,QListEntry) head; -} QList; +}; #define qlist_append(qlist, obj) \ qlist_append_obj(qlist, QOBJECT(obj)) +void qlist_append_bool(QList *qlist, bool value); +void qlist_append_int(QList *qlist, int64_t value); +void qlist_append_null(QList *qlist); +void qlist_append_str(QList *qlist, const char *value); + #define QLIST_FOREACH_ENTRY(qlist, var) \ for ((var) = ((qlist)->head.tqh_first); \ (var); \ @@ -49,7 +53,8 @@ QObject *qlist_pop(QList *qlist); QObject *qlist_peek(QList *qlist); int qlist_empty(const QList *qlist); size_t qlist_size(const QList *qlist); -QList *qobject_to_qlist(const QObject *obj); +bool qlist_is_equal(const QObject *x, const QObject *y); +void qlist_destroy_obj(QObject *obj); static inline const QListEntry *qlist_first(const QList *qlist) {