Programmingkid <programmingk...@gmail.com> writes: > Is there a function that can execute a qmp command in QEMU?
Sure you want to do that, and not call the C interface instead? Let me explain how QMP works: * QMP core: receive JSON, parse, find handler function (defined in qmp-commands.hx), call it * The handler function is of type void (*)(QDict *params, QObject **ret_data, Error **errp); It's normally an function generated from QAPI schema that unmarshals the arguments, calls the real function, and marshals result on success or forwards the error on failure. The point of this marshalling business is to have a real function with a nice C interface rather than this QDict / QObject stuff. * QMP core: format and send reply. Handler function example: query-command-line-options qmp-commands.hx points to qmp_marshal_input_query_command_line_options(), which calls qmp_query_command_line_options(). The latter looks like this: CommandLineOptionInfoList * qmp_query_command_line_options(bool has_option, const char *option, Error **errp) That's the function you want to call from C.