On Thu, Feb 21, 2008 at 10:21:09PM +0000, Daniel P. Berrange wrote: > On Thu, Feb 21, 2008 at 05:13:51PM -0500, Daniel Veillard wrote: > > On Thu, Feb 21, 2008 at 08:56:17PM +0000, Richard W.M. Jones wrote: > > > This just adds the four new functions to the public API. > > [...] > > > +/** > > > + * virNetworkDHCPHostMapping: > > > + * > > > + * hostname mappings are returned by virNetworkListDHCPHostMapping. > > > + */ > > > +typedef struct _virNetworkDHCPHostMapping { > > > + char *hwaddr; > > > + char *ipaddr; > > > + char *hostname; > > > +} virNetworkDHCPHostMapping; > > > + > > > +typedef virNetworkDHCPHostMapping *virNetworkDHCPHostMappingPtr; > > > + > > [...] > > > +int virNetworkListDHCPHostMappings > > > + (virNetworkPtr network, > > > + virNetworkDHCPHostMappingPtr *const mappings, > > > + int maxmappings); > > > +int virNetworkFreeDHCPHostMappings > > > + (virNetworkDHCPHostMappingPtr *const mappings, > > > + int maxmappings); > > > > Hum, do we really need to expose this structure at the API level, since we > > use it only for listing. Since everything is provided as strings why not > > use something like > > > > int virNetworkListDHCPHostMappings (virNetworkPtr network, > > int maxmappings, > > char **hwaddrtab, > > char **ipaddrtab, > > char **hostnametab); > > > > This also avoids the free function too, same functionality, quite a simpler > > interface. > > Simpler for who ? Apps using this data now have to pass around a whole > bunch of pointers, instead of a single virNetworkDHCPHostMapping. When > you map this API into higher level languages a struct is also going to be > a much nicer thing to represent. if the struct was a simpler representation it would be used for Add too, I don't think it's the case. Maybe the 3 arrays is not the nicest but defining a public structure holding 3 strings feels strange to me, especially when in the other place we use the 3 strings directly. Having a deallocator but no allocator function looks strange to me too. 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