25#ifndef QDMI_CONSTANTS_H
26#define QDMI_CONSTANTS_H
68#define QDMI_CUSTOM_ENUM_VALUE_MIN 999999995
70#define QDMI_CUSTOM_ENUM_VALUE_MAX INT32_MAX
956#define QDMI_PROGRAM_ID_SIZE 64U
965#define QDMI_MAKE_VERSION(major, minor, patch) \
966 ((((uint32_t)(major) & 0x3FFU) << 22U) | \
967 (((uint32_t)(minor) & 0x3FFU) << 12U) | ((uint32_t)(patch) & 0xFFFU))
970#define QDMI_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x3FFU)
972#define QDMI_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
974#define QDMI_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
1051typedef struct QDMI_PROGRAM_FORMAT_T {
1067 "QDMI_Program_Format must be 136 bytes");
1069 "QDMI_Program_Format must have four-byte alignment");
1071 "QDMI_Program_Format.version must start at byte 0");
1073 "QDMI_Program_Format.encoding must start at byte 4");
1075 "QDMI_Program_Format.id must start at byte 8");
1077 "QDMI_Program_Format.profile must start at byte 72");
1089 if (lhs == NULL || rhs == NULL || lhs->
version != rhs->
version ||
1094 if (lhs->
id[index] != rhs->
id[index] ||
1103#define QDMI_PROGRAM_FEATURE_ID_SIZE 64U
1106#define QDMI_PROGRAM_CONSTRAINT_ID_SIZE 64U
1130typedef struct QDMI_PROGRAM_FEATURE_T {
1143#define QDMI_PROGRAM_FEATURE_UNCONSTRAINED(feature_id, feature_value) \
1144 {feature_id, feature_value, "", 0U}
1151#define QDMI_PROGRAM_FEATURE_MID_CIRCUIT_MEASUREMENT "mid-circuit-measurement"
1156#define QDMI_PROGRAM_FEATURE_MEASURED_QUBIT_REUSE "measured-qubit-reuse"
1162#define QDMI_PROGRAM_FEATURE_MEASUREMENT_RESULT_USE "measurement-result-use"
1168#define QDMI_PROGRAM_FEATURE_BOOLEAN_COMPUTATION "boolean-computation"
1174#define QDMI_PROGRAM_FEATURE_FORWARD_BRANCHING "forward-branching"
1180#define QDMI_PROGRAM_FEATURE_COUNTED_ITERATION "counted-iteration"
1185#define QDMI_PROGRAM_FEATURE_CONDITIONAL_LOOP "conditional-loop"
1191#define QDMI_PROGRAM_FEATURE_MULTIWAY_BRANCHING "multiway-branching"
1197#define QDMI_PROGRAM_FEATURE_INTEGER_COMPUTATION "integer-computation"
1203#define QDMI_PROGRAM_FEATURE_FLOAT_COMPUTATION "float-computation"
1209#define QDMI_PROGRAM_FEATURE_IR_FUNCTIONS "ir-functions"
1214#define QDMI_PROGRAM_FEATURE_MULTIPLE_RETURN_POINTS "multiple-return-points"
1219#define QDMI_PROGRAM_FEATURE_DYNAMIC_QUBIT_MANAGEMENT "dynamic-qubit-management"
1224#define QDMI_PROGRAM_FEATURE_DYNAMIC_RESULT_MANAGEMENT \
1225 "dynamic-result-management"
1231#define QDMI_PROGRAM_FEATURE_ARRAYS "arrays"
1239#define QDMI_PROGRAM_CONSTRAINT_MAX_CONTROL_FLOW_NESTING_DEPTH \
1240 "max-control-flow-nesting-depth"
1247#define QDMI_PROGRAM_CONSTRAINT_MAX_ITERATION_COUNT "max-iteration-count"
1253#define QDMI_PROGRAM_CONSTRAINT_MAX_CASE_COUNT "max-case-count"
QDMI_JOB_STATUS_T
Enum of the status a job can have.
Definition constants.h:932
@ QDMI_JOB_STATUS_CANCELED
The job was canceled, and the result is not available.
Definition constants.h:947
@ QDMI_JOB_STATUS_CREATED
The job was created and can be configured via QDMI_job_set_parameter.
Definition constants.h:937
@ QDMI_JOB_STATUS_SUBMITTED
The job was submitted.
Definition constants.h:939
@ QDMI_JOB_STATUS_QUEUED
The job was received, and is waiting to be executed.
Definition constants.h:941
@ QDMI_JOB_STATUS_FAILED
One or more programs failed, or another error occurred in the lifecycle.
Definition constants.h:949
@ QDMI_JOB_STATUS_RUNNING
The job is running, and the result is not yet available.
Definition constants.h:943
@ QDMI_JOB_STATUS_DONE
The job is done, and the result can be retrieved.
Definition constants.h:945
enum QDMI_DEVICE_STATUS_T QDMI_Device_Status
Device status type.
Definition constants.h:558
enum QDMI_JOB_STATUS_T QDMI_Job_Status
Job status type.
Definition constants.h:953
QDMI_DEVICE_JOB_PARAMETER_T
Enum of the device job parameters that can be set via QDMI_device_job_set_parameter.
Definition constants.h:183
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:224
@ QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:198
@ QDMI_DEVICE_JOB_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:207
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:214
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:193
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM4
Definition constants.h:220
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM2
Definition constants.h:216
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM5
Definition constants.h:222
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM3
Definition constants.h:218
QDMI_STATUS
Status codes returned by the API.
Definition constants.h:42
@ QDMI_ERROR_NOTFOUND
Element not found.
Definition constants.h:49
@ QDMI_ERROR_OUTOFMEM
Out of memory.
Definition constants.h:46
@ QDMI_ERROR_NOTSUPPORTED
Definition constants.h:53
@ QDMI_WARN_GENERAL
A general warning.
Definition constants.h:43
@ QDMI_ERROR_INVALIDARGUMENT
Invalid argument.
Definition constants.h:51
@ QDMI_ERROR_FATAL
A fatal error.
Definition constants.h:45
@ QDMI_SUCCESS
The operation was successful.
Definition constants.h:44
@ QDMI_ERROR_BADSTATE
Resource is in the wrong state for the operation.
Definition constants.h:55
@ QDMI_ERROR_OUTOFRANGE
Out of range.
Definition constants.h:50
@ QDMI_ERROR_NOTIMPLEMENTED
Not implemented.
Definition constants.h:47
@ QDMI_ERROR_PERMISSIONDENIED
Permission denied.
Definition constants.h:52
@ QDMI_ERROR_TIMEOUT
Operation timed out.
Definition constants.h:56
@ QDMI_ERROR_LIBNOTFOUND
Library not found.
Definition constants.h:48
#define QDMI_PROGRAM_ID_SIZE
Maximum bytes, including the terminating NUL, in a format or profile ID.
Definition constants.h:956
QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T
Enum to indicate the level of pulse support a device has.
Definition constants.h:1408
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_CHANNEL
The device supports pulse-level control at an abstraction level of QDMI_Pulse_Channel.
Definition constants.h:1431
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_NONE
The device does not support pulse-level control.
Definition constants.h:1410
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_SITEANDCHANNEL
The device supports pulse-level control at an abstraction level of QDMI_Site and QDMI_Pulse_Channel.
Definition constants.h:1438
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_SITE
The device supports pulse-level control at an abstraction level of QDMI_Site.
Definition constants.h:1421
enum QDMI_JOB_RESULT_T QDMI_Job_Result
Job result type.
Definition constants.h:1403
enum QDMI_DEVICE_JOB_PARAMETER_T QDMI_Device_Job_Parameter
Device job parameter type.
Definition constants.h:228
enum QDMI_SITE_PROPERTY_T QDMI_Site_Property
Site property type.
Definition constants.h:773
QDMI_SITE_PROPERTY_T
Definition constants.h:564
@ QDMI_SITE_PROPERTY_INDEX
size_t The unique index (or ID) to identify the site in a program.
Definition constants.h:576
@ QDMI_SITE_PROPERTY_XCOORDINATE
int64_t The raw, unscaled X-coordinate of the site.
Definition constants.h:623
@ QDMI_SITE_PROPERTY_ZEXTENT
uint64_t The raw, unscaled extent of a zone along the Z-axis.
Definition constants.h:728
@ QDMI_SITE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:759
@ QDMI_SITE_PROPERTY_CUSTOM4
Definition constants.h:765
@ QDMI_SITE_PROPERTY_XEXTENT
uint64_t The raw, unscaled extent of a zone along the X-axis.
Definition constants.h:696
@ QDMI_SITE_PROPERTY_CUSTOM2
Definition constants.h:761
@ QDMI_SITE_PROPERTY_CUSTOM3
Definition constants.h:763
@ QDMI_SITE_PROPERTY_T1
uint64_t The raw, unscaled T1 time of a site.
Definition constants.h:587
@ QDMI_SITE_PROPERTY_ISZONE
bool Whether the site is a zone.
Definition constants.h:680
@ QDMI_SITE_PROPERTY_T2
uint64_t The raw, unscaled T2 time of a site.
Definition constants.h:598
@ QDMI_SITE_PROPERTY_YEXTENT
uint64_t The raw, unscaled extent of a zone along the Y-axis.
Definition constants.h:712
@ QDMI_SITE_PROPERTY_MODULEINDEX
uint64_t an unsigned integer that uniquely identifies the module.
Definition constants.h:734
@ QDMI_SITE_PROPERTY_SUBMODULEINDEX
uint64_t an unsigned integer uniquely identifying the submodule within a module.
Definition constants.h:743
@ QDMI_SITE_PROPERTY_YCOORDINATE
int64_t The raw, unscaled Y-coordinate of the site.
Definition constants.h:643
@ QDMI_SITE_PROPERTY_ZCOORDINATE
int64_t The raw, unscaled Z-coordinate of the site.
Definition constants.h:663
@ QDMI_SITE_PROPERTY_NAME
Definition constants.h:603
@ QDMI_SITE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:752
@ QDMI_SITE_PROPERTY_CUSTOM5
Definition constants.h:767
@ QDMI_SITE_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:769
QDMI_DEVICE_JOB_PROPERTY_T
Enum of the device job properties that can be queried via QDMI_device_job_query_property as part of t...
Definition constants.h:237
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM5
Definition constants.h:319
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAM
void* The program to be executed.
Definition constants.h:267
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:311
@ QDMI_DEVICE_JOB_PROPERTY_QUEUEPOSITION
size_t The current number of jobs ahead of this job in its queue.
Definition constants.h:288
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:259
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM4
Definition constants.h:317
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAMSNUM
size_t The number of programs in the job.
Definition constants.h:295
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM3
Definition constants.h:315
@ QDMI_DEVICE_JOB_PROPERTY_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:273
@ QDMI_DEVICE_JOB_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:304
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM2
Definition constants.h:313
@ QDMI_DEVICE_JOB_PROPERTY_ID
char* (string) The job's ID.
Definition constants.h:248
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:321
#define QDMI_CUSTOM_ENUM_VALUE_MAX
Last value in every provider-defined enum range.
Definition constants.h:70
#define QDMI_CUSTOM_ENUM_VALUE_MIN
First value in every provider-defined enum range.
Definition constants.h:68
enum QDMI_DEVICE_JOB_PROPERTY_T QDMI_Device_Job_Property
Device job property type.
Definition constants.h:325
QDMI_DEVICE_SESSION_PARAMETER_T
Enum of the device session parameters that can be set via QDMI_device_session_set_parameter.
Definition constants.h:78
@ QDMI_DEVICE_SESSION_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:154
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:171
@ QDMI_DEVICE_SESSION_PARAMETER_PASSWORD
char* (string) The password to use for the session.
Definition constants.h:133
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4
Definition constants.h:167
@ QDMI_DEVICE_SESSION_PARAMETER_TOKEN
char* (string) A token to be used in the session initialization for authenticating with the device.
Definition constants.h:96
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5
Definition constants.h:169
@ QDMI_DEVICE_SESSION_PARAMETER_USERNAME
char* (string) The username to use for the device session.
Definition constants.h:126
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2
Definition constants.h:163
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3
Definition constants.h:165
@ QDMI_DEVICE_SESSION_PARAMETER_BASEURL
char* (string) The baseURL or API endpoint to be used for accessing the device within the session.
Definition constants.h:87
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:161
@ QDMI_DEVICE_SESSION_PARAMETER_CHILDDEVICE
QDMI_Child_Device The child device to establish the session with.
Definition constants.h:145
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHURL
char* (string) The URL to an authentication server used as part of the authentication procedure.
Definition constants.h:119
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE
char* (string) A file path to a file containing authentication information.
Definition constants.h:105
QDMI_DEVICE_STATUS_T
Enum of different status the device can be in.
Definition constants.h:539
@ QDMI_DEVICE_STATUS_IDLE
The device is idle.
Definition constants.h:541
@ QDMI_DEVICE_STATUS_OFFLINE
The device is offline.
Definition constants.h:540
@ QDMI_DEVICE_STATUS_ERROR
The device is in an error state.
Definition constants.h:543
@ QDMI_DEVICE_STATUS_MAX
The maximum value of the enum.
Definition constants.h:554
@ QDMI_DEVICE_STATUS_CALIBRATION
The device is in calibration.
Definition constants.h:545
@ QDMI_DEVICE_STATUS_MAINTENANCE
The device is in maintenance.
Definition constants.h:544
@ QDMI_DEVICE_STATUS_BUSY
The device is busy.
Definition constants.h:542
QDMI_JOB_RESULT_T
Enum of the formats the results can be returned in.
Definition constants.h:1260
@ QDMI_JOB_RESULT_PROBABILITIES_DENSE
double* (double list) The probabilities of the result.
Definition constants.h:1325
@ QDMI_JOB_RESULT_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:1399
@ QDMI_JOB_RESULT_MAX
The maximum value of the enum.
Definition constants.h:1382
@ QDMI_JOB_RESULT_STATEVECTOR_DENSE
double* (double list) The state vector of the result.
Definition constants.h:1316
@ QDMI_JOB_RESULT_HIST_KEYS
char* (string) The keys for the histogram of the results.
Definition constants.h:1300
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES
double* (double list) The values for the sparse probabilities of the result.
Definition constants.h:1362
@ QDMI_JOB_RESULT_PROGRAMOUTPUT
void* The complete format-native program output.
Definition constants.h:1373
@ QDMI_JOB_RESULT_HIST_VALUES
size_t* (size_t list) The values for the histogram of the results.
Definition constants.h:1306
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES
double* (double list) The values for the sparse state vector of the result.
Definition constants.h:1343
@ QDMI_JOB_RESULT_CUSTOM1
This enum value is reserved for a custom result.
Definition constants.h:1389
@ QDMI_JOB_RESULT_CUSTOM5
Definition constants.h:1397
@ QDMI_JOB_RESULT_CUSTOM2
Definition constants.h:1391
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS
char* (string) The keys for the sparse state vector of the result.
Definition constants.h:1334
@ QDMI_JOB_RESULT_SHOTS
char* (string) The results of the individual shots as a comma-separated list.
Definition constants.h:1288
@ QDMI_JOB_RESULT_CUSTOM4
Definition constants.h:1395
@ QDMI_JOB_RESULT_CUSTOM3
Definition constants.h:1393
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS
char* (string) The keys for the sparse probabilities of the result.
Definition constants.h:1353
QDMI_OPERATION_PROPERTY_T
Definition constants.h:780
@ QDMI_OPERATION_PROPERTY_CUSTOM2
Definition constants.h:913
@ QDMI_OPERATION_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:904
@ QDMI_OPERATION_PROPERTY_BLOCKINGRADIUS
uint64_t The raw, unscaled blocking radius of the operation.
Definition constants.h:837
@ QDMI_OPERATION_PROPERTY_ISZONED
bool Whether the operation is a zoned (global) operation.
Definition constants.h:864
@ QDMI_OPERATION_PROPERTY_QUBITSNUM
size_t The number of qubits involved in the operation.
Definition constants.h:784
@ QDMI_OPERATION_PROPERTY_NAME
char* (string) The string identifier of the operation.
Definition constants.h:782
@ QDMI_OPERATION_PROPERTY_PARAMETERSNUM
size_t The number of floating point parameters the operation takes.
Definition constants.h:786
@ QDMI_OPERATION_PROPERTY_INTERACTIONRADIUS
uint64_t The raw, unscaled interaction radius of the operation.
Definition constants.h:818
@ QDMI_OPERATION_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:911
@ QDMI_OPERATION_PROPERTY_CUSTOM3
Definition constants.h:915
@ QDMI_OPERATION_PROPERTY_DURATION
uint64_t The raw, unscaled duration of an operation.
Definition constants.h:797
@ QDMI_OPERATION_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:921
@ QDMI_OPERATION_PROPERTY_MEANSHUTTLINGSPEED
uint64_t The raw, unscaled mean shuttling speed of an operation.
Definition constants.h:895
@ QDMI_OPERATION_PROPERTY_CUSTOM5
Definition constants.h:919
@ QDMI_OPERATION_PROPERTY_IDLINGFIDELITY
double Fidelity of qubits idling during a global operation.
Definition constants.h:850
@ QDMI_OPERATION_PROPERTY_FIDELITY
double The fidelity of an operation.
Definition constants.h:799
@ QDMI_OPERATION_PROPERTY_SITES
QDMI_Site* (list) The sites to which the operation is applicable.
Definition constants.h:877
@ QDMI_OPERATION_PROPERTY_CUSTOM4
Definition constants.h:917
enum QDMI_DEVICE_SESSION_PARAMETER_T QDMI_Device_Session_Parameter
Device session parameter type.
Definition constants.h:175
enum QDMI_OPERATION_PROPERTY_T QDMI_Operation_Property
Operation property type.
Definition constants.h:925
enum QDMI_PROGRAM_ENCODING_T QDMI_Program_Encoding
Program encoding type.
Definition constants.h:985
QDMI_DEVICE_PROPERTY_T
Definition constants.h:334
@ QDMI_DEVICE_PROPERTY_ID
char* (string) The stable client-visible device identifier.
Definition constants.h:506
@ QDMI_DEVICE_PROPERTY_QUEUELENGTH
size_t The current number of jobs waiting to access the device.
Definition constants.h:486
@ QDMI_DEVICE_PROPERTY_MINATOMDISTANCE
uint64_t The raw, unscaled minimum required distance between qubits during quantum computation.
Definition constants.h:448
@ QDMI_DEVICE_PROPERTY_NAME
char* (string) The name of the device.
Definition constants.h:336
@ QDMI_DEVICE_PROPERTY_CHILDDEVICES
QDMI_Child_Device* (QDMI_Child_Device list) A list of device handles corresponding to the device's ch...
Definition constants.h:471
@ QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR
double A scale factor for all length values.
Definition constants.h:410
@ QDMI_DEVICE_PROPERTY_CUSTOM3
Definition constants.h:526
@ QDMI_DEVICE_PROPERTY_CUSTOM2
Definition constants.h:524
@ QDMI_DEVICE_PROPERTY_LENGTHUNIT
char* (string) The length unit reported by the device.
Definition constants.h:400
@ QDMI_DEVICE_PROPERTY_NEEDSCALIBRATION
size_t Whether the device needs calibration.
Definition constants.h:383
@ QDMI_DEVICE_PROPERTY_STATUS
QDMI_Device_Status The status of the device.
Definition constants.h:340
@ QDMI_DEVICE_PROPERTY_VERSION
char* (string) The version of the device.
Definition constants.h:338
@ QDMI_DEVICE_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition constants.h:532
@ QDMI_DEVICE_PROPERTY_LIBRARYVERSION
char* (string) The implemented version of QDMI.
Definition constants.h:342
@ QDMI_DEVICE_PROPERTY_PULSESUPPORT
QDMI_Device_Pulse_Support_Level Whether the device supports pulse-level control.
Definition constants.h:391
@ QDMI_DEVICE_PROPERTY_SUPPORTEDPROGRAMFORMATS
QDMI_Program_Format* (QDMI_Program_Format list) The exact program formats supported by the device.
Definition constants.h:457
@ QDMI_DEVICE_PROPERTY_QUBITSNUM
size_t The number of qubits in the device.
Definition constants.h:344
@ QDMI_DEVICE_PROPERTY_COUPLINGMAP
QDMI_Site* (QDMI_Site list) The coupling map of the device.
Definition constants.h:375
@ QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR
double A scale factor for all duration values.
Definition constants.h:429
@ QDMI_DEVICE_PROPERTY_OPERATIONS
QDMI_Operation* (QDMI_Operation list) The operations supported by the device.
Definition constants.h:363
@ QDMI_DEVICE_PROPERTY_DURATIONUNIT
char* (string) The duration unit reported by the device.
Definition constants.h:419
@ QDMI_DEVICE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:522
@ QDMI_DEVICE_PROPERTY_CUSTOM4
Definition constants.h:528
@ QDMI_DEVICE_PROPERTY_CUSTOM5
Definition constants.h:530
@ QDMI_DEVICE_PROPERTY_SITES
QDMI_Site* (QDMI_Site list) The sites of the device.
Definition constants.h:356
@ QDMI_DEVICE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:515
QDMI_PROGRAM_ENCODING_T
Encoding of a submitted payload.
Definition constants.h:977
@ QDMI_PROGRAM_ENCODING_BINARY
A nonempty arbitrary byte sequence.
Definition constants.h:981
@ QDMI_PROGRAM_ENCODING_TEXT
Text with exactly one trailing NUL and no earlier NUL.
Definition constants.h:979
#define QDMI_PROGRAM_CONSTRAINT_ID_SIZE
Maximum bytes, including the terminating NUL, in a constraint ID.
Definition constants.h:1106
enum QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T QDMI_Device_Pulse_Support_Level
Pulse support level type.
Definition constants.h:1442
#define QDMI_PROGRAM_FEATURE_ID_SIZE
Maximum bytes, including the terminating NUL, in a feature ID.
Definition constants.h:1103
enum QDMI_DEVICE_PROPERTY_T QDMI_Device_Property
Device property type.
Definition constants.h:536
One optional feature guarantee for an exact program format.
Definition constants.h:1130
char constraint_id[QDMI_PROGRAM_CONSTRAINT_ID_SIZE]
NUL-terminated constraint ID, or empty for no constraint.
Definition constants.h:1133
uint64_t value
Feature-specific value.
Definition constants.h:1132
uint64_t constraint_value
Constraint-specific value.
Definition constants.h:1135