qemu/qga/vss-win32/requester.h
<<
>>
Prefs
   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
  53