/* * QEMU Guest Agent VSS requester declarations * * Copyright Hitachi Data Systems Corp. 2013 * * Authors: * Tomoki Sekiyama * * 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 /* 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, ...) G_GNUC_PRINTF(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