I understand your point, Eric and Daniel. Let me rephrase my problem statement. Please suggest me how can I address them.
I have a project environment where guest VMs are getting created and destroyed based on some (irrelevant) parameters (these guest VMs are instantiated with QEMU guest agent running and with any possible changes in that). There is a module in host which is controlling all this. I need to do following things from within that module.
1. Whenever a new guest VM is created, take (predefined) RPM packages from host to guest VM and install them.
2. Start a script in guest VM (at certain events).
3. Start a process in guest VM (at certain events).
I thought to address above issues by having a QEMU guest agent running inside guest VM which has one new command, to which I somehow pass RPMs using "virsh qemu-guest-agent ..." command.
In existing qemu-ga code, I saw some examples where they fork() and execle() some stuff. I though I can achieve [2] and [3] using the same way.
But, I was getting stuck at [1] in how to transfer files from host to guest and do something with them. I thought I should be able to transfer files using channel like socket/virtio, but was not getting the clue on how to use them.
Regards,
~Puneet
[PS: What is meant by top-post. I am using gmail and using "reply all". How can I avoid top-post?]