"virDrvStateCleanup",
"virDrvStateReload",
"virDrvStateStop",
+ "virDrvStateShutdownPrepare",
+ "virDrvStateShutdownWait",
"virDrvConnectSupportsFeature",
"virDrvConnectURIProbe",
"virDrvDomainMigratePrepare",
typedef int
(*virDrvStateStop)(void);
+typedef int
+(*virDrvStateShutdownPrepare)(void);
+
+typedef int
+(*virDrvStateShutdownWait)(void);
+
typedef struct _virStateDriver virStateDriver;
typedef virStateDriver *virStateDriverPtr;
virDrvStateCleanup stateCleanup;
virDrvStateReload stateReload;
virDrvStateStop stateStop;
+ virDrvStateShutdownPrepare stateShutdownPrepare;
+ virDrvStateShutdownWait stateShutdownWait;
};
}
+/**
+ * virStateShutdownPrepare:
+ *
+ * Run each virtualization driver's shutdown prepare method.
+ *
+ * Returns 0 if all succeed, -1 upon any failure.
+ */
+int
+virStateShutdownPrepare(void)
+{
+ size_t i;
+
+ for (i = 0; i < virStateDriverTabCount; i++) {
+ if (virStateDriverTab[i]->stateShutdownPrepare &&
+ virStateDriverTab[i]->stateShutdownPrepare() < 0)
+ return -1;
+ }
+ return 0;
+}
+
+
+/**
+ * virStateShutdownWait:
+ *
+ * Run each virtualization driver's shutdown wait method.
+ *
+ * Returns 0 if all succeed, -1 upon any failure.
+ */
+int
+virStateShutdownWait(void)
+{
+ size_t i;
+
+ for (i = 0; i < virStateDriverTabCount; i++) {
+ if (virStateDriverTab[i]->stateShutdownWait &&
+ virStateDriverTab[i]->stateShutdownWait() < 0)
+ return -1;
+ }
+ return 0;
+}
+
+
/**
* virStateCleanup:
*
const char *root,
virStateInhibitCallback inhibit,
void *opaque);
+int virStateShutdownPrepare(void);
+int virStateShutdownWait(void);
int virStateCleanup(void);
int virStateReload(void);
int virStateStop(void);
virStateCleanup;
virStateInitialize;
virStateReload;
+virStateShutdownPrepare;
+virStateShutdownWait;
virStateStop;
virStreamInData;