52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/*
|
|
* QEMU Guest Agent VSS requester declarations
|
|
*
|
|
* Copyright Hitachi Data Systems Corp. 2013
|
|
*
|
|
* Authors:
|
|
* Tomoki Sekiyama <tomoki.sekiyama@hds.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef VSS_WIN32_REQUESTER_H
|
|
#define VSS_WIN32_REQUESTER_H
|
|
|
|
#include <basetyps.h> /* STDAPI */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct Error;
|
|
|
|
/* Callback to set Error; used to avoid linking glib to the DLL */
|
|
typedef void (*ErrorSetFunc)(struct Error **errp,
|
|
const char *src, int line, const char *func,
|
|
int win32_err, const char *fmt, ...)
|
|
GCC_FMT_ATTR(6, 7);
|
|
typedef struct ErrorSet {
|
|
ErrorSetFunc error_setg_win32_wrapper;
|
|
struct Error **errp; /* restriction: must not be null */
|
|
} ErrorSet;
|
|
|
|
STDAPI requester_init(void);
|
|
STDAPI requester_deinit(void);
|
|
|
|
typedef struct volList volList;
|
|
|
|
struct volList {
|
|
volList *next;
|
|
char *value;
|
|
};
|
|
|
|
typedef void (*QGAVSSRequesterFunc)(int *, void *, ErrorSet *);
|
|
void requester_freeze(int *num_vols, void *volList, ErrorSet *errset);
|
|
void requester_thaw(int *num_vols, void *volList, ErrorSet *errset);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|