Hi.

I'm willing to maintain a project hosted on java.net
(https://zfs.dev.java.net/) that aims to provide a Java wrapper to
libzfs. I've already wrapped, although not committed yet, the last
libzfs.h I found on OpenSolaris.org (v. 10342:108f0058f837) and the
first problem I want to address is library versioning. The existing
sources are wrapping an old version of libzfs.h and, as far as I can
see, there were changes in libzfs.h history which would disrupt the
wrapper functionality and I just wouldn't like to present the user
with linker errors. Rather, I'd like to keep track of libzfs.h
"history" during the various Nevada builds and plug the correct
wrapper at runtime, during the library bootstrap. Obviously, an user
could just choose and use directly the wrapper, which will be the
equivalent of linking against libzfs, and do what it wants to with it.
Our idea, which the project founder has already brought on, is
wrapping much of the functionality (if not all...) behind a hierarchy
of Java classes which would take care of the implementation details
and shield the user against library changes.

The first question is, then: how can I determine which libzfs.h
version has gone in which Nevada build? Once I have this information,
how would you suggest me to plug the wrapper at runtime? I was
thinking about something like uname -rv and use that information to
load wrappers, but perhaps there are finest ways to do this.

Thanks in advance,
Enrico

-- 
Enrico M. Crisostomo
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to