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