requester.h (1283B)
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 16#include <basetyps.h> /* STDAPI */ 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22struct Error; 23 24/* Callback to set Error; used to avoid linking glib to the DLL */ 25typedef 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); 29typedef struct ErrorSet { 30 ErrorSetFunc error_setg_win32_wrapper; 31 struct Error **errp; /* restriction: must not be null */ 32} ErrorSet; 33 34STDAPI requester_init(void); 35STDAPI requester_deinit(void); 36 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); 47 48#ifdef __cplusplus 49} 50#endif 51 52#endif