mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-28 00:25:23 +00:00
0eced74f34
The newest version of migration protocol - version 3 with parameters is implemented. Supported flags is VIR_MIGRATE_PAUSED only. Supported parameters are VIR_MIGRATE_PARAM_URI and VIR_MIGRATE_PARAM_DEST_NAME. VIR_MIGRATE_PARAM_DEST_XML is in VZ_MIGRATION_PARAMETERS for technical onyl reasons. Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> Signed-off-by: Maxim Nestratov <mnestratov@virtuozzo.com>
96 lines
3.6 KiB
C
96 lines
3.6 KiB
C
/*
|
|
* vz_sdk.h: core driver functions for managing
|
|
* Parallels Cloud Server hosts
|
|
*
|
|
* Copyright (C) 2014 Parallels, 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, see
|
|
* <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
#include <Parallels.h>
|
|
|
|
#include "vz_utils.h"
|
|
|
|
int prlsdkInit(void);
|
|
void prlsdkDeinit(void);
|
|
int prlsdkConnect(vzDriverPtr driver);
|
|
void prlsdkDisconnect(vzDriverPtr driver);
|
|
int
|
|
prlsdkLoadDomains(vzDriverPtr driver);
|
|
int prlsdkUpdateDomain(vzDriverPtr driver, virDomainObjPtr dom);
|
|
int
|
|
prlsdkLoadDomain(vzDriverPtr driver,
|
|
virDomainObjPtr dom);
|
|
int prlsdkSubscribeToPCSEvents(vzDriverPtr driver);
|
|
void prlsdkUnsubscribeFromPCSEvents(vzDriverPtr driver);
|
|
PRL_RESULT prlsdkStart(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkKill(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkStop(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkPause(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkResume(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkSuspend(PRL_HANDLE sdkdom);
|
|
PRL_RESULT prlsdkRestart(PRL_HANDLE sdkdom);
|
|
|
|
typedef PRL_RESULT (*prlsdkChangeStateFunc)(PRL_HANDLE sdkdom);
|
|
int
|
|
prlsdkDomainChangeState(virDomainPtr domain,
|
|
prlsdkChangeStateFunc chstate);
|
|
int
|
|
prlsdkDomainChangeStateLocked(vzDriverPtr driver,
|
|
virDomainObjPtr dom,
|
|
prlsdkChangeStateFunc chstate);
|
|
int
|
|
prlsdkApplyConfig(vzDriverPtr driver,
|
|
virDomainObjPtr dom,
|
|
virDomainDefPtr new);
|
|
int prlsdkCreateVm(vzDriverPtr driver, virDomainDefPtr def);
|
|
int prlsdkCreateCt(vzDriverPtr driver, virDomainDefPtr def);
|
|
int
|
|
prlsdkUnregisterDomain(vzDriverPtr driver, virDomainObjPtr dom, unsigned int flags);
|
|
int
|
|
prlsdkDomainManagedSaveRemove(virDomainObjPtr dom);
|
|
int
|
|
prlsdkAttachVolume(vzDriverPtr driver, virDomainObjPtr dom, virDomainDiskDefPtr disk);
|
|
int
|
|
prlsdkDetachVolume(virDomainObjPtr dom, virDomainDiskDefPtr disk);
|
|
int
|
|
prlsdkGetBlockStats(virDomainObjPtr dom, virDomainDiskDefPtr disk, virDomainBlockStatsPtr stats);
|
|
int
|
|
prlsdkAttachNet(vzDriverPtr driver, virDomainObjPtr dom, virDomainNetDefPtr net);
|
|
int
|
|
prlsdkDetachNet(vzDriverPtr driver, virDomainObjPtr dom, virDomainNetDefPtr net);
|
|
int
|
|
prlsdkGetNetStats(virDomainObjPtr dom, const char *path, virDomainInterfaceStatsPtr stats);
|
|
int
|
|
prlsdkGetVcpuStats(virDomainObjPtr dom, int idx, unsigned long long *time);
|
|
int
|
|
prlsdkGetMemoryStats(virDomainObjPtr dom, virDomainMemoryStatPtr stats, unsigned int nr_stats);
|
|
void
|
|
prlsdkDomObjFreePrivate(void *p);
|
|
/* memsize is in MiB */
|
|
int prlsdkSetMemsize(virDomainObjPtr dom, unsigned int memsize);
|
|
|
|
virDomainSnapshotObjListPtr prlsdkLoadSnapshots(virDomainObjPtr dom);
|
|
int prlsdkCreateSnapshot(virDomainObjPtr dom, const char *description);
|
|
int prlsdkDeleteSnapshot(virDomainObjPtr dom, const char *uuid, bool children);
|
|
int prlsdkSwitchToSnapshot(virDomainObjPtr dom, const char *uuid, bool paused);
|
|
int
|
|
prlsdkMigrate(virDomainObjPtr dom,
|
|
virURIPtr uri,
|
|
const char unsigned *session_uuid,
|
|
const char *dname,
|
|
unsigned int flags);
|