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