Thanks for the reply Cedric, wrappers is a dir that I made similar to examples which wraps the libvirt c code. The reason why I am doing this is to simplify the usage of virConnectOpenAuth - it's arguments and callbacks from JavaScript. Using ffi, I am unable to create the right callbacks and have it pass the correct arguments. I also followed a different approach of having my wrappers turned into a shared object (.so) and linking libvirt.so as a dependency. My environment is esx requiring authentication. Much appreciated, Vik. > On Feb 21, 2014, at 12:19 AM, Cedric Bosdonnat <cbosdonnat@xxxxxxxx> wrote: > > Hello Vik, > >> On Thu, 2014-02-20 at 15:14 -0800, vikhyath reddy wrote: >> Thanks for libvirt. It is a life saver. I am in the process of writing >> some custom wrappers for libvirt so that it can be easily accessed >> from nodejs using the nodejs-ffi interfacing (basically describes a >> way to convert nodejs to c calls). I did write the wrapper on the >> lines of the examples provided. But I am unable to see my new >> functions in the libvirt.so file (which nodejs interfacing needs). >> Which means that my wrappers under <libvirt>/wrappers/ are not getting >> into libvirt.so like the ones at <libvirt>/examples > > I don't quite get what you are doing. Why would you need to modify > libvirt to wrap it in a nodejs-based script? What is that > libvirt/wrappers folder you are mentioning? there is no such thing in > the libvirt repository. > > From what I understood from the nodejs-ffi page, you should mostly write > javascript code similar to this: > > ------------ %< ------------ > > var ref = require('ref'); > var ffi = require('ffi'); > > var virConnect = ref.types.void; > var virConnectPtr = ref.refType(virConnect); > > var libvirt = ffi.Library('libvirt', { > 'virInitialize': [ 'int', [ ] ], > 'virConnectOpen': [virConnectPtr, [ string ]], > ... > }); > > ------------ %< ------------ > > I'm pretty sure generating this could be automated by a small program or > script or even a clang plugin, using include/libvirt/libvirt.h.in as > input. > >> Can you please guide me as to where I am going wrong? I was able to do >> a successful configure + make and I thought this will regenerate the >> new libvirt.so (which it does, but I cant see my new wrapper methods >> in it). > > I case you really want to modify libvirt, then you should proceed as > mentioned on this page: > > http://libvirt.org/compiling.html > > Regards, > -- > Cedric > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list