]> git.proxmox.com Git - mirror_qemu.git/blob - include/qapi/compat-policy.h
Merge remote-tracking branch 'remotes/quic/tags/pull-hex-20211103' into staging
[mirror_qemu.git] / include / qapi / compat-policy.h
1 /*
2 * Policy for handling "funny" management interfaces
3 *
4 * Copyright (C) 2020 Red Hat, Inc.
5 *
6 * Authors:
7 * Markus Armbruster <armbru@redhat.com>
8 *
9 * This work is licensed under the terms of the GNU GPL, version 2 or
10 * later. See the COPYING file in the top-level directory.
11 */
12
13 #ifndef QAPI_COMPAT_POLICY_H
14 #define QAPI_COMPAT_POLICY_H
15
16 #include "qapi/error.h"
17 #include "qapi/qapi-types-compat.h"
18
19 extern CompatPolicy compat_policy;
20
21 bool compat_policy_input_ok(unsigned special_features,
22 const CompatPolicy *policy,
23 ErrorClass error_class,
24 const char *kind, const char *name,
25 Error **errp);
26
27 /*
28 * Create a QObject input visitor for @obj for use with QMP
29 *
30 * This is like qobject_input_visitor_new(), except it obeys the
31 * policy for handling deprecated management interfaces set with
32 * -compat.
33 */
34 Visitor *qobject_input_visitor_new_qmp(QObject *obj);
35
36 /*
37 * Create a QObject output visitor for @obj for use with QMP
38 *
39 * This is like qobject_output_visitor_new(), except it obeys the
40 * policy for handling deprecated management interfaces set with
41 * -compat.
42 */
43 Visitor *qobject_output_visitor_new_qmp(QObject **result);
44
45 #endif