[libvirt] [PATCH 3/4] Implement Public API of new virInterface functions
Daniel P. Berrange
berrange at redhat.com
Fri Jun 19 10:49:26 UTC 2009
On Thu, Jun 18, 2009 at 02:44:29PM -0400, Laine Stump wrote:
> ---
> src/libvirt.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
> 1 files changed, 86 insertions(+), 3 deletions(-)
>
> diff --git a/src/libvirt.c b/src/libvirt.c
> index bf49018..c5c868d 100644
> --- a/src/libvirt.c
> +++ b/src/libvirt.c
> @@ -5502,9 +5502,9 @@ virInterfaceGetConnect (virInterfacePtr iface)
> * virConnectNumOfInterfaces:
> * @conn: pointer to the hypervisor connection
> *
> - * Provides the number of interfaces on the physical host.
> + * Provides the number of active interfaces on the physical host.
> *
> - * Returns the number of interface found or -1 in case of error
> + * Returns the number of active interfaces found or -1 in case of error
> */
> int
> virConnectNumOfInterfaces(virConnectPtr conn)
> @@ -5540,7 +5540,8 @@ error:
> * @names: array to collect the list of names of interfaces
> * @maxnames: size of @names
> *
> - * Collect the list of physical host interfaces, and store their names in @names
> + * Collect the list of active physical host interfaces,
> + * and store their names in @names
> *
> * Returns the number of interfaces found or -1 in case of error
> */
> @@ -5578,6 +5579,88 @@ error:
> }
>
> /**
> + * virConnectNumOfDefinedInterfaces:
> + * @conn: pointer to the hypervisor connection
> + *
> + * Provides the number of defined (inactive) interfaces on the physical host.
> + *
> + * Returns the number of defined interface found or -1 in case of error
> + */
> +int
> +virConnectNumOfDefinedInterfaces(virConnectPtr conn)
> +{
> + DEBUG("conn=%p", conn);
> +
> + virResetLastError();
> +
> + if (!VIR_IS_CONNECT(conn)) {
> + virLibConnError(NULL, VIR_ERR_INVALID_CONN, __FUNCTION__);
> + return (-1);
> + }
> +
> + if (conn->interfaceDriver && conn->interfaceDriver->numOfDefinedInterfaces) {
> + int ret;
> + ret = conn->interfaceDriver->numOfDefinedInterfaces (conn);
> + if (ret < 0)
> + goto error;
> + return ret;
> + }
> +
> + virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
> +
> +error:
> + /* Copy to connection error object for back compatability */
> + virSetConnError(conn);
> + return -1;
> +}
> +
> +/**
> + * virConnectListDefinedInterfaces:
> + * @conn: pointer to the hypervisor connection
> + * @names: array to collect the list of names of interfaces
> + * @maxnames: size of @names
> + *
> + * Collect the list of defined (inactive) physical host interfaces,
> + * and store their names in @names.
> + *
> + * Returns the number of interfaces found or -1 in case of error
> + */
> +int
> +virConnectListDefinedInterfaces(virConnectPtr conn,
> + char **const names,
> + int maxnames)
> +{
> + DEBUG("conn=%p, names=%p, maxnames=%d", conn, names, maxnames);
> +
> + virResetLastError();
> +
> + if (!VIR_IS_CONNECT(conn)) {
> + virLibConnError(NULL, VIR_ERR_INVALID_CONN, __FUNCTION__);
> + return (-1);
> + }
> +
> + if ((names == NULL) || (maxnames < 0)) {
> + virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__);
> + goto error;
> + }
> +
> + if (conn->interfaceDriver && conn->interfaceDriver->listDefinedInterfaces) {
> + int ret;
> + ret = conn->interfaceDriver->listDefinedInterfaces (conn, names, maxnames);
> + if (ret < 0)
> + goto error;
> + return ret;
> + }
> +
> + virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
> +
> +error:
> + /* Copy to connection error object for back compatability */
> + virSetConnError(conn);
> + return -1;
> +}
> +
> +/**
> * virInterfaceLookupByName:
> * @conn: pointer to the hypervisor connection
> * @name: name for the interface
> --
ACK
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list