1 /* 2 * QEMU Guest Agent VSS requester declarations 3 * 4 * Copyright Hitachi Data Systems Corp. 2013 5 * 6 * Authors: 7 * Tomoki Sekiyama <tomoki.sekiyama@hds.com> 8 * 9 * This work is licensed under the terms of the GNU GPL, version 2 or later. 10 * See the COPYING file in the top-level directory. 11 */ 12 13 #ifndef VSS_WIN32_REQUESTER_H 14 #define VSS_WIN32_REQUESTER_H 15 16 #include <basetyps.h> /* STDAPI */ 17 #include "qemu/compiler.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 struct Error; 24 25 /* Callback to set Error; used to avoid linking glib to the DLL */ 26 typedef void (*ErrorSetFunc)(struct Error **errp, int win32_err, 27 const char *fmt, ...) GCC_FMT_ATTR(3, 4); 28 typedef struct ErrorSet { 29 ErrorSetFunc error_setg_win32; 30 struct Error **errp; 31 } ErrorSet; 32 33 STDAPI requester_init(void); 34 STDAPI requester_deinit(void); 35 36 typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *); 37 void requester_freeze(int *num_vols, ErrorSet *errset); 38 void requester_thaw(int *num_vols, ErrorSet *errset); 39 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif 45