Merge remote-tracking branch 'luiz/queue/qmp' into staging
[qemu/raspi.git] / qga / vss-win32 / requester.h
blobcffec0179168db25b68a04818e5ce9c70ecaf4b1
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 "qemu/compiler.h"
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
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;
31 STDAPI requester_init(void);
32 STDAPI requester_deinit(void);
34 typedef void (*QGAVSSRequesterFunc)(int *, ErrorSet *);
35 void requester_freeze(int *num_vols, ErrorSet *errset);
36 void requester_thaw(int *num_vols, ErrorSet *errset);
38 #ifdef __cplusplus
40 #endif
42 #endif