qvm_state_block

Base structure to describe a data element (typically in the guest)

Synopsis:

#include <qvm/types.h>
struct qvm_state_block {
    uint64_t location;
    uint32_t length;
    uint16_t type;
    uint16_t flags;
} ;

Data:

uint64_t location

The exact meaning of this field depends on the type field.

It is generally understood as an offset into the object implied by type. For instance, if it is QST_CPUREGS, location is the offset of a field that contains the value for a specific register in a CPU-dependent context structure.

This mechanism allows for writing type-agnostic code when managing data movement.

uint32_t length

The length of the data element, in bytes; not all lengths are valid for all types.

uint16_t type

A value from qvm_state_types.

uint16_t flags

A bitset of values from qvm_state_flags.