Files
Yaya48 cf256aa081 Import QEMU upstream snapshot d2e570c
Upstream: https://gitlab.com/qemu-project/qemu.git

Upstream-Commit: d2e570cc0f97b936902a5b1b86b73c0f5998b475
2026-08-31 02:15:30 +02:00

56 lines
1.3 KiB
C

/*
* Copyright IBM, Corp. 2009
* Copyright (c) 2013, 2015, 2017 Red Hat Inc.
*
* Authors:
* Anthony Liguori <[email protected]>
* Markus Armbruster <[email protected]>
* Marc-André Lureau <[email protected]>
*
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
* See the COPYING.LIB file in the top-level directory.
*
*/
#ifndef QLIT_H
#define QLIT_H
#include "qobject.h"
typedef struct QLitDictEntry QLitDictEntry;
typedef struct QLitObject QLitObject;
struct QLitObject {
QType type;
union {
bool qbool;
int64_t qnum;
const char *qstr;
QLitDictEntry *qdict;
QLitObject *qlist;
} value;
};
struct QLitDictEntry {
const char *key;
QLitObject value;
};
#define QLIT_QNULL \
{ .type = QTYPE_QNULL }
#define QLIT_QBOOL(val) \
{ .type = QTYPE_QBOOL, .value.qbool = (val) }
#define QLIT_QNUM(val) \
{ .type = QTYPE_QNUM, .value.qnum = (val) }
#define QLIT_QSTR(val) \
{ .type = QTYPE_QSTRING, .value.qstr = (val) }
#define QLIT_QDICT(val) \
{ .type = QTYPE_QDICT, .value.qdict = (val) }
#define QLIT_QLIST(val) \
{ .type = QTYPE_QLIST, .value.qlist = (val) }
bool qlit_equal_qobject(const QLitObject *lhs, const QObject *rhs);
QObject *qobject_from_qlit(const QLitObject *qlit);
#endif /* QLIT_H */