I just finished the C# PInvoke portion for the libvirt library.
If you download the repo, and execute the powershell script, all dlls/headers are pulled, and a single C# PInvoke file is generated from the libvirt header files which contains all enums, callbacks, functions, etc. It is a complete parse of all headers
libvirt-domain-snapshot.h
libvirt-domain.h
libvirt-event.h
libvirt-host.h
libvirt-interface.h
libvirt-lxc.h
libvirt-network.h
libvirt-nodedev.h
libvirt-nwfilter.h
libvirt-qemu.h
libvirt-secret.h
libvirt-storage.h
libvirt-stream.h
libvirt.h
virterror.h
into a single .cs file that can be used for development -- thanks to the clang compiler!
Now, I'll create a demo solution for this as well.