
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@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/