2017-04-10 15:06:15 +00:00
|
|
|
/*
|
|
|
|
* virsh-util.h: helpers for virsh
|
|
|
|
*
|
|
|
|
* 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/>.
|
|
|
|
*/
|
|
|
|
|
2019-06-18 16:13:15 +00:00
|
|
|
#pragma once
|
2017-04-10 15:06:15 +00:00
|
|
|
|
2019-06-18 16:13:15 +00:00
|
|
|
#include "virsh.h"
|
2017-04-10 15:06:15 +00:00
|
|
|
|
2019-06-18 16:13:15 +00:00
|
|
|
#include <libxml/parser.h>
|
|
|
|
#include <libxml/xpath.h>
|
2017-04-11 08:18:06 +00:00
|
|
|
|
|
|
|
virDomainPtr
|
|
|
|
virshLookupDomainBy(vshControl *ctl,
|
|
|
|
const char *name,
|
|
|
|
unsigned int flags);
|
|
|
|
|
|
|
|
virDomainPtr
|
|
|
|
virshCommandOptDomainBy(vshControl *ctl,
|
|
|
|
const vshCmd *cmd,
|
|
|
|
const char **name,
|
|
|
|
unsigned int flags);
|
|
|
|
|
|
|
|
virDomainPtr
|
|
|
|
virshCommandOptDomain(vshControl *ctl,
|
|
|
|
const vshCmd *cmd,
|
|
|
|
const char **name);
|
|
|
|
|
2019-09-09 08:36:39 +00:00
|
|
|
typedef virDomain virshDomain;
|
2017-04-11 10:16:52 +00:00
|
|
|
void
|
|
|
|
virshDomainFree(virDomainPtr dom);
|
2019-10-15 12:47:50 +00:00
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshDomain, virshDomainFree);
|
2017-04-11 10:16:52 +00:00
|
|
|
|
2021-08-10 15:15:40 +00:00
|
|
|
typedef virDomainCheckpoint virshDomainCheckpoint;
|
2019-03-13 21:04:51 +00:00
|
|
|
void
|
|
|
|
virshDomainCheckpointFree(virDomainCheckpointPtr chk);
|
2021-08-10 15:15:40 +00:00
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshDomainCheckpoint, virshDomainCheckpointFree);
|
2019-03-13 21:04:51 +00:00
|
|
|
|
2021-08-10 15:15:49 +00:00
|
|
|
typedef virDomainSnapshot virshDomainSnapshot;
|
2017-04-11 15:21:05 +00:00
|
|
|
void
|
|
|
|
virshDomainSnapshotFree(virDomainSnapshotPtr snap);
|
2021-08-10 15:15:49 +00:00
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshDomainSnapshot, virshDomainSnapshotFree);
|
2017-04-11 15:21:05 +00:00
|
|
|
|
2021-09-26 06:20:54 +00:00
|
|
|
typedef virInterface virshInterface;
|
|
|
|
void
|
|
|
|
virshInterfaceFree(virInterfacePtr iface);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshInterface, virshInterfaceFree);
|
|
|
|
|
2021-09-26 08:57:38 +00:00
|
|
|
typedef virNetwork virshNetwork;
|
|
|
|
void
|
|
|
|
virshNetworkFree(virNetworkPtr network);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshNetwork, virshNetworkFree);
|
|
|
|
|
2021-09-26 09:44:30 +00:00
|
|
|
typedef virNodeDevice virshNodeDevice;
|
|
|
|
void
|
|
|
|
virshNodeDeviceFree(virNodeDevicePtr device);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshNodeDevice, virshNodeDeviceFree);
|
|
|
|
|
2021-09-26 11:18:17 +00:00
|
|
|
typedef virNWFilter virshNWFilter;
|
|
|
|
void
|
|
|
|
virshNWFilterFree(virNWFilterPtr nwfilter);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshNWFilter, virshNWFilterFree);
|
|
|
|
|
2021-09-26 06:23:32 +00:00
|
|
|
typedef virSecret virshSecret;
|
|
|
|
void
|
|
|
|
virshSecretFree(virSecretPtr secret);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshSecret, virshSecretFree);
|
|
|
|
|
2021-09-26 07:25:41 +00:00
|
|
|
typedef virStoragePool virshStoragePool;
|
|
|
|
void
|
|
|
|
virshStoragePoolFree(virStoragePoolPtr pool);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshStoragePool, virshStoragePoolFree);
|
|
|
|
|
2021-09-26 08:28:06 +00:00
|
|
|
typedef virStorageVol virshStorageVol;
|
|
|
|
void
|
|
|
|
virshStorageVolFree(virStorageVolPtr vol);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshStorageVol, virshStorageVolFree);
|
|
|
|
|
2021-09-26 11:27:26 +00:00
|
|
|
typedef virStream virshStream;
|
|
|
|
void
|
|
|
|
virshStreamFree(virStreamPtr stream);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virshStream, virshStreamFree);
|
|
|
|
|
2017-04-10 15:06:15 +00:00
|
|
|
int
|
|
|
|
virshDomainState(vshControl *ctl,
|
|
|
|
virDomainPtr dom,
|
|
|
|
int *reason);
|
|
|
|
|
|
|
|
int
|
|
|
|
virshStreamSink(virStreamPtr st,
|
|
|
|
const char *bytes,
|
|
|
|
size_t nbytes,
|
|
|
|
void *opaque);
|
|
|
|
|
2016-04-27 12:21:10 +00:00
|
|
|
typedef struct _virshStreamCallbackData virshStreamCallbackData;
|
|
|
|
struct _virshStreamCallbackData {
|
|
|
|
vshControl *ctl;
|
|
|
|
int fd;
|
2020-07-02 06:51:20 +00:00
|
|
|
bool isBlock;
|
2016-04-27 12:21:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
virshStreamSource(virStreamPtr st,
|
|
|
|
char *bytes,
|
|
|
|
size_t nbytes,
|
|
|
|
void *opaque);
|
|
|
|
|
|
|
|
int
|
|
|
|
virshStreamSourceSkip(virStreamPtr st,
|
|
|
|
long long offset,
|
|
|
|
void *opaque);
|
|
|
|
|
2016-04-12 13:35:04 +00:00
|
|
|
int
|
|
|
|
virshStreamSkip(virStreamPtr st,
|
|
|
|
long long offset,
|
|
|
|
void *opaque);
|
|
|
|
|
2016-04-27 12:21:10 +00:00
|
|
|
int
|
|
|
|
virshStreamInData(virStreamPtr st,
|
|
|
|
int *inData,
|
|
|
|
long long *offset,
|
|
|
|
void *opaque);
|
|
|
|
|
2017-04-11 14:51:32 +00:00
|
|
|
int
|
|
|
|
virshDomainGetXMLFromDom(vshControl *ctl,
|
|
|
|
virDomainPtr dom,
|
|
|
|
unsigned int flags,
|
|
|
|
xmlDocPtr *xml,
|
|
|
|
xmlXPathContextPtr *ctxt)
|
|
|
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4)
|
2019-10-14 12:25:14 +00:00
|
|
|
ATTRIBUTE_NONNULL(5) G_GNUC_WARN_UNUSED_RESULT;
|
2017-04-11 14:51:32 +00:00
|
|
|
|
|
|
|
int
|
|
|
|
virshDomainGetXML(vshControl *ctl,
|
|
|
|
const vshCmd *cmd,
|
|
|
|
unsigned int flags,
|
|
|
|
xmlDocPtr *xml,
|
|
|
|
xmlXPathContextPtr *ctxt)
|
|
|
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4)
|
2019-10-14 12:25:14 +00:00
|
|
|
ATTRIBUTE_NONNULL(5) G_GNUC_WARN_UNUSED_RESULT;
|
2022-02-21 15:12:59 +00:00
|
|
|
|
|
|
|
VIR_ENUM_DECL(virshDomainBlockJob);
|
|
|
|
|
|
|
|
const char *
|
|
|
|
virshDomainBlockJobToString(int type);
|
2022-06-16 14:59:03 +00:00
|
|
|
|
|
|
|
bool
|
|
|
|
virshDumpXML(vshControl *ctl,
|
|
|
|
const char *xml,
|
|
|
|
const char *url,
|
|
|
|
const char *xpath,
|
|
|
|
bool wrap);
|