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