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