diff options
| author | Daniel P. Berrangé <berrange@redhat.com> | 2024-11-18 16:12:34 +0100 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2025-02-10 15:33:16 +0100 |
| commit | 407bc4bf9027f7ac4333e47cd900d773b99a23e3 (patch) | |
| tree | 6f617801cce2d4715d586e15a2523488bdd68711 /include/qapi/qmp/qnum.h | |
| parent | 04d3d0e9f54d4c42759f3810aa135ce314d98dc4 (diff) | |
| download | focaccia-qemu-407bc4bf9027f7ac4333e47cd900d773b99a23e3.tar.gz focaccia-qemu-407bc4bf9027f7ac4333e47cd900d773b99a23e3.zip | |
qapi: Move include/qapi/qmp/ to include/qobject/
The general expectation is that header files should follow the same file/path naming scheme as the corresponding source file. There are various historical exceptions to this practice in QEMU, with one of the most notable being the include/qapi/qmp/ directory. Most of the headers there correspond to source files in qobject/. This patch corrects most of that inconsistency by creating include/qobject/ and moving the headers for qobject/ there. This also fixes MAINTAINERS for include/qapi/qmp/dispatch.h: scripts/get_maintainer.pl now reports "QAPI" instead of "No maintainers found". Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Acked-by: Halil Pasic <pasic@linux.ibm.com> #s390x Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20241118151235.2665921-2-armbru@redhat.com> [Rebased]
Diffstat (limited to 'include/qapi/qmp/qnum.h')
| -rw-r--r-- | include/qapi/qmp/qnum.h | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h deleted file mode 100644 index e86788dd2e..0000000000 --- a/include/qapi/qmp/qnum.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * QNum Module - * - * Copyright (C) 2009 Red Hat Inc. - * - * Authors: - * Luiz Capitulino <lcapitulino@redhat.com> - * Anthony Liguori <aliguori@us.ibm.com> - * Marc-André Lureau <marcandre.lureau@redhat.com> - * - * 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 QNUM_H -#define QNUM_H - -#include "qapi/qmp/qobject.h" - -typedef enum { - QNUM_I64, - QNUM_U64, - QNUM_DOUBLE -} QNumKind; - -/* - * QNum encapsulates how our dialect of JSON fills in the blanks left - * by the JSON specification (RFC 8259) regarding numbers. - * - * Conceptually, we treat number as an abstract type with three - * concrete subtypes: floating-point, signed integer, unsigned - * integer. QNum implements this as a discriminated union of double, - * int64_t, uint64_t. - * - * The JSON parser picks the subtype as follows. If the number has a - * decimal point or an exponent, it is floating-point. Else if it - * fits into int64_t, it's signed integer. Else if it fits into - * uint64_t, it's unsigned integer. Else it's floating-point. - * - * Any number can serve as double: qnum_get_double() converts under - * the hood. - * - * An integer can serve as signed / unsigned integer as long as it is - * in range: qnum_get_try_int() / qnum_get_try_uint() check range and - * convert under the hood. - */ -struct QNum { - struct QObjectBase_ base; - QNumKind kind; - union { - int64_t i64; - uint64_t u64; - double dbl; - } u; -}; - -void qnum_unref(QNum *q); - -G_DEFINE_AUTOPTR_CLEANUP_FUNC(QNum, qnum_unref) - -QNum *qnum_from_int(int64_t value); -QNum *qnum_from_uint(uint64_t value); -QNum *qnum_from_double(double value); - -bool qnum_get_try_int(const QNum *qn, int64_t *val); -int64_t qnum_get_int(const QNum *qn); - -bool qnum_get_try_uint(const QNum *qn, uint64_t *val); -uint64_t qnum_get_uint(const QNum *qn); - -double qnum_get_double(QNum *qn); - -char *qnum_to_string(QNum *qn); - -#endif /* QNUM_H */ |