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@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list