+/**
+ * Power monitor condition.
+ */
+struct rte_vhost_power_monitor_cond {
+ /**< Address to monitor for changes */
+ volatile void *addr;
+ /**< If the `mask` is non-zero, location pointed
+ * to by `addr` will be read and masked, then
+ * compared with this value.
+ */
+ uint64_t val;
+ /**< 64-bit mask to extract value read from `addr` */
+ uint64_t mask;
+ /**< Data size (in bytes) that will be read from the
+ * monitored memory location (`addr`).
+ */
+ uint8_t size;
+ /**< If 1, and masked value that read from 'addr' equals
+ * 'val', the driver should skip core sleep. If 0, and
+ * masked value that read from 'addr' does not equal 'val',
+ * the driver should skip core sleep.
+ */
+ uint8_t match;
+};
+