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 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 struct Error; 23 24 /* Callback to set Error; used to avoid linking glib to the DLL */ 25 typedef void (*ErrorSetFunc)(struct Error **errp, 26 const char *src, int line, const char *func, 27 int win32_err, const char *fmt, ...) 28 GCC_FMT_ATTR(6, 7); 29 typedef struct ErrorSet { 30 ErrorSetFunc error_setg_win32_wrapper; 31 struct Error **errp; /* restriction: must not be null */ 32 } ErrorSet; 33 34 STDAPI requester_init(void); 35 STDAPI requester_deinit(void); 36 37 typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *); 38 void requester_freeze(int *num_vols, ErrorSet *errset); 39 void requester_thaw(int *num_vols, ErrorSet *errset); 40 41 #ifdef __cplusplus 42 } 43 #endif 44 45 #endif 46