On Sep 1, 2015, at 2:19 AM, Markus Armbruster wrote: > 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.
Thank you very much for the help.