On Tue, Dec 04, 2007 at 12:57:39PM +0000, Richard W.M. Jones wrote:
Daniel P. Berrange wrote:
> virConnectPtr virConnectOpenAuth (const char *name,
> virConnectAuthPtr auth,
> int flags);
I'm a fan of callers passing in the size of the structure (as they see
it). Allows the structure to be expanded in future, and if done right
can allow both forwards and backwards compatibility.
cf:
http://www.libvirt.org/html/libvirt-libvirt.html#virDomainInterfaceStats
Hum, honnestly, that's not my preferred way. If you really think there
should be room for expansion, I would either:
- add a version number to the structure and allocator/destructor
functions as part of the API (prefered)
- add padding at tyhe end of the structure which could allow
a future growth
adding the size of the structure as the argument moves the complexity away
from the library implementor to the library user,
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/