> > Why can't we make the monitor interface a "formal" interface?
>
> Because then fixing a type or extending the interface becomes a pain.
>
> It's also much more difficult to specify a text-base interface
> completey, compared to a C api (where sometimes all you need is the
> header and a few comments).

I disagree.

It's entirely possible to fully specify a text protocol, and it's just as easy 
to extend it in a backwards compatible way. A C API is about the most fixed 
interface you could possible use. A C API also requires that both sides of 
the interface be part of the same process on the same machine. A text 
protocol is trivial to implement over pretty much any transport you can think 
of.

IMHO we have two options:

- Integrate a GUI into qemu. This will be the only supported GUI. As different 
people want very different things this is unlikely to ever happen.

- Implement some sort of remote control protocol. Maybe based on the existing 
monitor comands, but definitely using based on a simple serial data link. 
This allows third party frontends to control qemu without having to integrate 
them into qemu itself.

If you want to implement a C library to implement the text protocol, then you 
can do so. If it's any good then maybe other people will also use it. However 
I bet a C API isn't going to be particularly pleasant, and people are going 
to want to talk to qemu from e.g. python and C++ without having to mess about 
going via your C API.

Paul


Reply via email to