Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging
[qemu/ar7.git] / qga / vss-win32 / requester.h
blob2a39d734a2cde622181d9d418a05d2554628ea19
1 /*
2 * QEMU Guest Agent VSS requester declarations
4 * Copyright Hitachi Data Systems Corp. 2013
6 * Authors:
7 * Tomoki Sekiyama <tomoki.sekiyama@hds.com>
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.
13 #ifndef VSS_WIN32_REQUESTER_H
14 #define VSS_WIN32_REQUESTER_H
16 #include <basetyps.h> /* STDAPI */
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
22 struct Error;
24 /* Callback to set Error; used to avoid linking glib to the DLL */
25 typedef void (*ErrorSetFunc)(struct Error **errp,
26 const char *src, int line, const char *func,
27 int win32_err, const char *fmt, ...)
28 GCC_FMT_ATTR(6, 7);
29 typedef struct ErrorSet {
30 ErrorSetFunc error_setg_win32_wrapper;
31 struct Error **errp; /* restriction: must not be null */
32 } ErrorSet;
34 STDAPI requester_init(void);
35 STDAPI requester_deinit(void);
37 typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *);
38 void requester_freeze(int *num_vols, ErrorSet *errset);
39 void requester_thaw(int *num_vols, ErrorSet *errset);
41 #ifdef __cplusplus
43 #endif
45 #endif