Re: [PATCH v3 01/74] qapi: add QAPITypeInfo struct definition
Marc-André Lureau <[email protected]>
| Newsgroups | org.nongnu.qemu-devel |
|---|---|
| Message-ID | <CAMxuvaw+_7GD5x36g0zxR+zA1pVDcK1j9dT499qa=_D1=UgPMQ@mail.gmail.com> |
Hi On Fri, Aug 21, 2026 at 5:41 PM Markus Armbruster <[email protected]> wrote: > > Marc-André Lureau <[email protected]> writes: > > > Introduce a minimal struct that pairs a QAPI type's internal name with > > its "masked" introspection name. Generated constants of this type will > > let QOM property registration carry a reliable reference to the QAPI > > schema and possibly other associated data. > > > > The fields are populated in following commits. > > > > Signed-off-by: Marc-André Lureau <[email protected]> > > --- > > include/qapi/qapi-type-info.h | 32 ++++++++++++++++++++++++++++++++ > > 1 file changed, 32 insertions(+) > > > > diff --git a/include/qapi/qapi-type-info.h b/include/qapi/qapi-type-info.h > > new file mode 100644 > > index 000000000000..97eb1d7bf490 > > --- /dev/null > > +++ b/include/qapi/qapi-type-info.h > > @@ -0,0 +1,32 @@ > > +/* > > + * SPDX-License-Identifier: GPL-2.0-or-later > > + */ > > + > > +#ifndef QAPI_TYPE_INFO_H > > +#define QAPI_TYPE_INFO_H > > + > > +#include "qapi/util.h" > > + > > +/** > > + * QAPITypeInfo - QAPI type metadata > > + * > > + * @name: QAPI type name (e.g. "str", "OnOffAuto", "int32List"). > > + * QOM uses this as the property type string. > > + * @masked_name: Name of the type in the QAPI introspection schema, assigned by > > + * scripts/qapi code generator (e.g. "368"). > > Suggest 'Name of the type in output of query-qmp-schema (e.g. "368")'. > ok > > + * NULL for implicit types. > > Can this happen? I can't see any QAPITypeInfo with null @masked_name at > the end of the series. It's still optional, but it's true that at the end of the series it should be set for all generated type infos. Let's just say "or NULL if unavailable" ? > > > + * @lookup: QEnumLookup for this type, or NULL for non-enum types. > > Maybe ', null unless it's an enum type'. ok > > > + * visit_type_enum(), qapi_enum_parse(), and qapi_enum_lookup() > > + * all rely on it. > > "It" is ambiguous: is it the @lookup pointer or the struct it points to? > The latter is correct. > > Is the sentence useful? > Let's drop it thanks > > + * @list: The list-type counterpart, or NULL if none exists. > > + * str_type_info.list points to strList_type_info. qdev array > > + * properties follow this to find the list type for their element. > > + */ > > +typedef struct QAPITypeInfo { > > + const char *name; > > + const char *masked_name; > > + const QEnumLookup *lookup; > > + const struct QAPITypeInfo *list; > > +} QAPITypeInfo; > > + > > +#endif /* QAPI_TYPE_INFO_H */ >