mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
This solution does not keep snapshots cache because vz sdk lacks good support for snapshot related events. Libvirt and vz sdk has different approach to snapshot ids. vz sdk always auto generate them while libvirt has ability to specify id by user. Thus I have no other choice rather than simply ignore ids set by user or generated by libvirt. Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> Signed-off-by: Maxim Nestratov <mnestratov@virtuozzo.com>
90 lines
3.4 KiB
C
90 lines
3.4 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);
|