46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * QEMU Guest Agent VSS requester declarations
 | 
						|
 *
 | 
						|
 * Copyright Hitachi Data Systems Corp. 2013
 | 
						|
 *
 | 
						|
 * Authors:
 | 
						|
 *  Tomoki Sekiyama   <tomoki.sekiyama@hds.com>
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | 
						|
 * See the COPYING file in the top-level directory.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef VSS_WIN32_REQUESTER_H
 | 
						|
#define VSS_WIN32_REQUESTER_H
 | 
						|
 | 
						|
#include <basetyps.h>           /* STDAPI */
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
struct Error;
 | 
						|
 | 
						|
/* Callback to set Error; used to avoid linking glib to the DLL */
 | 
						|
typedef void (*ErrorSetFunc)(struct Error **errp,
 | 
						|
                             const char *src, int line, const char *func,
 | 
						|
                             int win32_err, const char *fmt, ...)
 | 
						|
    GCC_FMT_ATTR(6, 7);
 | 
						|
typedef struct ErrorSet {
 | 
						|
    ErrorSetFunc error_setg_win32_wrapper;
 | 
						|
    struct Error **errp;        /* restriction: must not be null */
 | 
						|
} ErrorSet;
 | 
						|
 | 
						|
STDAPI requester_init(void);
 | 
						|
STDAPI requester_deinit(void);
 | 
						|
 | 
						|
typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *);
 | 
						|
void requester_freeze(int *num_vols, ErrorSet *errset);
 | 
						|
void requester_thaw(int *num_vols, ErrorSet *errset);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |