2008-11-04 23:22:06 +00:00
|
|
|
/*
|
|
|
|
* libvirt.h: publically exported APIs, not for public use
|
|
|
|
*
|
|
|
|
* Copyright (C) 2006-2008 Red Hat, Inc.
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*
|
2009-10-02 13:43:22 +00:00
|
|
|
* 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
|
2008-11-04 23:22:06 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LIBVIRT_H_
|
|
|
|
#define __LIBVIRT_H_
|
|
|
|
|
|
|
|
#include "internal.h"
|
|
|
|
|
|
|
|
#ifdef WITH_LIBVIRTD
|
2009-06-12 13:20:13 +00:00
|
|
|
int virStateInitialize(int privileged);
|
2008-11-17 11:03:25 +00:00
|
|
|
int virStateCleanup(void);
|
|
|
|
int virStateReload(void);
|
|
|
|
int virStateActive(void);
|
2008-11-04 23:22:06 +00:00
|
|
|
#endif
|
|
|
|
|
2009-10-02 13:43:22 +00:00
|
|
|
/* 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,
|
2009-09-17 17:10:04 +00:00
|
|
|
|
|
|
|
/* Driver supports peer-2-peer virDomainMigrate ie source host
|
|
|
|
* does all the prepare/perform/finish steps directly
|
|
|
|
*/
|
|
|
|
VIR_DRV_FEATURE_MIGRATION_P2P = 4,
|
|
|
|
|
|
|
|
/* Driver supports migration with only the source host involved,
|
|
|
|
* no libvirtd connetions on the destination at all, only the
|
|
|
|
* perform step is used.
|
|
|
|
*/
|
|
|
|
VIR_DRV_FEATURE_MIGRATION_DIRECT = 5,
|
2009-10-02 13:43:22 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2008-11-17 11:03:25 +00:00
|
|
|
int virDrvSupportsFeature (virConnectPtr conn, int feature);
|
2008-11-04 23:22:06 +00:00
|
|
|
|
2008-11-17 11:03:25 +00:00
|
|
|
int virDomainMigratePrepare (virConnectPtr dconn,
|
|
|
|
char **cookie,
|
|
|
|
int *cookielen,
|
|
|
|
const char *uri_in,
|
|
|
|
char **uri_out,
|
|
|
|
unsigned long flags,
|
|
|
|
const char *dname,
|
2009-10-02 14:05:11 +00:00
|
|
|
unsigned long resource);
|
2008-11-17 11:03:25 +00:00
|
|
|
int virDomainMigratePerform (virDomainPtr domain,
|
|
|
|
const char *cookie,
|
|
|
|
int cookielen,
|
|
|
|
const char *uri,
|
|
|
|
unsigned long flags,
|
|
|
|
const char *dname,
|
2009-10-02 14:05:11 +00:00
|
|
|
unsigned long resource);
|
2008-11-17 11:03:25 +00:00
|
|
|
virDomainPtr virDomainMigrateFinish (virConnectPtr dconn,
|
|
|
|
const char *dname,
|
|
|
|
const char *cookie,
|
|
|
|
int cookielen,
|
|
|
|
const char *uri,
|
|
|
|
unsigned long flags);
|
|
|
|
int virDomainMigratePrepare2 (virConnectPtr dconn,
|
|
|
|
char **cookie,
|
|
|
|
int *cookielen,
|
|
|
|
const char *uri_in,
|
|
|
|
char **uri_out,
|
|
|
|
unsigned long flags,
|
|
|
|
const char *dname,
|
2009-10-02 14:05:11 +00:00
|
|
|
unsigned long resource,
|
2008-11-17 11:03:25 +00:00
|
|
|
const char *dom_xml);
|
|
|
|
virDomainPtr virDomainMigrateFinish2 (virConnectPtr dconn,
|
|
|
|
const char *dname,
|
|
|
|
const char *cookie,
|
|
|
|
int cookielen,
|
|
|
|
const char *uri,
|
|
|
|
unsigned long flags,
|
|
|
|
int retcode);
|
2009-10-02 14:05:11 +00:00
|
|
|
int virDomainMigratePrepareTunnel(virConnectPtr dconn,
|
2009-09-30 10:51:54 +00:00
|
|
|
virStreamPtr st,
|
|
|
|
unsigned long flags,
|
|
|
|
const char *dname,
|
|
|
|
unsigned long resource,
|
|
|
|
const char *dom_xml);
|
2008-11-04 23:22:06 +00:00
|
|
|
|
|
|
|
#endif
|