Matt McCowan wrote: > diff -ur libvirt.orig/include/libvirt/libvirt.h.in libvirt/include/libvirt/libvirt.h.in > --- libvirt.orig/include/libvirt/libvirt.h.in 2009-01-20 21:14:03.000000000 +0900 > +++ libvirt/include/libvirt/libvirt.h.in 2009-02-24 13:09:07.000000000 +0900 > @@ -463,10 +463,16 @@ > int virDomainSuspend (virDomainPtr domain); > int virDomainResume (virDomainPtr domain); > > +/* Domain save flags. */ > +typedef enum { > + VIR_SAVE_CHECKPOINT = 1, /* checkpoint save */ > +} virDomainSaveFlags; > + > /* > * Domain save/restore > */ > int virDomainSave (virDomainPtr domain, > + unsigned long flags, > const char *to); Unfortunately, you cannot do this. virDomainSave() is part of the public API in libvirt, and that is guaranteed to never change. So we can't add more fields to it. Your best bet at this point might be to add another call, "virDomainCheckpoint", with the arguments you need. Then factor out the internal implementations of virDomainSave so that both virDomainSave and virDomainCheckpoint share most of the same code, with just the slight differences for checkpointing. -- Chris Lalancette -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list