xemu/include/qapi/compat-policy.h
Markus Armbruster 7ce5fc63c7 qapi: Factor out compat_policy_input_ok()
The code to check policy for handling deprecated input is triplicated.
Factor it out into compat_policy_input_ok() before I mess with it in
the next commit.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211028102520.747396-9-armbru@redhat.com>
[Policy code moved from qmp-dispatch.c to qapi-util.c to make visitors
link without qmp-dispatch.o]
2021-10-29 21:27:20 +02:00

46 lines
1.2 KiB
C

/*
* Policy for handling "funny" management interfaces
*
* Copyright (C) 2020 Red Hat, Inc.
*
* Authors:
* Markus Armbruster <armbru@redhat.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or
* later. See the COPYING file in the top-level directory.
*/
#ifndef QAPI_COMPAT_POLICY_H
#define QAPI_COMPAT_POLICY_H
#include "qapi/error.h"
#include "qapi/qapi-types-compat.h"
extern CompatPolicy compat_policy;
bool compat_policy_input_ok(unsigned special_features,
const CompatPolicy *policy,
ErrorClass error_class,
const char *kind, const char *name,
Error **errp);
/*
* Create a QObject input visitor for @obj for use with QMP
*
* This is like qobject_input_visitor_new(), except it obeys the
* policy for handling deprecated management interfaces set with
* -compat.
*/
Visitor *qobject_input_visitor_new_qmp(QObject *obj);
/*
* Create a QObject output visitor for @obj for use with QMP
*
* This is like qobject_output_visitor_new(), except it obeys the
* policy for handling deprecated management interfaces set with
* -compat.
*/
Visitor *qobject_output_visitor_new_qmp(QObject **result);
#endif