gitlab: Keep Avocado reports during 1 week
[qemu/ar7.git] / qga / vss-win32 / requester.h
blob5a8e8faf0cea35f84d273deb2900327c5ee171ac
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 struct volList volList;
39 struct volList {
40 volList *next;
41 char *value;
44 typedef void (*QGAVSSRequesterFunc)(int *, void *, ErrorSet *);
45 void requester_freeze(int *num_vols, void *volList, ErrorSet *errset);
46 void requester_thaw(int *num_vols, void *volList, ErrorSet *errset);
48 #ifdef __cplusplus
50 #endif
52 #endif