]>
Commit | Line | Data |
---|---|---|
b39297ae TS |
1 | /* |
2 | * QEMU Guest Agent VSS requester declarations | |
3 | * | |
4 | * Copyright Hitachi Data Systems Corp. 2013 | |
5 | * | |
6 | * Authors: | |
7 | * Tomoki Sekiyama <[email protected]> | |
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 | ||
ba1c2931 | 16 | #include <basetyps.h> /* STDAPI */ |
b39297ae TS |
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 |