xref: /openbmc/qemu/qga/vss-win32/requester.h (revision 5accc840)
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