qmp-marshal.c revision 910aea96b67d7f0357f586c47f20848ec435aa1b
1910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ 2910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner/* 4910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * schema-defined QMP->QAPI command dispatch 5910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * 6910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * Copyright IBM, Corp. 2011 7910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * 8910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * Authors: 9910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * Anthony Liguori <aliguori@us.ibm.com> 10910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * 11910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. 12910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * See the COPYING.LIB file in the top-level directory. 13910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner * 14910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner */ 15910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 16910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qemu-common.h" 17910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qemu/module.h" 18910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/qmp/qerror.h" 19910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/qmp/types.h" 20910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/qmp/dispatch.h" 21910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/visitor.h" 22910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/qmp-output-visitor.h" 23910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/qmp-input-visitor.h" 24910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi/dealloc-visitor.h" 25910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi-types.h" 26910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qapi-visit.h" 27910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 28910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner#include "qmp-commands.h" 29910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 30910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_add_client(Monitor *mon, const QDict *qdict, QObject **ret) 31910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 32910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 33910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 34910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 35910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 36910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 37910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 38910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * protocol = NULL; 39910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * fdname = NULL; 40910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_skipauth = false; 41910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool skipauth; 42910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_tls = false; 43910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool tls; 44910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 45910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 46910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 47910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", errp); 48910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", errp); 49910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_skipauth, "skipauth", errp); 50910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_skipauth) { 51910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &skipauth, "skipauth", errp); 52910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 53910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 54910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_tls, "tls", errp); 55910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_tls) { 56910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &tls, "tls", errp); 57910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 58910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 59910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 60910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 61910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 62910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 63910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 64910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_add_client(protocol, fdname, has_skipauth, skipauth, has_tls, tls, errp); 65910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 66910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 67910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 68910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 69910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", NULL); 70910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", NULL); 71910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_skipauth, "skipauth", NULL); 72910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_skipauth) { 73910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &skipauth, "skipauth", NULL); 74910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 75910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 76910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_tls, "tls", NULL); 77910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_tls) { 78910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &tls, "tls", NULL); 79910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 80910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 81910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 82910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 83910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 84910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 85910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 86910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 87910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 88910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 89910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 90910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 91910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_name(NameInfo * ret_in, QObject **ret_out, Error **errp) 92910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 93910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 94910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 95910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 96910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 97910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 98910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NameInfo(v, &ret_in, "unused", errp); 99910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NameInfo(v, &ret_in, "unused", NULL); 105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_name(Monitor *mon, const QDict *qdict, QObject **ret) 109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner NameInfo * retval = NULL; 114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_name(errp); 119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_name(retval, ret, errp); 121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_version(VersionInfo * ret_in, QObject **ret_out, Error **errp) 135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_VersionInfo(v, &ret_in, "unused", errp); 142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_VersionInfo(v, &ret_in, "unused", NULL); 148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_version(Monitor *mon, const QDict *qdict, QObject **ret) 152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner VersionInfo * retval = NULL; 157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_version(errp); 162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_version(retval, ret, errp); 164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_kvm(KvmInfo * ret_in, QObject **ret_out, Error **errp) 178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_KvmInfo(v, &ret_in, "unused", errp); 185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_KvmInfo(v, &ret_in, "unused", NULL); 191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_kvm(Monitor *mon, const QDict *qdict, QObject **ret) 195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner KvmInfo * retval = NULL; 200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_kvm(errp); 205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_kvm(retval, ret, errp); 207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_status(StatusInfo * ret_in, QObject **ret_out, Error **errp) 221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_StatusInfo(v, &ret_in, "unused", errp); 228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_StatusInfo(v, &ret_in, "unused", NULL); 234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_status(Monitor *mon, const QDict *qdict, QObject **ret) 238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner StatusInfo * retval = NULL; 243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_status(errp); 248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_status(retval, ret, errp); 250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_uuid(UuidInfo * ret_in, QObject **ret_out, Error **errp) 264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_UuidInfo(v, &ret_in, "unused", errp); 271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_UuidInfo(v, &ret_in, "unused", NULL); 277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_uuid(Monitor *mon, const QDict *qdict, QObject **ret) 281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner UuidInfo * retval = NULL; 286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_uuid(errp); 291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_uuid(retval, ret, errp); 293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_chardev(ChardevInfoList * ret_in, QObject **ret_out, Error **errp) 307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevInfoList(v, &ret_in, "unused", errp); 314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevInfoList(v, &ret_in, "unused", NULL); 320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_chardev(Monitor *mon, const QDict *qdict, QObject **ret) 324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner ChardevInfoList * retval = NULL; 329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_chardev(errp); 334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_chardev(retval, ret, errp); 336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_ringbuf_write(Monitor *mon, const QDict *qdict, QObject **ret) 350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * data = NULL; 359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_format = false; 360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner DataFormat format; 361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &data, "data", errp); 366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", errp); 367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DataFormat(v, &format, "format", errp); 369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_ringbuf_write(device, data, has_format, format, errp); 377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &data, "data", NULL); 383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", NULL); 384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DataFormat(v, &format, "format", NULL); 386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_ringbuf_read(char * ret_in, QObject **ret_out, Error **errp) 399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &ret_in, "unused", errp); 406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &ret_in, "unused", NULL); 412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_ringbuf_read(Monitor *mon, const QDict *qdict, QObject **ret) 416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * retval = NULL; 421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t size; 426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_format = false; 427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner DataFormat format; 428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", errp); 433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", errp); 434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DataFormat(v, &format, "format", errp); 436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_ringbuf_read(device, size, has_format, format, errp); 444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_ringbuf_read(retval, ret, errp); 446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", NULL); 453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", NULL); 454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DataFormat(v, &format, "format", NULL); 456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_commands(CommandInfoList * ret_in, QObject **ret_out, Error **errp) 469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CommandInfoList(v, &ret_in, "unused", errp); 476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CommandInfoList(v, &ret_in, "unused", NULL); 482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_commands(Monitor *mon, const QDict *qdict, QObject **ret) 486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner CommandInfoList * retval = NULL; 491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_commands(errp); 496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_commands(retval, ret, errp); 498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_events(EventInfoList * ret_in, QObject **ret_out, Error **errp) 512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_EventInfoList(v, &ret_in, "unused", errp); 519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_EventInfoList(v, &ret_in, "unused", NULL); 525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_events(Monitor *mon, const QDict *qdict, QObject **ret) 529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner EventInfoList * retval = NULL; 534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_events(errp); 539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_events(retval, ret, errp); 541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_migrate(MigrationInfo * ret_in, QObject **ret_out, Error **errp) 555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationInfo(v, &ret_in, "unused", errp); 562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationInfo(v, &ret_in, "unused", NULL); 568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_migrate(Monitor *mon, const QDict *qdict, QObject **ret) 572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MigrationInfo * retval = NULL; 577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_migrate(errp); 582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_migrate(retval, ret, errp); 584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate_set_capabilities(Monitor *mon, const QDict *qdict, QObject **ret) 598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MigrationCapabilityStatusList * capabilities = NULL; 606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationCapabilityStatusList(v, &capabilities, "capabilities", errp); 610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate_set_capabilities(capabilities, errp); 616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationCapabilityStatusList(v, &capabilities, "capabilities", NULL); 621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_migrate_capabilities(MigrationCapabilityStatusList * ret_in, QObject **ret_out, Error **errp) 632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationCapabilityStatusList(v, &ret_in, "unused", errp); 639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MigrationCapabilityStatusList(v, &ret_in, "unused", NULL); 645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_migrate_capabilities(Monitor *mon, const QDict *qdict, QObject **ret) 649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MigrationCapabilityStatusList * retval = NULL; 654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_migrate_capabilities(errp); 659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_migrate_capabilities(retval, ret, errp); 661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_mice(MouseInfoList * ret_in, QObject **ret_out, Error **errp) 675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MouseInfoList(v, &ret_in, "unused", errp); 682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MouseInfoList(v, &ret_in, "unused", NULL); 688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_mice(Monitor *mon, const QDict *qdict, QObject **ret) 692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MouseInfoList * retval = NULL; 697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_mice(errp); 702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_mice(retval, ret, errp); 704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_cpus(CpuInfoList * ret_in, QObject **ret_out, Error **errp) 718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CpuInfoList(v, &ret_in, "unused", errp); 725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CpuInfoList(v, &ret_in, "unused", NULL); 731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_cpus(Monitor *mon, const QDict *qdict, QObject **ret) 735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner CpuInfoList * retval = NULL; 740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_cpus(errp); 745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_cpus(retval, ret, errp); 747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_block(BlockInfoList * ret_in, QObject **ret_out, Error **errp) 761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockInfoList(v, &ret_in, "unused", errp); 768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockInfoList(v, &ret_in, "unused", NULL); 774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_block(Monitor *mon, const QDict *qdict, QObject **ret) 778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockInfoList * retval = NULL; 783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_block(errp); 788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_block(retval, ret, errp); 790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_blockstats(BlockStatsList * ret_in, QObject **ret_out, Error **errp) 804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockStatsList(v, &ret_in, "unused", errp); 811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockStatsList(v, &ret_in, "unused", NULL); 817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_blockstats(Monitor *mon, const QDict *qdict, QObject **ret) 821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockStatsList * retval = NULL; 826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_blockstats(errp); 831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_blockstats(retval, ret, errp); 833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_vnc(VncInfo * ret_in, QObject **ret_out, Error **errp) 847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_VncInfo(v, &ret_in, "unused", errp); 854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_VncInfo(v, &ret_in, "unused", NULL); 860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_vnc(Monitor *mon, const QDict *qdict, QObject **ret) 864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner VncInfo * retval = NULL; 869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_vnc(errp); 874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_vnc(retval, ret, errp); 876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_spice(SpiceInfo * ret_in, QObject **ret_out, Error **errp) 890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SpiceInfo(v, &ret_in, "unused", errp); 897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SpiceInfo(v, &ret_in, "unused", NULL); 903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_spice(Monitor *mon, const QDict *qdict, QObject **ret) 907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner SpiceInfo * retval = NULL; 912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_spice(errp); 917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_spice(retval, ret, errp); 919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_balloon(BalloonInfo * ret_in, QObject **ret_out, Error **errp) 933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BalloonInfo(v, &ret_in, "unused", errp); 940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BalloonInfo(v, &ret_in, "unused", NULL); 946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_balloon(Monitor *mon, const QDict *qdict, QObject **ret) 950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BalloonInfo * retval = NULL; 955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_balloon(errp); 960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_balloon(retval, ret, errp); 962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_pci(PciInfoList * ret_in, QObject **ret_out, Error **errp) 976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_PciInfoList(v, &ret_in, "unused", errp); 983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_PciInfoList(v, &ret_in, "unused", NULL); 989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_pci(Monitor *mon, const QDict *qdict, QObject **ret) 993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner PciInfoList * retval = NULL; 998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_pci(errp); 1003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_pci(retval, ret, errp); 1005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_block_jobs(BlockJobInfoList * ret_in, QObject **ret_out, Error **errp) 1019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 1021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 1022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 1025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockJobInfoList(v, &ret_in, "unused", errp); 1026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 1028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 1030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockJobInfoList(v, &ret_in, "unused", NULL); 1032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_block_jobs(Monitor *mon, const QDict *qdict, QObject **ret) 1036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockJobInfoList * retval = NULL; 1041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_block_jobs(errp); 1046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_block_jobs(retval, ret, errp); 1048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_quit(Monitor *mon, const QDict *qdict, QObject **ret) 1062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_quit(errp); 1071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_stop(Monitor *mon, const QDict *qdict, QObject **ret) 1084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_stop(errp); 1093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_system_reset(Monitor *mon, const QDict *qdict, QObject **ret) 1106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_system_reset(errp); 1115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_system_powerdown(Monitor *mon, const QDict *qdict, QObject **ret) 1128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_system_powerdown(errp); 1137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_cpu(Monitor *mon, const QDict *qdict, QObject **ret) 1150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t index; 1158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &index, "index", errp); 1162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_cpu(index, errp); 1168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &index, "index", NULL); 1173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_cpu_add(Monitor *mon, const QDict *qdict, QObject **ret) 1184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t id; 1192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &id, "id", errp); 1196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_cpu_add(id, errp); 1202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &id, "id", NULL); 1207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_memsave(Monitor *mon, const QDict *qdict, QObject **ret) 1218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t val; 1226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t size; 1227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * filename = NULL; 1228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_cpu_index = false; 1229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t cpu_index; 1230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &val, "val", errp); 1234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", errp); 1235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", errp); 1236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_cpu_index, "cpu-index", errp); 1237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_cpu_index) { 1238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &cpu_index, "cpu-index", errp); 1239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_memsave(val, size, filename, has_cpu_index, cpu_index, errp); 1247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &val, "val", NULL); 1252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", NULL); 1253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", NULL); 1254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_cpu_index, "cpu-index", NULL); 1255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_cpu_index) { 1256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &cpu_index, "cpu-index", NULL); 1257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_pmemsave(Monitor *mon, const QDict *qdict, QObject **ret) 1270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t val; 1278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t size; 1279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * filename = NULL; 1280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &val, "val", errp); 1284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", errp); 1285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", errp); 1286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_pmemsave(val, size, filename, errp); 1292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &val, "val", NULL); 1297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", NULL); 1298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", NULL); 1299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_cont(Monitor *mon, const QDict *qdict, QObject **ret) 1310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_cont(errp); 1319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_system_wakeup(Monitor *mon, const QDict *qdict, QObject **ret) 1332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_system_wakeup(errp); 1341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret) 1354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 1359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_inject_nmi(errp); 1363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_set_link(Monitor *mon, const QDict *qdict, QObject **ret) 1376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * name = NULL; 1384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool up; 1385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", errp); 1389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &up, "up", errp); 1390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_set_link(name, up, errp); 1396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", NULL); 1401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &up, "up", NULL); 1402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict, QObject **ret) 1413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * password = NULL; 1422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", errp); 1427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_passwd(device, password, errp); 1433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", NULL); 1439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_balloon(Monitor *mon, const QDict *qdict, QObject **ret) 1450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t value; 1458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", errp); 1462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_balloon(value, errp); 1468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", NULL); 1473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_resize(Monitor *mon, const QDict *qdict, QObject **ret) 1484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t size; 1493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", errp); 1498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_resize(device, size, errp); 1504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &size, "size", NULL); 1510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_transaction(Monitor *mon, const QDict *qdict, QObject **ret) 1521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner TransactionActionList * actions = NULL; 1529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TransactionActionList(v, &actions, "actions", errp); 1533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_transaction(actions, errp); 1539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TransactionActionList(v, &actions, "actions", NULL); 1544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_blockdev_snapshot_sync(Monitor *mon, const QDict *qdict, QObject **ret) 1555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * snapshot_file = NULL; 1564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_format = false; 1565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * format = NULL; 1566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_mode = false; 1567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner NewImageMode mode; 1568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &snapshot_file, "snapshot-file", errp); 1573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", errp); 1574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 1575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", errp); 1576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", errp); 1579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 1580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", errp); 1581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_blockdev_snapshot_sync(device, snapshot_file, has_format, format, has_mode, mode, errp); 1589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &snapshot_file, "snapshot-file", NULL); 1595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", NULL); 1596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 1597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", NULL); 1598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", NULL); 1601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 1602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", NULL); 1603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_blockdev_snapshot_internal_sync(Monitor *mon, const QDict *qdict, QObject **ret) 1616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * name = NULL; 1625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", errp); 1630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_blockdev_snapshot_internal_sync(device, name, errp); 1636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", NULL); 1642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_blockdev_snapshot_delete_internal_sync(SnapshotInfo * ret_in, QObject **ret_out, Error **errp) 1653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 1655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 1656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 1659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SnapshotInfo(v, &ret_in, "unused", errp); 1660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 1662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 1664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SnapshotInfo(v, &ret_in, "unused", NULL); 1666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_blockdev_snapshot_delete_internal_sync(Monitor *mon, const QDict *qdict, QObject **ret) 1670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner SnapshotInfo * retval = NULL; 1675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_id = false; 1680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * id = NULL; 1681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_name = false; 1682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * name = NULL; 1683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_id, "id", errp); 1688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_id) { 1689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", errp); 1690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_name, "name", errp); 1693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_name) { 1694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", errp); 1695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_blockdev_snapshot_delete_internal_sync(device, has_id, id, has_name, name, errp); 1703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_blockdev_snapshot_delete_internal_sync(retval, ret, errp); 1705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_id, "id", NULL); 1712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_id) { 1713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", NULL); 1714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_name, "name", NULL); 1717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_name) { 1718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", NULL); 1719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_human_monitor_command(char * ret_in, QObject **ret_out, Error **errp) 1732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 1734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 1735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 1738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &ret_in, "unused", errp); 1739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 1741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 1743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &ret_in, "unused", NULL); 1745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_human_monitor_command(Monitor *mon, const QDict *qdict, QObject **ret) 1749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * retval = NULL; 1754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * command_line = NULL; 1758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_cpu_index = false; 1759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t cpu_index; 1760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &command_line, "command-line", errp); 1764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_cpu_index, "cpu-index", errp); 1765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_cpu_index) { 1766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &cpu_index, "cpu-index", errp); 1767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_human_monitor_command(command_line, has_cpu_index, cpu_index, errp); 1775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 1776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_human_monitor_command(retval, ret, errp); 1777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &command_line, "command-line", NULL); 1783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_cpu_index, "cpu-index", NULL); 1784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_cpu_index) { 1785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &cpu_index, "cpu-index", NULL); 1786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_commit(Monitor *mon, const QDict *qdict, QObject **ret) 1799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_base = false; 1808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * base = NULL; 1809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * top = NULL; 1810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_speed = false; 1811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t speed; 1812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_base, "base", errp); 1817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_base) { 1818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &base, "base", errp); 1819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &top, "top", errp); 1822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", errp); 1823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 1824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", errp); 1825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_commit(device, has_base, base, top, has_speed, speed, errp); 1833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_base, "base", NULL); 1839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_base) { 1840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &base, "base", NULL); 1841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &top, "top", NULL); 1844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", NULL); 1845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 1846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", NULL); 1847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_drive_backup(Monitor *mon, const QDict *qdict, QObject **ret) 1860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * target = NULL; 1869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_format = false; 1870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * format = NULL; 1871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MirrorSyncMode sync; 1872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_mode = false; 1873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner NewImageMode mode; 1874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_speed = false; 1875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t speed; 1876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_on_source_error = false; 1877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOnError on_source_error; 1878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_on_target_error = false; 1879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOnError on_target_error; 1880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", errp); 1885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", errp); 1886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 1887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", errp); 1888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MirrorSyncMode(v, &sync, "sync", errp); 1891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", errp); 1892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 1893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", errp); 1894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", errp); 1897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 1898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", errp); 1899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_source_error, "on-source-error", errp); 1902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_source_error) { 1903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_source_error, "on-source-error", errp); 1904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_target_error, "on-target-error", errp); 1907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_target_error) { 1908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_target_error, "on-target-error", errp); 1909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 1912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 1914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 1915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_drive_backup(device, target, has_format, format, sync, has_mode, mode, has_speed, speed, has_on_source_error, on_source_error, has_on_target_error, on_target_error, errp); 1917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 1919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 1920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 1921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 1922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", NULL); 1923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", NULL); 1924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 1925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", NULL); 1926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MirrorSyncMode(v, &sync, "sync", NULL); 1929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", NULL); 1930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 1931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", NULL); 1932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", NULL); 1935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 1936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", NULL); 1937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_source_error, "on-source-error", NULL); 1940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_source_error) { 1941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_source_error, "on-source-error", NULL); 1942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_target_error, "on-target-error", NULL); 1945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_target_error) { 1946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_target_error, "on-target-error", NULL); 1947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 1949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 1950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 1952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 1953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 1954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 1955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 1957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 1958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_drive_mirror(Monitor *mon, const QDict *qdict, QObject **ret) 1960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 1961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 1962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 1963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 1964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 1965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 1966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 1967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 1968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * target = NULL; 1969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_format = false; 1970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * format = NULL; 1971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MirrorSyncMode sync; 1972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_mode = false; 1973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner NewImageMode mode; 1974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_speed = false; 1975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t speed; 1976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_granularity = false; 1977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner uint32_t granularity; 1978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_buf_size = false; 1979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t buf_size; 1980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_on_source_error = false; 1981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOnError on_source_error; 1982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_on_target_error = false; 1983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOnError on_target_error; 1984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 1986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 1987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 1988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", errp); 1989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", errp); 1990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 1991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", errp); 1992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 1994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MirrorSyncMode(v, &sync, "sync", errp); 1995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", errp); 1996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 1997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", errp); 1998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 1999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", errp); 2001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 2002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", errp); 2003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_granularity, "granularity", errp); 2006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_granularity) { 2007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_uint32(v, &granularity, "granularity", errp); 2008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_buf_size, "buf-size", errp); 2011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_buf_size) { 2012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &buf_size, "buf-size", errp); 2013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_source_error, "on-source-error", errp); 2016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_source_error) { 2017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_source_error, "on-source-error", errp); 2018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_target_error, "on-target-error", errp); 2021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_target_error) { 2022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_target_error, "on-target-error", errp); 2023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_drive_mirror(device, target, has_format, format, sync, has_mode, mode, has_speed, speed, has_granularity, granularity, has_buf_size, buf_size, has_on_source_error, on_source_error, has_on_target_error, on_target_error, errp); 2031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", NULL); 2037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_format, "format", NULL); 2038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_format) { 2039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &format, "format", NULL); 2040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MirrorSyncMode(v, &sync, "sync", NULL); 2043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_mode, "mode", NULL); 2044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_mode) { 2045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_NewImageMode(v, &mode, "mode", NULL); 2046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", NULL); 2049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 2050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", NULL); 2051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_granularity, "granularity", NULL); 2054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_granularity) { 2055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_uint32(v, &granularity, "granularity", NULL); 2056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_buf_size, "buf-size", NULL); 2059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_buf_size) { 2060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &buf_size, "buf-size", NULL); 2061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_source_error, "on-source-error", NULL); 2064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_source_error) { 2065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_source_error, "on-source-error", NULL); 2066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_target_error, "on-target-error", NULL); 2069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_target_error) { 2070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_target_error, "on-target-error", NULL); 2071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret) 2084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 2089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate_cancel(errp); 2093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate_set_downtime(Monitor *mon, const QDict *qdict, QObject **ret) 2106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner double value; 2114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_number(v, &value, "value", errp); 2118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate_set_downtime(value, errp); 2124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_number(v, &value, "value", NULL); 2129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret) 2140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t value; 2148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", errp); 2152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate_set_speed(value, errp); 2158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", NULL); 2163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate_set_cache_size(Monitor *mon, const QDict *qdict, QObject **ret) 2174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t value; 2182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", errp); 2186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate_set_cache_size(value, errp); 2192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &value, "value", NULL); 2197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_migrate_cache_size(int64_t ret_in, QObject **ret_out, Error **errp) 2208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 2210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 2211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 2214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &ret_in, "unused", errp); 2215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 2217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 2219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &ret_in, "unused", NULL); 2221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_migrate_cache_size(Monitor *mon, const QDict *qdict, QObject **ret) 2225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t retval; 2230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 2231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_migrate_cache_size(errp); 2235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_migrate_cache_size(retval, ret, errp); 2237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_qom_list(ObjectPropertyInfoList * ret_in, QObject **ret_out, Error **errp) 2251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 2253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 2254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 2257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ObjectPropertyInfoList(v, &ret_in, "unused", errp); 2258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 2260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 2262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ObjectPropertyInfoList(v, &ret_in, "unused", NULL); 2264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_qom_list(Monitor *mon, const QDict *qdict, QObject **ret) 2268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner ObjectPropertyInfoList * retval = NULL; 2273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * path = NULL; 2277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &path, "path", errp); 2281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_qom_list(path, errp); 2287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_qom_list(retval, ret, errp); 2289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &path, "path", NULL); 2295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_set_password(Monitor *mon, const QDict *qdict, QObject **ret) 2306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * protocol = NULL; 2314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * password = NULL; 2315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_connected = false; 2316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * connected = NULL; 2317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", errp); 2321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", errp); 2322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_connected, "connected", errp); 2323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_connected) { 2324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &connected, "connected", errp); 2325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_set_password(protocol, password, has_connected, connected, errp); 2333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", NULL); 2338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", NULL); 2339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_connected, "connected", NULL); 2340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_connected) { 2341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &connected, "connected", NULL); 2342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_expire_password(Monitor *mon, const QDict *qdict, QObject **ret) 2355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * protocol = NULL; 2363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * time = NULL; 2364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", errp); 2368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &time, "time", errp); 2369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_expire_password(protocol, time, errp); 2375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", NULL); 2380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &time, "time", NULL); 2381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_eject(Monitor *mon, const QDict *qdict, QObject **ret) 2392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_force = false; 2401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool force; 2402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_force, "force", errp); 2407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_force) { 2408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &force, "force", errp); 2409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_eject(device, has_force, force, errp); 2417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_force, "force", NULL); 2423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_force) { 2424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &force, "force", NULL); 2425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_change_vnc_password(Monitor *mon, const QDict *qdict, QObject **ret) 2438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * password = NULL; 2446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", errp); 2450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_change_vnc_password(password, errp); 2456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &password, "password", NULL); 2461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_change(Monitor *mon, const QDict *qdict, QObject **ret) 2472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * target = NULL; 2481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_arg = false; 2482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * arg = NULL; 2483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", errp); 2488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_arg, "arg", errp); 2489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_arg) { 2490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &arg, "arg", errp); 2491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_change(device, target, has_arg, arg, errp); 2499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &target, "target", NULL); 2505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_arg, "arg", NULL); 2506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_arg) { 2507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &arg, "arg", NULL); 2508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_set_io_throttle(Monitor *mon, const QDict *qdict, QObject **ret) 2521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps; 2530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps_rd; 2531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps_wr; 2532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops; 2533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_rd; 2534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_wr; 2535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_bps_max = false; 2536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps_max; 2537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_bps_rd_max = false; 2538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps_rd_max; 2539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_bps_wr_max = false; 2540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t bps_wr_max; 2541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_iops_max = false; 2542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_max; 2543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_iops_rd_max = false; 2544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_rd_max; 2545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_iops_wr_max = false; 2546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_wr_max; 2547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_iops_size = false; 2548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t iops_size; 2549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps, "bps", errp); 2554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_rd, "bps_rd", errp); 2555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_wr, "bps_wr", errp); 2556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops, "iops", errp); 2557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_rd, "iops_rd", errp); 2558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_wr, "iops_wr", errp); 2559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_max, "bps_max", errp); 2560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_max) { 2561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_max, "bps_max", errp); 2562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_rd_max, "bps_rd_max", errp); 2565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_rd_max) { 2566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_rd_max, "bps_rd_max", errp); 2567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_wr_max, "bps_wr_max", errp); 2570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_wr_max) { 2571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_wr_max, "bps_wr_max", errp); 2572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_max, "iops_max", errp); 2575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_max) { 2576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_max, "iops_max", errp); 2577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_rd_max, "iops_rd_max", errp); 2580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_rd_max) { 2581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_rd_max, "iops_rd_max", errp); 2582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_wr_max, "iops_wr_max", errp); 2585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_wr_max) { 2586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_wr_max, "iops_wr_max", errp); 2587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_size, "iops_size", errp); 2590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_size) { 2591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_size, "iops_size", errp); 2592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_set_io_throttle(device, bps, bps_rd, bps_wr, iops, iops_rd, iops_wr, has_bps_max, bps_max, has_bps_rd_max, bps_rd_max, has_bps_wr_max, bps_wr_max, has_iops_max, iops_max, has_iops_rd_max, iops_rd_max, has_iops_wr_max, iops_wr_max, has_iops_size, iops_size, errp); 2600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps, "bps", NULL); 2606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_rd, "bps_rd", NULL); 2607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_wr, "bps_wr", NULL); 2608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops, "iops", NULL); 2609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_rd, "iops_rd", NULL); 2610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_wr, "iops_wr", NULL); 2611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_max, "bps_max", NULL); 2612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_max) { 2613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_max, "bps_max", NULL); 2614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_rd_max, "bps_rd_max", NULL); 2617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_rd_max) { 2618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_rd_max, "bps_rd_max", NULL); 2619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_bps_wr_max, "bps_wr_max", NULL); 2622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_bps_wr_max) { 2623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &bps_wr_max, "bps_wr_max", NULL); 2624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_max, "iops_max", NULL); 2627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_max) { 2628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_max, "iops_max", NULL); 2629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_rd_max, "iops_rd_max", NULL); 2632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_rd_max) { 2633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_rd_max, "iops_rd_max", NULL); 2634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_wr_max, "iops_wr_max", NULL); 2637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_wr_max) { 2638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_wr_max, "iops_wr_max", NULL); 2639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_iops_size, "iops_size", NULL); 2642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_iops_size) { 2643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &iops_size, "iops_size", NULL); 2644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_stream(Monitor *mon, const QDict *qdict, QObject **ret) 2657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_base = false; 2666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * base = NULL; 2667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_speed = false; 2668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t speed; 2669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_on_error = false; 2670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOnError on_error; 2671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_base, "base", errp); 2676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_base) { 2677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &base, "base", errp); 2678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", errp); 2681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 2682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", errp); 2683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_error, "on-error", errp); 2686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_error) { 2687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_error, "on-error", errp); 2688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_stream(device, has_base, base, has_speed, speed, has_on_error, on_error, errp); 2696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_base, "base", NULL); 2702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_base) { 2703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &base, "base", NULL); 2704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_speed, "speed", NULL); 2707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_speed) { 2708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", NULL); 2709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_on_error, "on-error", NULL); 2712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_on_error) { 2713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOnError(v, &on_error, "on-error", NULL); 2714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_job_set_speed(Monitor *mon, const QDict *qdict, QObject **ret) 2727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t speed; 2736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", errp); 2741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_job_set_speed(device, speed, errp); 2747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &speed, "speed", NULL); 2753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_job_cancel(Monitor *mon, const QDict *qdict, QObject **ret) 2764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_force = false; 2773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool force; 2774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_force, "force", errp); 2779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_force) { 2780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &force, "force", errp); 2781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_job_cancel(device, has_force, force, errp); 2789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_force, "force", NULL); 2795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_force) { 2796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &force, "force", NULL); 2797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_job_pause(Monitor *mon, const QDict *qdict, QObject **ret) 2810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_job_pause(device, errp); 2828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_job_resume(Monitor *mon, const QDict *qdict, QObject **ret) 2844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_job_resume(device, errp); 2862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_block_job_complete(Monitor *mon, const QDict *qdict, QObject **ret) 2878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 2886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 2890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_block_job_complete(device, errp); 2896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 2901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_qom_list_types(ObjectTypeInfoList * ret_in, QObject **ret_out, Error **errp) 2912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 2914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 2915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 2918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ObjectTypeInfoList(v, &ret_in, "unused", errp); 2919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 2921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 2923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ObjectTypeInfoList(v, &ret_in, "unused", NULL); 2925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_qom_list_types(Monitor *mon, const QDict *qdict, QObject **ret) 2929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 2931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 2932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 2933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner ObjectTypeInfoList * retval = NULL; 2934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 2935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 2936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_implements = false; 2938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * implements = NULL; 2939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_abstract = false; 2940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool abstract; 2941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 2943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 2944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_implements, "implements", errp); 2945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_implements) { 2946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &implements, "implements", errp); 2947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_abstract, "abstract", errp); 2950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_abstract) { 2951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &abstract, "abstract", errp); 2952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 2954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 2955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 2957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 2958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_qom_list_types(has_implements, implements, has_abstract, abstract, errp); 2960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_qom_list_types(retval, ret, errp); 2962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 2965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 2966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 2967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_implements, "implements", NULL); 2968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_implements) { 2969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &implements, "implements", NULL); 2970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_abstract, "abstract", NULL); 2973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_abstract) { 2974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &abstract, "abstract", NULL); 2975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 2977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 2978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 2980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 2981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 2982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 2983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 2985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 2986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_device_list_properties(DevicePropertyInfoList * ret_in, QObject **ret_out, Error **errp) 2988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 2989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 2990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 2991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 2992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 2994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DevicePropertyInfoList(v, &ret_in, "unused", errp); 2995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 2996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 2997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 2998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 2999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_DevicePropertyInfoList(v, &ret_in, "unused", NULL); 3001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_device_list_properties(Monitor *mon, const QDict *qdict, QObject **ret) 3005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner DevicePropertyInfoList * retval = NULL; 3010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * q_typename = NULL; 3014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &q_typename, "typename", errp); 3018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_device_list_properties(q_typename, errp); 3024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_device_list_properties(retval, ret, errp); 3026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &q_typename, "typename", NULL); 3032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_migrate(Monitor *mon, const QDict *qdict, QObject **ret) 3043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * uri = NULL; 3051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_blk = false; 3052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool blk; 3053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_inc = false; 3054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool inc; 3055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_detach = false; 3056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool detach; 3057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &uri, "uri", errp); 3061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_blk, "blk", errp); 3062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_blk) { 3063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &blk, "blk", errp); 3064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_inc, "inc", errp); 3067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_inc) { 3068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &inc, "inc", errp); 3069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_detach, "detach", errp); 3072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_detach) { 3073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &detach, "detach", errp); 3074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_migrate(uri, has_blk, blk, has_inc, inc, has_detach, detach, errp); 3082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &uri, "uri", NULL); 3087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_blk, "blk", NULL); 3088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_blk) { 3089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &blk, "blk", NULL); 3090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_inc, "inc", NULL); 3093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_inc) { 3094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &inc, "inc", NULL); 3095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_detach, "detach", NULL); 3098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_detach) { 3099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &detach, "detach", NULL); 3100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_xen_save_devices_state(Monitor *mon, const QDict *qdict, QObject **ret) 3113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * filename = NULL; 3121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", errp); 3125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_xen_save_devices_state(filename, errp); 3131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", NULL); 3136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_xen_set_global_dirty_log(Monitor *mon, const QDict *qdict, QObject **ret) 3147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool enable; 3155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &enable, "enable", errp); 3159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_xen_set_global_dirty_log(enable, errp); 3165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &enable, "enable", NULL); 3170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_device_del(Monitor *mon, const QDict *qdict, QObject **ret) 3181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * id = NULL; 3189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", errp); 3193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_device_del(id, errp); 3199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", NULL); 3204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_dump_guest_memory(Monitor *mon, const QDict *qdict, QObject **ret) 3215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool paging; 3223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * protocol = NULL; 3224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_begin = false; 3225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t begin; 3226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_length = false; 3227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t length; 3228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &paging, "paging", errp); 3232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", errp); 3233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_begin, "begin", errp); 3234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_begin) { 3235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &begin, "begin", errp); 3236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_length, "length", errp); 3239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_length) { 3240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &length, "length", errp); 3241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_dump_guest_memory(paging, protocol, has_begin, begin, has_length, length, errp); 3249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &paging, "paging", NULL); 3254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &protocol, "protocol", NULL); 3255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_begin, "begin", NULL); 3256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_begin) { 3257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &begin, "begin", NULL); 3258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_length, "length", NULL); 3261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_length) { 3262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &length, "length", NULL); 3263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret) 3276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * id = NULL; 3284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", errp); 3288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_netdev_del(id, errp); 3294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", NULL); 3299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_getfd(Monitor *mon, const QDict *qdict, QObject **ret) 3310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * fdname = NULL; 3318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", errp); 3322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_getfd(fdname, errp); 3328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", NULL); 3333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_closefd(Monitor *mon, const QDict *qdict, QObject **ret) 3344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * fdname = NULL; 3352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", errp); 3356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_closefd(fdname, errp); 3362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &fdname, "fdname", NULL); 3367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_machines(MachineInfoList * ret_in, QObject **ret_out, Error **errp) 3378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MachineInfoList(v, &ret_in, "unused", errp); 3385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_MachineInfoList(v, &ret_in, "unused", NULL); 3391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_machines(Monitor *mon, const QDict *qdict, QObject **ret) 3395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner MachineInfoList * retval = NULL; 3400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_machines(errp); 3405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_machines(retval, ret, errp); 3407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_cpu_definitions(CpuDefinitionInfoList * ret_in, QObject **ret_out, Error **errp) 3421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CpuDefinitionInfoList(v, &ret_in, "unused", errp); 3428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CpuDefinitionInfoList(v, &ret_in, "unused", NULL); 3434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_cpu_definitions(Monitor *mon, const QDict *qdict, QObject **ret) 3438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner CpuDefinitionInfoList * retval = NULL; 3443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_cpu_definitions(errp); 3448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_cpu_definitions(retval, ret, errp); 3450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_add_fd(AddfdInfo * ret_in, QObject **ret_out, Error **errp) 3464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_AddfdInfo(v, &ret_in, "unused", errp); 3471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_AddfdInfo(v, &ret_in, "unused", NULL); 3477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_add_fd(Monitor *mon, const QDict *qdict, QObject **ret) 3481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner AddfdInfo * retval = NULL; 3486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_fdset_id = false; 3490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t fdset_id; 3491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_opaque = false; 3492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * opaque = NULL; 3493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_fdset_id, "fdset-id", errp); 3497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_fdset_id) { 3498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fdset_id, "fdset-id", errp); 3499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_opaque, "opaque", errp); 3502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_opaque) { 3503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &opaque, "opaque", errp); 3504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_add_fd(has_fdset_id, fdset_id, has_opaque, opaque, errp); 3512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_add_fd(retval, ret, errp); 3514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_fdset_id, "fdset-id", NULL); 3520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_fdset_id) { 3521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fdset_id, "fdset-id", NULL); 3522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_opaque, "opaque", NULL); 3525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_opaque) { 3526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &opaque, "opaque", NULL); 3527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_remove_fd(Monitor *mon, const QDict *qdict, QObject **ret) 3540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t fdset_id; 3548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_fd = false; 3549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t fd; 3550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fdset_id, "fdset-id", errp); 3554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_fd, "fd", errp); 3555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_fd) { 3556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fd, "fd", errp); 3557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_remove_fd(fdset_id, has_fd, fd, errp); 3565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fdset_id, "fdset-id", NULL); 3570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_fd, "fd", NULL); 3571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_fd) { 3572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &fd, "fd", NULL); 3573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_fdsets(FdsetInfoList * ret_in, QObject **ret_out, Error **errp) 3586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_FdsetInfoList(v, &ret_in, "unused", errp); 3593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_FdsetInfoList(v, &ret_in, "unused", NULL); 3599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_fdsets(Monitor *mon, const QDict *qdict, QObject **ret) 3603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner FdsetInfoList * retval = NULL; 3608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_fdsets(errp); 3613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_fdsets(retval, ret, errp); 3615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_target(TargetInfo * ret_in, QObject **ret_out, Error **errp) 3629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TargetInfo(v, &ret_in, "unused", errp); 3636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TargetInfo(v, &ret_in, "unused", NULL); 3642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_target(Monitor *mon, const QDict *qdict, QObject **ret) 3646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner TargetInfo * retval = NULL; 3651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_target(errp); 3656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_target(retval, ret, errp); 3658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_send_key(Monitor *mon, const QDict *qdict, QObject **ret) 3672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner KeyValueList * keys = NULL; 3680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_hold_time = false; 3681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner int64_t hold_time; 3682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_KeyValueList(v, &keys, "keys", errp); 3686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_hold_time, "hold-time", errp); 3687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_hold_time) { 3688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &hold_time, "hold-time", errp); 3689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_send_key(keys, has_hold_time, hold_time, errp); 3697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_KeyValueList(v, &keys, "keys", NULL); 3702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_hold_time, "hold-time", NULL); 3703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_hold_time) { 3704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_int(v, &hold_time, "hold-time", NULL); 3705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_screendump(Monitor *mon, const QDict *qdict, QObject **ret) 3718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * filename = NULL; 3726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", errp); 3730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_screendump(filename, errp); 3736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &filename, "filename", NULL); 3741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_nbd_server_start(Monitor *mon, const QDict *qdict, QObject **ret) 3752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner SocketAddress * addr = NULL; 3760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SocketAddress(v, &addr, "addr", errp); 3764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_nbd_server_start(addr, errp); 3770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_SocketAddress(v, &addr, "addr", NULL); 3775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_nbd_server_add(Monitor *mon, const QDict *qdict, QObject **ret) 3786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * device = NULL; 3794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_writable = false; 3795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool writable; 3796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", errp); 3800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_writable, "writable", errp); 3801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_writable) { 3802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &writable, "writable", errp); 3803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 3805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_nbd_server_add(device, has_writable, writable, errp); 3811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &device, "device", NULL); 3816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_writable, "writable", NULL); 3817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_writable) { 3818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_bool(v, &writable, "writable", NULL); 3819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 3821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_nbd_server_stop(Monitor *mon, const QDict *qdict, QObject **ret) 3832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_nbd_server_stop(errp); 3841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_chardev_add(ChardevReturn * ret_in, QObject **ret_out, Error **errp) 3854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevReturn(v, &ret_in, "unused", errp); 3861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevReturn(v, &ret_in, "unused", NULL); 3867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_chardev_add(Monitor *mon, const QDict *qdict, QObject **ret) 3871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner ChardevReturn * retval = NULL; 3876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * id = NULL; 3880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner ChardevBackend * backend = NULL; 3881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", errp); 3885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevBackend(v, &backend, "backend", errp); 3886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_chardev_add(id, backend, errp); 3892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_chardev_add(retval, ret, errp); 3894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", NULL); 3900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_ChardevBackend(v, &backend, "backend", NULL); 3901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_chardev_remove(Monitor *mon, const QDict *qdict, QObject **ret) 3912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 3917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 3918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * id = NULL; 3920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 3922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 3923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", errp); 3924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 3925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_chardev_remove(id, errp); 3930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 3933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &id, "id", NULL); 3935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_tpm_models(TpmModelList * ret_in, QObject **ret_out, Error **errp) 3946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TpmModelList(v, &ret_in, "unused", errp); 3953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 3957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 3958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TpmModelList(v, &ret_in, "unused", NULL); 3959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 3960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_tpm_models(Monitor *mon, const QDict *qdict, QObject **ret) 3963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 3965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 3966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 3967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner TpmModelList * retval = NULL; 3968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 3969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 3970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 3971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_tpm_models(errp); 3973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_tpm_models(retval, ret, errp); 3975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 3978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 3981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 3982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 3983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 3984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 3986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 3987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_tpm_types(TpmTypeList * ret_in, QObject **ret_out, Error **errp) 3989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 3990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 3991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 3992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 3993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 3995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TpmTypeList(v, &ret_in, "unused", errp); 3996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 3997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 3998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 3999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 4000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TpmTypeList(v, &ret_in, "unused", NULL); 4002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_tpm_types(Monitor *mon, const QDict *qdict, QObject **ret) 4006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 4008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 4009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 4010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner TpmTypeList * retval = NULL; 4011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 4012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 4013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 4014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_tpm_types(errp); 4016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_tpm_types(retval, ret, errp); 4018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 4021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 4024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 4025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 4026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 4027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 4029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_tpm(TPMInfoList * ret_in, QObject **ret_out, Error **errp) 4032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 4034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 4035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 4038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TPMInfoList(v, &ret_in, "unused", errp); 4039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 4041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 4043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_TPMInfoList(v, &ret_in, "unused", NULL); 4045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_tpm(Monitor *mon, const QDict *qdict, QObject **ret) 4049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 4051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 4052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 4053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner TPMInfoList * retval = NULL; 4054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner (void)args; 4055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 4056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 4057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_tpm(errp); 4059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_tpm(retval, ret, errp); 4061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 4064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 4067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 4068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 4069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 4070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 4072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_command_line_options(CommandLineOptionInfoList * ret_in, QObject **ret_out, Error **errp) 4075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 4077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 4078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 4081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CommandLineOptionInfoList(v, &ret_in, "unused", errp); 4082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 4084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 4086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_CommandLineOptionInfoList(v, &ret_in, "unused", NULL); 4088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_command_line_options(Monitor *mon, const QDict *qdict, QObject **ret) 4092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 4094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 4095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 4096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner CommandLineOptionInfoList * retval = NULL; 4097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 4098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 4099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_option = false; 4101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * option = NULL; 4102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 4104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 4105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_option, "option", errp); 4106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_option) { 4107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &option, "option", errp); 4108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 4110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 4111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 4113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 4114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_command_line_options(has_option, option, errp); 4116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_command_line_options(retval, ret, errp); 4118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 4121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 4122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_option, "option", NULL); 4124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_option) { 4125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &option, "option", NULL); 4126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 4128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 4131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 4132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 4133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 4134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 4136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerstatic void qmp_marshal_output_query_rx_filter(RxFilterInfoList * ret_in, QObject **ret_out, Error **errp) 4139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md = qapi_dealloc_visitor_new(); 4141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpOutputVisitor *mo = qmp_output_visitor_new(); 4142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_output_get_visitor(mo); 4145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_RxFilterInfoList(v, &ret_in, "unused", errp); 4146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner *ret_out = qmp_output_get_qobject(mo); 4148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_output_visitor_cleanup(mo); 4150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_RxFilterInfoList(v, &ret_in, "unused", NULL); 4152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_query_rx_filter(Monitor *mon, const QDict *qdict, QObject **ret) 4156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 4158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 4159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 4160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner RxFilterInfoList * retval = NULL; 4161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 4162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 4163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner bool has_name = false; 4165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner char * name = NULL; 4166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 4168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 4169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_name, "name", errp); 4170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_name) { 4171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", errp); 4172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, errp); 4174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 4175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 4177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 4178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner retval = qmp_query_rx_filter(has_name, name, errp); 4180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (!error_is_set(errp)) { 4181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_marshal_output_query_rx_filter(retval, ret, errp); 4182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 4185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 4186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_start_optional(v, &has_name, "name", NULL); 4188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (has_name) { 4189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_str(v, &name, "name", NULL); 4190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_end_optional(v, NULL); 4192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 4195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 4196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 4197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 4198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 4200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerint qmp_marshal_input_blockdev_add(Monitor *mon, const QDict *qdict, QObject **ret) 4203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 4204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error *local_err = NULL; 4205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Error **errp = &local_err; 4206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QDict *args = (QDict *)qdict; 4207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QmpInputVisitor *mi; 4208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner QapiDeallocVisitor *md; 4209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner Visitor *v; 4210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner BlockdevOptions * options = NULL; 4211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner mi = qmp_input_visitor_new_strict(QOBJECT(args)); 4213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qmp_input_get_visitor(mi); 4214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOptions(v, &options, "options", errp); 4215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_input_visitor_cleanup(mi); 4216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (error_is_set(errp)) { 4218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner goto out; 4219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qmp_blockdev_add(options, errp); 4221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turnerout: 4223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner md = qapi_dealloc_visitor_new(); 4224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner v = qapi_dealloc_get_visitor(md); 4225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner visit_type_BlockdevOptions(v, &options, "options", NULL); 4226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qapi_dealloc_visitor_cleanup(md); 4227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner if (local_err) { 4229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner qerror_report_err(local_err); 4230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner error_free(local_err); 4231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return -1; 4232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } 4233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner return 0; 4234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner} 4235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4236