QDMI v1.3.4-dev
Quantum Device Management Interface
Loading...
Searching...
No Matches
QDMI_Program_Feature Struct Reference

One optional feature guarantee for an exact program format. More...

#include <constants.h>

Data Fields

char id [QDMI_PROGRAM_FEATURE_ID_SIZE]
 NUL-terminated feature ID.
uint64_t value
 Feature-specific value.
char constraint_id [QDMI_PROGRAM_CONSTRAINT_ID_SIZE]
 NUL-terminated constraint ID, or empty for no constraint.
uint64_t constraint_value
 Constraint-specific value.

Detailed Description

One optional feature guarantee for an exact program format.

id and constraint_id must be NUL-terminated, and every byte after the first NUL must be zero. QDMI reserves unqualified IDs for standard features and constraints. Vendor-defined IDs must be namespaced.

Records with the same id and value describe one feature group. An empty constraint_id means that the group is unrestricted and constraint_value must be zero. An unrestricted group contains exactly one record. Otherwise, every record in the group is one constraint and all constraints are conjunctive. A constrained group must not repeat a constraint ID. Different values for the same feature ID are alternatives, such as supported integer widths.

A client that does not understand a feature ignores it. A client that understands a feature must treat a group as unusable if it contains an unknown constraint or if any record violates a representation or grouping rule above. A group is also unusable if it applies a known constraint to a feature for which that constraint is not defined, or if a constraint documented as positive has value zero. Future QDMI revisions can add new typed constraints without weakening this fail-closed rule.


The documentation for this struct was generated from the following file: