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 /* Callback to set Error; used to avoid linking glib to the DLL */ 24 typedef void (*ErrorSetFunc)(void **errp, int win32_err, int err_class, 25 const char *fmt, ...) GCC_FMT_ATTR(4, 5); 26 typedef struct ErrorSet { 27 ErrorSetFunc error_set; 28 void **errp; 29 int err_class; 30 } ErrorSet; 31 32 STDAPI requester_init(void); 33 STDAPI requester_deinit(void); 34 35 typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *); 36 void requester_freeze(int *num_vols, ErrorSet *errset); 37 void requester_thaw(int *num_vols, ErrorSet *errset); 38 39 #ifdef __cplusplus 40 } 41 #endif 42 43 #endif 44