[libvirt] [PATCH 1/3] Public API for new virInterface* functions, which facilitate

Daniel P. Berrange berrange at redhat.com
Thu Apr 2 18:34:51 UTC 2009


On Thu, Apr 02, 2009 at 02:18:38PM -0400, laine at laine.org wrote:
> From: Laine Stump <laine at redhat.com>

ACK, we've discussed this public API enough now :-) Will wait till
we have a driver using it before re-reviewing it agian.

Daniel

> diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h
> index 779ea72..f2e695a 100644
> --- a/include/libvirt/libvirt.h
> +++ b/include/libvirt/libvirt.h
> @@ -854,6 +854,83 @@ int                     virNetworkGetAutostart  (virNetworkPtr network,
>  int                     virNetworkSetAutostart  (virNetworkPtr network,
>                                                   int autostart);
>  
> +/*
> + * Physical host interface configuration API
> + */
> +
> +/**
> + * virInterface:
> + *
> + * a virInterface is a private structure representing a virtual interface.
> + */
> +typedef struct _virInterface virInterface;
> +
> +/**
> + * virInterfacePtr:
> + *
> + * a virInterfacePtr is pointer to a virInterface private structure, this is the
> + * type used to reference a virtual interface in the API.
> + */
> +typedef virInterface *virInterfacePtr;
> +
> +/*
> + * Get connection from interface.
> + */
> +virConnectPtr           virInterfaceGetConnect    (virInterfacePtr interface);
> +
> +/*
> + * List defined interfaces
> + */
> +int                     virConnectNumOfInterfaces (virConnectPtr conn);
> +int                     virConnectListInterfaces  (virConnectPtr conn,
> +                                                   char **const names,
> +                                                   int maxnames);
> +
> +/*
> + * Lookup interface by name or MAC address
> + */
> +virInterfacePtr         virInterfaceLookupByName  (virConnectPtr conn,
> +                                                   const char *name);
> +virInterfacePtr         virInterfaceLookupByMAC   (virConnectPtr conn,
> +                                                   const unsigned char *mac);
> +virInterfacePtr         virInterfaceLookupByMACString (virConnectPtr conn,
> +                                                       const char *mac);
> +
> +/*
> + * Define interface (or modify existing interface configuration)
> + */
> +virInterfacePtr         virInterfaceDefineXML     (virConnectPtr conn,
> +                                                   const char *xmlDesc,
> +                                                   int flags);
> +
> +/*
> + * Delete interface
> + */
> +int                     virInterfaceUndefine      (virInterfacePtr interface);
> +
> +/*
> + * Activate interface (ie call "ifup")
> + */
> +int                     virInterfaceCreate        (virInterfacePtr interface,
> +                                                   int flags);
> +
> +/*
> + * De-activate interface (call "ifdown")
> + */
> +int                     virInterfaceDestroy       (virInterfacePtr interface,
> +                                                   int flags);
> +
> +/*
> + * Interface information
> + */
> +const char*             virInterfaceGetName       (virInterfacePtr interface);
> +int                     virInterfaceGetMAC        (virInterfacePtr interface,
> +                                                   unsigned char *mac);
> +int                     virInterfaceGetMACString  (virInterfacePtr interface,
> +                                                   char *mac);
> +
> +char *                  virInterfaceGetXMLDesc    (virInterfacePtr interface,
> +                                                   int flags);
>  
>  /**
>   * virStoragePool:
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index a028b21..f2656a3 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -854,6 +854,83 @@ int                     virNetworkGetAutostart  (virNetworkPtr network,
>  int                     virNetworkSetAutostart  (virNetworkPtr network,
>                                                   int autostart);
>  
> +/*
> + * Physical host interface configuration API
> + */
> +
> +/**
> + * virInterface:
> + *
> + * a virInterface is a private structure representing a virtual interface.
> + */
> +typedef struct _virInterface virInterface;
> +
> +/**
> + * virInterfacePtr:
> + *
> + * a virInterfacePtr is pointer to a virInterface private structure, this is the
> + * type used to reference a virtual interface in the API.
> + */
> +typedef virInterface *virInterfacePtr;
> +
> +/*
> + * Get connection from interface.
> + */
> +virConnectPtr           virInterfaceGetConnect    (virInterfacePtr interface);
> +
> +/*
> + * List defined interfaces
> + */
> +int                     virConnectNumOfInterfaces (virConnectPtr conn);
> +int                     virConnectListInterfaces  (virConnectPtr conn,
> +                                                   char **const names,
> +                                                   int maxnames);
> +
> +/*
> + * Lookup interface by name or MAC address
> + */
> +virInterfacePtr         virInterfaceLookupByName  (virConnectPtr conn,
> +                                                   const char *name);
> +virInterfacePtr         virInterfaceLookupByMAC   (virConnectPtr conn,
> +                                                   const unsigned char *mac);
> +virInterfacePtr         virInterfaceLookupByMACString (virConnectPtr conn,
> +                                                       const char *mac);
> +
> +/*
> + * Define interface (or modify existing interface configuration)
> + */
> +virInterfacePtr         virInterfaceDefineXML     (virConnectPtr conn,
> +                                                   const char *xmlDesc,
> +                                                   int flags);
> +
> +/*
> + * Delete interface
> + */
> +int                     virInterfaceUndefine      (virInterfacePtr interface);
> +
> +/*
> + * Activate interface (ie call "ifup")
> + */
> +int                     virInterfaceCreate        (virInterfacePtr interface,
> +                                                   int flags);
> +
> +/*
> + * De-activate interface (call "ifdown")
> + */
> +int                     virInterfaceDestroy       (virInterfacePtr interface,
> +                                                   int flags);
> +
> +/*
> + * Interface information
> + */
> +const char*             virInterfaceGetName       (virInterfacePtr interface);
> +int                     virInterfaceGetMAC        (virInterfacePtr interface,
> +                                                   unsigned char *mac);
> +int                     virInterfaceGetMACString  (virInterfacePtr interface,
> +                                                   char *mac);
> +
> +char *                  virInterfaceGetXMLDesc    (virInterfacePtr interface,
> +                                                   int flags);
>  
>  /**
>   * virStoragePool:
> -- 
> 1.6.0.6
> 
> --
> Libvir-list mailing list
> Libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

-- 
|: 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