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
2020-01-24 15:24:49 +01:00
typedef virSecret virshSecret ;
void
virshSecretFree ( virSecretPtr secret ) ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC ( virshSecret , virshSecretFree ) ;
2019-03-13 16:04:51 -05:00
void
virshDomainCheckpointFree ( virDomainCheckpointPtr chk ) ;
2017-04-11 17:21:05 +02:00
void
virshDomainSnapshotFree ( virDomainSnapshotPtr snap ) ;
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 ;
typedef virshStreamCallbackData * virshStreamCallbackDataPtr ;
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
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 ;