]> git.proxmox.com Git - mirror_qemu.git/blame - qga/vss-win32/requester.h
Merge tag 'fixes-pull-request' of gitlab.com:marcandre.lureau/qemu into staging
[mirror_qemu.git] / qga / vss-win32 / requester.h
CommitLineData
b39297ae
TS
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
ba1c2931 16#include <basetyps.h> /* STDAPI */
b39297ae
TS
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
e7cf59e8
MA
22struct Error;
23
b39297ae 24/* Callback to set Error; used to avoid linking glib to the DLL */
1e9b65bb
MA
25typedef void (*ErrorSetFunc)(struct Error **errp,
26 const char *src, int line, const char *func,
27 int win32_err, const char *fmt, ...)
9edc6313 28 G_GNUC_PRINTF(6, 7);
b39297ae 29typedef struct ErrorSet {
e55eb806 30 ErrorSetFunc error_setg_win32_wrapper;
08e64640 31 struct Error **errp; /* restriction: must not be null */
b39297ae
TS
32} ErrorSet;
33
34STDAPI requester_init(void);
35STDAPI requester_deinit(void);
36
0692b03e
CH
37typedef struct volList volList;
38
39struct volList {
40 volList *next;
41 char *value;
42};
43
44typedef void (*QGAVSSRequesterFunc)(int *, void *, ErrorSet *);
45void requester_freeze(int *num_vols, void *volList, ErrorSet *errset);
46void requester_thaw(int *num_vols, void *volList, ErrorSet *errset);
b39297ae
TS
47
48#ifdef __cplusplus
49}
50#endif
51
52#endif