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