Move the VIR_DRV_FEATURE* constants

Move the VIR_DRV_FEATURE* constants into libvirt_internal.h
since these flags are indicating whether  APIs in the
libvirt_internal.h file are supported by a driver

* src/driver.h: Remove VIR_DRV_FEATURE* constants
* src/libvirt_internal.h: Add VIR_DRV_FEATURE* constants, using
  an enum instead of #define
* src/internal.h: pull in libvirt_internal.h
This commit is contained in:
Daniel P. Berrange 2009-10-02 14:43:22 +01:00
parent ac33531a05
commit dd26096ad1
3 changed files with 29 additions and 19 deletions

View File

@ -44,25 +44,6 @@ typedef enum {
VIR_DRV_OPEN_ERROR = -2,
} virDrvOpenStatus;
/* Feature detection. This is a libvirt-private interface for determining
* what features are supported by the driver.
*
* The remote driver passes features through to the real driver at the
* remote end unmodified, except if you query a VIR_DRV_FEATURE_REMOTE*
* feature.
*/
/* Driver supports V1-style virDomainMigrate, ie. domainMigratePrepare/
* domainMigratePerform/domainMigrateFinish.
*/
#define VIR_DRV_FEATURE_MIGRATION_V1 1
/* Driver is not local. */
#define VIR_DRV_FEATURE_REMOTE 2
/* Driver supports V2-style virDomainMigrate, ie. domainMigratePrepare2/
* domainMigratePerform/domainMigrateFinish2.
*/
#define VIR_DRV_FEATURE_MIGRATION_V2 3
/* Internal feature-detection macro. Don't call drv->supports_feature
* directly, because it may be NULL, use this macro instead.

View File

@ -24,6 +24,8 @@
#include "libvirt/libvirt.h"
#include "libvirt/virterror.h"
#include "libvirt_internal.h"
/* On architectures which lack these limits, define them (ie. Cygwin).
* Note that the libvirt code should be robust enough to handle the
* case where actual value is longer than these limits (eg. by setting

View File

@ -17,6 +17,9 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* NB This file is ABI sensitive. Things here impact the wire
* protocol ABI in the remote driver. Same rules as for things
* include/libvirt/libvirt.h apply. ie this file is *append* only
*/
#ifndef __LIBVIRT_H_
@ -31,6 +34,30 @@ int virStateReload(void);
int virStateActive(void);
#endif
/* Feature detection. This is a libvirt-private interface for determining
* what features are supported by the driver.
*
* The remote driver passes features through to the real driver at the
* remote end unmodified, except if you query a VIR_DRV_FEATURE_REMOTE*
* feature.
*
*/
enum {
/* Driver supports V1-style virDomainMigrate, ie. domainMigratePrepare/
* domainMigratePerform/domainMigrateFinish.
*/
VIR_DRV_FEATURE_MIGRATION_V1 = 1,
/* Driver is not local. */
VIR_DRV_FEATURE_REMOTE = 2,
/* Driver supports V2-style virDomainMigrate, ie. domainMigratePrepare2/
* domainMigratePerform/domainMigrateFinish2.
*/
VIR_DRV_FEATURE_MIGRATION_V2 = 3,
};
int virDrvSupportsFeature (virConnectPtr conn, int feature);
int virDomainMigratePrepare (virConnectPtr dconn,