[Libvir] 1/4 Additions to the public API
Daniel P. Berrange
berrange at redhat.com
Thu Feb 21 22:21:09 UTC 2008
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.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
More information about the libvir-list
mailing list