# `constants.h`

Defines all enums used within QDMI across the client_interface and the [QDMI Device Interface](device.html.md#group__device__interface). 

### Defines

### QDMI_MAKE_VERSION(major, minor, patch)

Pack a Semantic Versioning release into 32 bits. Major and minor must fit in 10 bits each, and patch must fit in 12 bits. 

### QDMI_VERSION_MAJOR(version)

Extract the major component of a packed version. 

### QDMI_VERSION_MINOR(version)

Extract the minor component of a packed version. 

### QDMI_VERSION_PATCH(version)

Extract the patch component of a packed version. 

### QDMI_IS_INVALID_ENUM_VALUE(value, PREFIX)

Check whether an enum value is outside its standard and custom ranges. Reserved standard values below PREFIX_MAX remain valid inputs that the implementation reports as unsupported. 

### Typedefs

### typedef enum [QDMI_DEVICE_SESSION_PARAMETER_T](#_CPPv431QDMI_DEVICE_SESSION_PARAMETER_T) QDMI_Device_Session_Parameter

Device session parameter type. 

### typedef enum [QDMI_DEVICE_JOB_PARAMETER_T](#_CPPv427QDMI_DEVICE_JOB_PARAMETER_T) QDMI_Device_Job_Parameter

Device job parameter type. 

### typedef enum [QDMI_DEVICE_JOB_PROPERTY_T](#_CPPv426QDMI_DEVICE_JOB_PROPERTY_T) QDMI_Device_Job_Property

Device job property type. 

### typedef enum [QDMI_DEVICE_PROPERTY_T](#_CPPv422QDMI_DEVICE_PROPERTY_T) QDMI_Device_Property

Device property type. 

### typedef enum [QDMI_DEVICE_STATUS_T](#_CPPv420QDMI_DEVICE_STATUS_T) QDMI_Device_Status

Device status type. 

### typedef enum [QDMI_SITE_PROPERTY_T](#_CPPv420QDMI_SITE_PROPERTY_T) QDMI_Site_Property

Site property type. 

### typedef enum [QDMI_OPERATION_PROPERTY_T](#_CPPv425QDMI_OPERATION_PROPERTY_T) QDMI_Operation_Property

Operation property type. 

### typedef enum [QDMI_JOB_STATUS_T](#_CPPv417QDMI_JOB_STATUS_T) QDMI_Job_Status

Job status type. 

### typedef enum [QDMI_PROGRAM_FORMAT_T](#_CPPv421QDMI_PROGRAM_FORMAT_T) QDMI_Program_Format

Program format type. 

### typedef enum [QDMI_JOB_RESULT_T](#_CPPv417QDMI_JOB_RESULT_T) QDMI_Job_Result

Job result type. 

### Enums

### enum QDMI_STATUS

Status codes returned by the API. 

*Values:*

### enumerator QDMI_WARN_GENERAL

A general warning. 

### enumerator QDMI_SUCCESS

The operation was successful. 

### enumerator QDMI_ERROR_FATAL

A fatal error. 

### enumerator QDMI_ERROR_OUTOFMEM

Out of memory. 

### enumerator QDMI_ERROR_NOTIMPLEMENTED

Not implemented. 

### enumerator QDMI_ERROR_LIBNOTFOUND

Library not found. 

### enumerator QDMI_ERROR_NOTFOUND

Element not found. 

### enumerator QDMI_ERROR_OUTOFRANGE

Out of range. 

### enumerator QDMI_ERROR_INVALIDARGUMENT

Invalid argument. 

### enumerator QDMI_ERROR_PERMISSIONDENIED

Permission denied. 

### enumerator QDMI_ERROR_NOTSUPPORTED

Operation is not supported. 

### enumerator QDMI_ERROR_BADSTATE

Resource is in the wrong state for the operation. 

### enumerator QDMI_ERROR_TIMEOUT

Operation timed out. 

### enum QDMI_DEVICE_SESSION_PARAMETER_T

Enum of the device session parameters that can be set via [IQM_QDMI_device_session_set_parameter](device.html.md#group__device__session__interface_1ga99ac380422ce730245d895c0eb95e3c1). 

If not noted otherwise, parameters are optional and devices must not require them to be set. 

*Values:*

### enumerator QDMI_DEVICE_SESSION_PARAMETER_BASEURL

`char*` (string) The baseURL or API endpoint to be used for accessing the device within the session. 

If this parameter is set and the device supports it, the device must use the specified baseURL or API endpoint for the session. Devices may use this parameter to switch between different versions of the API or different endpoints for testing or production environments. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_TOKEN

`char*` (string) A token to be used in the session initialization for authenticating with the device. 

A token could be an API key. The device documentation *must* document what kind of token is required and how it is used. If the device requires authentication via a token, this parameter must be set before calling [IQM_QDMI_device_session_init](device.html.md#group__device__session__interface_1gad6f9dbb2fd2c6923d686fa17009d350c). 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE

`char*` (string) A file path to a file containing authentication information. 

The file may contain a token or other authentication information required for the session. The device documentation *must* document whether the implementation requires this parameter to be set and what kind of authentication information is expected in the file. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_AUTHURL

`char*` (string) The URL to an authentication server used as part of the authentication procedure. 

This parameter might be used as part of an authentication scheme where an API token is received from an authentication server. This may, additionally, require a username and a password, which can be set via the [QDMI_DEVICE_SESSION_PARAMETER_USERNAME](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a5588159e3e38ae5186eebc2b9fc2cac7) and [QDMI_DEVICE_SESSION_PARAMETER_PASSWORD](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a29fd3a0ea9c9f2e06ea50c032cd78ea0) parameters.

**The device documentation *must* document if the implementation**
: requires this parameter to be set and which additional parameters need to be set in case this authentication method is used. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_USERNAME

`char*` (string) The username to use for the device session. 

The username is used for authentication within the session. The device documentation *must* document when the implementation requires this parameter to be set. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_PASSWORD

`char*` (string) The password to use for the session. 

The password is used for authentication within the session. The device documentation *must* document if the implementation requires this parameter to be set. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CHILDDEVICE

`[IQM_QDMI_Child_Device](device.html.md#group__device__interface_1gaba6793ac931df43b10ce903450d5be86)` The child device to establish the session with. 

If the device manages child devices, a QDMI driver can establish a session with those child devices by setting this session parameter to the respective [IQM_QDMI_Child_Device](device.html.md#group__device__interface_1gaba6793ac931df43b10ce903450d5be86) handle. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_CHILDDEVICES](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a223cba616b016a4b33e06b53854a18f6)

: After initialization of this session, the device will forward any function call on this session to the job or query interface of the child device. 

#### NOTE
This parameter can be unset by setting this parameter to `NULL`. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1

This enum value is reserved for a custom parameter. 

The device defines the meaning and the type of this parameter. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2

#### SEE ALSO
[QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a90b1f07e865a147dfba3d1531b4f8275)

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3

#### SEE ALSO
[QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a90b1f07e865a147dfba3d1531b4f8275)

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4

#### SEE ALSO
[QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a90b1f07e865a147dfba3d1531b4f8275)

### enumerator QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5

#### SEE ALSO
[QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1](#constants_8h_1a9f1e467b2b3870263b0e9d7e5d36cea4a90b1f07e865a147dfba3d1531b4f8275)

### enum QDMI_DEVICE_JOB_PARAMETER_T

Enum of the device job parameters that can be set via [IQM_QDMI_device_job_set_parameter](device.html.md#group__device__job__interface_1gaf6a0e5a14e7cc81d9af3a1ff4fcad760). 

If not noted otherwise, parameters are optional and devices must not require them to be set. 

*Values:*

### enumerator QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM

`size_t` The number of shots to execute for each program in a job. 

Value 0 is reserved for the removed program format parameter; do not reuse it. Value 1 is reserved for the removed program parameter; do not reuse it.

If this parameter is not set, a device-specific default is used. 

### enumerator QDMI_DEVICE_JOB_PARAMETER_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_DEVICE_JOB_PARAMETER_CUSTOM1

This enum value is reserved for a custom parameter. 

The device defines the meaning and the type of this parameter. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_DEVICE_JOB_PARAMETER_CUSTOM2

#### SEE ALSO
[QDMI_DEVICE_JOB_PARAMETER_CUSTOM1](#constants_8h_1a40dd25c531ebf99fb4b46469083b609ea59a7b1b3e9da8f9b71b0aec5fd1eb0d9)

### enumerator QDMI_DEVICE_JOB_PARAMETER_CUSTOM3

#### SEE ALSO
[QDMI_DEVICE_JOB_PARAMETER_CUSTOM1](#constants_8h_1a40dd25c531ebf99fb4b46469083b609ea59a7b1b3e9da8f9b71b0aec5fd1eb0d9)

### enumerator QDMI_DEVICE_JOB_PARAMETER_CUSTOM4

#### SEE ALSO
[QDMI_DEVICE_JOB_PARAMETER_CUSTOM1](#constants_8h_1a40dd25c531ebf99fb4b46469083b609ea59a7b1b3e9da8f9b71b0aec5fd1eb0d9)

### enumerator QDMI_DEVICE_JOB_PARAMETER_CUSTOM5

#### SEE ALSO
[QDMI_DEVICE_JOB_PARAMETER_CUSTOM1](#constants_8h_1a40dd25c531ebf99fb4b46469083b609ea59a7b1b3e9da8f9b71b0aec5fd1eb0d9)

### enum QDMI_DEVICE_JOB_PROPERTY_T

Enum of the device job properties that can be queried via [IQM_QDMI_device_job_query_property](device.html.md#group__device__job__interface_1ga08c698fecf68b09d15d68e8c8453c3a6) as part of the [device interface](device.html.md#group__device__interface). 

In particular, every parameter’s value that can be set via [IQM_QDMI_device_job_set_parameter](device.html.md#group__device__job__interface_1gaf6a0e5a14e7cc81d9af3a1ff4fcad760) can be queried. 

*Values:*

### enumerator QDMI_DEVICE_JOB_PROPERTY_ID

`char*` (string) The job’s ID. 

The ID must uniquely identify a job for the specific device. It should generally be universally unique (such as a UUID), to avoid conflicts with other devices’ job IDs. It may be used with [IQM_QDMI_device_session_retrieve_device_job_by_id](device.html.md#group__device__job__interface_1gad2bc9ec6c329bb18fd293a876e409488) to obtain a new [IQM_QDMI_Device_Job](device.html.md#group__device__job__interface_1ga65ea98ebf0a28ceb649372f4876be01f) handle for an existing remote job. It may, for example, correspond to the job ID provided by the device’s API or may be generated by the QDMI Device implementation. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_PROGRAMFORMAT

[QDMI_Program_Format](#constants_8h_1a475336f0c08bd0218dd76a6016098231) The format of the program to be executed. 

A query returns [QDMI_ERROR_BADSTATE](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a916e0810bf915e2ad67f2c1430c54fec) until a format is set, or [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) if a retrieved job has no format metadata. This property returns the format set through [IQM_QDMI_device_job_set_programs](device.html.md#group__device__job__interface_1ga42f63c106a73e6a5ef87d20f4303e3c6). 

### enumerator QDMI_DEVICE_JOB_PROPERTY_SHOTSNUM

Value 2 is reserved for the removed program property; do not reuse it. 

`size_t` The number of shots to execute for each program in a job. 

#### NOTE
This property returns the value of the [QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM](#constants_8h_1a40dd25c531ebf99fb4b46469083b609ea4ecec990e69afb205f9801433be37b26) parameter. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_QUEUEPOSITION

`size_t` The current number of jobs ahead of this job in its queue. 

Querying this property must refresh the job’s status and queue position. The property can only be queried while the refreshed status is [QDMI_JOB_STATUS_QUEUED](#constants_8h_1a04e5c793bcbe8b354a9223bb60f828a6a8af19691cae44fb6816555b1c087e6e8); otherwise, the query must return [QDMI_ERROR_BADSTATE](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a916e0810bf915e2ad67f2c1430c54fec). 

: If the provider only exposes a lower bound, the implementation reports that lower bound. For example, a provider value of `>50` is reported as `50`. 

: The property may yield [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) if the implementation cannot obtain a trustworthy queue position. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_PROGRAMSNUM

`size_t` The number of programs in the job. 

A single-program job reports one. A job has no program count until its program payload has been set; a query before that returns [QDMI_ERROR_BADSTATE](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a916e0810bf915e2ad67f2c1430c54fec). The count remains stable after submission. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_CUSTOM1

This enum value is reserved for a custom parameter. 

The device defines the meaning and the type of this parameter. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_DEVICE_JOB_PROPERTY_CUSTOM2

#### SEE ALSO
[QDMI_DEVICE_JOB_PROPERTY_CUSTOM1](#constants_8h_1a6e4d18c7fa5d383bbcc1498abe090d4fa19282bf485e4af273b4cfff5290540d6)

### enumerator QDMI_DEVICE_JOB_PROPERTY_CUSTOM3

#### SEE ALSO
[QDMI_DEVICE_JOB_PROPERTY_CUSTOM1](#constants_8h_1a6e4d18c7fa5d383bbcc1498abe090d4fa19282bf485e4af273b4cfff5290540d6)

### enumerator QDMI_DEVICE_JOB_PROPERTY_CUSTOM4

#### SEE ALSO
[QDMI_DEVICE_JOB_PROPERTY_CUSTOM1](#constants_8h_1a6e4d18c7fa5d383bbcc1498abe090d4fa19282bf485e4af273b4cfff5290540d6)

### enumerator QDMI_DEVICE_JOB_PROPERTY_CUSTOM5

#### SEE ALSO
[QDMI_DEVICE_JOB_PROPERTY_CUSTOM1](#constants_8h_1a6e4d18c7fa5d383bbcc1498abe090d4fa19282bf485e4af273b4cfff5290540d6)

### enum QDMI_DEVICE_PROPERTY_T

Enum of the device properties that can be queried via [IQM_QDMI_device_session_query_device_property](device.html.md#group__device__query__interface_1ga7aa9e25ee75e0f92b05447d95f30f55a) as part of the [device interface](device.html.md#group__device__interface) and via QDMI_device_query_device_property as part of the client interface. 

*Values:*

### enumerator QDMI_DEVICE_PROPERTY_NAME

`char*` (string) The name of the device. 

### enumerator QDMI_DEVICE_PROPERTY_VERSION

`char*` (string) The version of the device. 

### enumerator QDMI_DEVICE_PROPERTY_STATUS

[QDMI_Device_Status](#constants_8h_1a0ae270851e3adac50d4584088ebe67d4) The status of the device. 

### enumerator QDMI_DEVICE_PROPERTY_LIBRARYVERSION

`char*` (string) The implemented version of QDMI. 

### enumerator QDMI_DEVICE_PROPERTY_QUBITSNUM

`size_t` The number of qubits in the device. 

### enumerator QDMI_DEVICE_PROPERTY_SITES

`IQM_QDMI_Site*` ([IQM_QDMI_Site](types.html.md#types_8h_1a49a94566e4841f7bb9ba13b569f2a4cc) list) The sites of the device. 

The returned [IQM_QDMI_Site](types.html.md#types_8h_1a49a94566e4841f7bb9ba13b569f2a4cc) handles may be used to query site and operation properties. The list need not be sorted based on the [QDMI_SITE_PROPERTY_INDEX](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a02a5ff9f7dfc10bb579e93d95bef06cf). 

: The list returned by this property contains all sites of the device, i.e., regular and zone sites (see [QDMI_SITE_PROPERTY_ISZONE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a646160af05c1eb2c97b9f272db3a4375)). To filter out regular or zone sites, use the function QDMI_device_query_site_property. 

### enumerator QDMI_DEVICE_PROPERTY_OPERATIONS

`IQM_QDMI_Operation*` ([IQM_QDMI_Operation](types.html.md#types_8h_1ab28bebca289216bf63a43768fc7d2e95) list) The operations supported by the device. 

The returned [IQM_QDMI_Operation](types.html.md#types_8h_1ab28bebca289216bf63a43768fc7d2e95) handles may be used to query operation properties. 

### enumerator QDMI_DEVICE_PROPERTY_COUPLINGMAP

`IQM_QDMI_Site*` ([IQM_QDMI_Site](types.html.md#types_8h_1a49a94566e4841f7bb9ba13b569f2a4cc) list) The coupling map of the device. 

The returned list contains pairs of sites that are coupled. The pairs in the list are flattened such that the first site of the pair is at index `2n` and the second site is at index `2n+1`.

The sites returned in that list are represented as [IQM_QDMI_Site](types.html.md#types_8h_1a49a94566e4841f7bb9ba13b569f2a4cc) handles. For example, consider a 3-site device with a coupling map `(0, 1), (1, 2)`. Additionally, assume `site_i` is the handle for the i-th site. Then, `{site_0, site_1, site_1, site_2}` would be returned. 

### enumerator QDMI_DEVICE_PROPERTY_LENGTHUNIT

`char*` (string) The length unit reported by the device. 

Value 8 is reserved for the removed calibration advisory; do not reuse it. Value 9 is reserved for the removed pulse metadata; do not reuse it.

The device implementation must report a known SI unit (e.g., “mm”, “um”, or “nm”) for this property. A client querying a length value must first scale it using [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f). The resulting value is then interpreted in the unit specified by this property. 

#### NOTE
If the device reports any length values, this property must be set. 

### enumerator QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR

`double` A scale factor for all length values. 

The device implementation reports this scale factor. A client must multiply any raw length value received from the device by this factor to obtain the physical length. The unit of the physical length is given by [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
If querying this property returns [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651), a client should assume a default value of `1.0`. 

### enumerator QDMI_DEVICE_PROPERTY_DURATIONUNIT

`char*` (string) The duration unit reported by the device. 

The device implementation must report a known SI unit (e.g., “ms”, “us”, or “ns”) for this property. A client querying a duration value must first scale it using [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848). The resulting value is then interpreted in the unit specified by this property. 

#### NOTE
If the device reports any duration values, this property must be set. 

### enumerator QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR

`double` A scale factor for all duration values. 

The device implementation reports this scale factor. A client must multiply any raw duration value received from the device by this factor to obtain the physical duration. The unit of the physical duration is given by [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8). 

#### NOTE
If querying this property returns [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651), a client should assume a default value of `1.0`. 

### enumerator QDMI_DEVICE_PROPERTY_MINATOMDISTANCE

`uint64_t` The raw, unscaled minimum required distance between qubits during quantum computation. 

For neutral atom-based devices, qubits (atoms) can be repositioned dynamically. However, a minimum separation must be maintained to prevent collisions and loss of atoms. This property specifies the minimum atom distance. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR 

: To obtain the physical minimum atom distance, a client must scale the raw value of this property. The physical minimum atom distance is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
Primarily relevant for neutral atom devices supporting dynamic atom arrangement. 

### enumerator QDMI_DEVICE_PROPERTY_SUPPORTEDPROGRAMFORMATS

`QDMI_Program_Format*` ([QDMI_Program_Format](#constants_8h_1a475336f0c08bd0218dd76a6016098231) list) The program formats supported by the device. 

The returned list contains all program formats that the device supports for execution. A client can use this information to determine which program formats can be used when submitting jobs to the device. 

### enumerator QDMI_DEVICE_PROPERTY_CHILDDEVICES

`IQM_QDMI_Child_Device*` ([IQM_QDMI_Child_Device](device.html.md#group__device__interface_1gaba6793ac931df43b10ce903450d5be86) list) A list of device handles corresponding to the device’s child devices managed by this device. 

Some devices may manage multiple child devices, e.g., a multi-device system or a device with multiple processing units. This property provides access to the child devices as separate [IQM_QDMI_Child_Device](device.html.md#group__device__interface_1gaba6793ac931df43b10ce903450d5be86) handles. 

: The property may yield [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) if the device does not have any child devices. 

#### NOTE
Devices with child devices may have special job submission handling. Check the concrete device’s job interface documentation. 

### enumerator QDMI_DEVICE_PROPERTY_QUEUELENGTH

`size_t` The current number of jobs waiting to access the device. 

This property is a snapshot of the device’s queue length and does not include jobs that are currently executing. If a provider exposes multiple queues for the device, the implementation reports the sum of the waiting jobs across those queues. 

: If the provider only exposes a lower bound, the implementation reports that lower bound. For example, a provider value of `>50` is reported as `50`. 

: The property may yield [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) if the implementation cannot obtain a trustworthy queue length. 

### enumerator QDMI_DEVICE_PROPERTY_ID

`char*` (string) The stable client-visible device identifier. 

When supported, the Client Interface returns a nonempty, NUL-terminated string. Clients may compare or store IDs but must not infer meaning from their text. IDs are unique within one initialized session and immutable for the lifetime of the corresponding QDMI_Device handle. Equivalent sessions return the same ID across process restarts while the same logical resource exists. When saving an ID, also record which driver and configuration provide it. Different drivers may use the same ID for different devices.

The ID identifies the logical resource. It is not a display name, endpoint, pointer value, credential, library version, or symbol prefix. A device implementation can report its configured default stable ID. The driver can override that ID to distinguish separately configured logical resources.

This property is mandatory for configured top-level devices through QDMI_device_query_device_property. A device implementation can return [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) through [IQM_QDMI_device_session_query_device_property](device.html.md#group__device__query__interface_1ga7aa9e25ee75e0f92b05447d95f30f55a); the driver then supplies the configured ID. Child devices may return [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) when no stable ID is available. Drivers need not generate IDs for child devices. 

### enumerator QDMI_DEVICE_PROPERTY_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_DEVICE_PROPERTY_CUSTOM1

This enum value is reserved for a custom property. 

The device defines the meaning and the type of this property. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_DEVICE_PROPERTY_CUSTOM2

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_CUSTOM1](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a994b8261b6addc3f56993c467641b122)

### enumerator QDMI_DEVICE_PROPERTY_CUSTOM3

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_CUSTOM1](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a994b8261b6addc3f56993c467641b122)

### enumerator QDMI_DEVICE_PROPERTY_CUSTOM4

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_CUSTOM1](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a994b8261b6addc3f56993c467641b122)

### enumerator QDMI_DEVICE_PROPERTY_CUSTOM5

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_CUSTOM1](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a994b8261b6addc3f56993c467641b122)

### enum QDMI_DEVICE_STATUS_T

Enum of different status the device can be in. 

*Values:*

### enumerator QDMI_DEVICE_STATUS_OFFLINE

The device is offline. 

### enumerator QDMI_DEVICE_STATUS_IDLE

The device is idle. 

### enumerator QDMI_DEVICE_STATUS_BUSY

The device is busy. 

### enumerator QDMI_DEVICE_STATUS_ERROR

The device is in an error state. 

### enumerator QDMI_DEVICE_STATUS_MAINTENANCE

The device is in maintenance. 

### enumerator QDMI_DEVICE_STATUS_CALIBRATION

The device is in calibration. 

### enumerator QDMI_DEVICE_STATUS_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enum QDMI_SITE_PROPERTY_T

Enum of the site properties that can be queried via [IQM_QDMI_device_session_query_site_property](device.html.md#group__device__query__interface_1ga86dea66138d5f78b08de04a15aed54ad) as part of the [device interface](device.html.md#group__device__interface) and via QDMI_device_query_site_property as part of the client interface. 

*Values:*

### enumerator QDMI_SITE_PROPERTY_INDEX

`size_t` The unique index (or ID) to identify the site in a program. 

The index of a site is used to link the qubits used in a quantum program to the physical sites of the device that can be queried via this interface. Indices may be non-consecutive and need not start at 0. See [QDMI_Program_Format](#constants_8h_1a475336f0c08bd0218dd76a6016098231) for more information on how the site indices map to the qubits in a program.

**This property must be available for all sites since it is used to**
: address the sites in a program. 

### enumerator QDMI_SITE_PROPERTY_T1

`uint64_t` The raw, unscaled T1 time of a site. 

To obtain the physical T1 time, a client must scale the raw value of this property. The physical T1 time is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8) [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848)

### enumerator QDMI_SITE_PROPERTY_T2

`uint64_t` The raw, unscaled T2 time of a site. 

To obtain the physical T2 time, a client must scale the raw value of this property. The physical T2 time is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8) [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848)

### enumerator QDMI_SITE_PROPERTY_NAME

`char*` (string) The name of a site, e.g., another identifier of the site given by the device. 

### enumerator QDMI_SITE_PROPERTY_XCOORDINATE

`int64_t` The raw, unscaled X-coordinate of the site. 

The X-coordinate is measured relative to some unique origin of the device, i.e., the triple of X-, Y-, and Z-coordinate must be unique to the site. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR [QDMI_SITE_PROPERTY_XCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1274561cce8aad7c6a8cca93d91b4421) [QDMI_SITE_PROPERTY_YCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ace43f961dccb9a3140ac7a3f25f6d0e4) [QDMI_SITE_PROPERTY_ZCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ad57ba1dff8075c5d5a6d4e56e8979afe)

: To obtain the physical X-coordinate of the site, a client must scale the raw value of this property. The physical X-coordinate of the site is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
This property is mainly required for neutral atom devices to report the location of sites. 

### enumerator QDMI_SITE_PROPERTY_YCOORDINATE

`int64_t` The raw, unscaled Y-coordinate of the site. 

The Y-coordinate is measured relative to some unique origin of the device, i.e., the triple of X-, Y-, and Z-coordinate must be unique to the site. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR [QDMI_SITE_PROPERTY_XCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1274561cce8aad7c6a8cca93d91b4421) [QDMI_SITE_PROPERTY_YCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ace43f961dccb9a3140ac7a3f25f6d0e4) [QDMI_SITE_PROPERTY_ZCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ad57ba1dff8075c5d5a6d4e56e8979afe)

: To obtain the physical Y-coordinate of the site, a client must scale the raw value of this property. The physical Y-coordinate of the site is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
This property is mainly required for neutral atom devices to report the location of sites. 

### enumerator QDMI_SITE_PROPERTY_ZCOORDINATE

`int64_t` The raw, unscaled Z-coordinate of the site. 

The Z-coordinate is measured relative to some unique origin of the device, i.e., the triple of X-, Y-, and Z-coordinate must be unique to the site. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR [QDMI_SITE_PROPERTY_XCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1274561cce8aad7c6a8cca93d91b4421) [QDMI_SITE_PROPERTY_YCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ace43f961dccb9a3140ac7a3f25f6d0e4) [QDMI_SITE_PROPERTY_ZCOORDINATE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2ad57ba1dff8075c5d5a6d4e56e8979afe)

: To obtain the physical Z-coordinate of the site, a client must scale the raw value of this property. The physical Z-coordinate of the site is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
This property is mainly required for neutral atom devices to report the location of sites. 

### enumerator QDMI_SITE_PROPERTY_ISZONE

`bool` Whether the site is a zone. 

A zone is a site that has a spatial extent, i.e., it is not just a point in space as a regular site. These kind of sites, namely zones, are required to adequately represent global operations that act on all qubits within a certain area, i.e., a zone. 

#### SEE ALSO
[QDMI_SITE_PROPERTY_XEXTENT](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a47edc1bffaed2ac9960f722236deca2e) [QDMI_SITE_PROPERTY_YEXTENT](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a7c2b1d2d74c189add11f5cca9b621026) [QDMI_SITE_PROPERTY_ZEXTENT](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a134fc705238c87333dfd3b86cc45314c)

#### NOTE
Zones are typically used in neutral atom devices, where the atoms are arranged in a 2D or 3D lattice, and operations can be applied to all atoms within a certain zone. This property defaults to `false`, i.e., if a device reports [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651) for this property, it is assumed that the site is a regular site and not a zone. 

### enumerator QDMI_SITE_PROPERTY_XEXTENT

`uint64_t` The raw, unscaled extent of a zone along the X-axis. 

To obtain the physical extent of a zone along the X-axis, a client must scale the raw value of this property. The physical extent of a zone along the X-axis is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR 

#### NOTE
This property is mainly required for neutral atom devices to report the extent of zones, see [QDMI_SITE_PROPERTY_ISZONE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a646160af05c1eb2c97b9f272db3a4375). If the site is not a zone, this property must return [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651). 

### enumerator QDMI_SITE_PROPERTY_YEXTENT

`uint64_t` The raw, unscaled extent of a zone along the Y-axis. 

To obtain the physical extent of a zone along the Y-axis, a client must scale the raw value of this property. The physical extent of a zone along the Y-axis is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR 

#### NOTE
This property is mainly required for neutral atom devices to report the extent of zones, see [QDMI_SITE_PROPERTY_ISZONE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a646160af05c1eb2c97b9f272db3a4375). If the site is not a zone, this property must return [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651). 

### enumerator QDMI_SITE_PROPERTY_ZEXTENT

`uint64_t` The raw, unscaled extent of a zone along the Z-axis. 

To obtain the physical extent of a zone along the Z-axis, a client must scale the raw value of this property. The physical extent of a zone along the Z-axis is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR 

#### NOTE
This property is mainly required for neutral atom devices to report the extent of zones, see [QDMI_SITE_PROPERTY_ISZONE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a646160af05c1eb2c97b9f272db3a4375). If the site is not a zone, this property must return [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651). 

### enumerator QDMI_SITE_PROPERTY_MODULEINDEX

`uint64_t` an unsigned integer that uniquely identifies the module. 

A module is a logical grouping of sites, e.g., one part on a superconducting chip or an array of sites in a neutral atom-based device. 

### enumerator QDMI_SITE_PROPERTY_SUBMODULEINDEX

`uint64_t` an unsigned integer uniquely identifying the submodule within a module. 

A submodule is a repetitive substructure of sites within a module. E.g., for a module ([QDMI_SITE_PROPERTY_MODULEINDEX](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a95cc2dc26ff0c52b0d2a1a5c54e571bb)), where the sites are arranged in pairs and the pairs are arranged in a grid, the submodule index would be the index of the pair within the module. 

### enumerator QDMI_SITE_PROPERTY_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_SITE_PROPERTY_CUSTOM1

This enum value is reserved for a custom property. 

The device defines the meaning and the type of this property. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_SITE_PROPERTY_CUSTOM2

#### SEE ALSO
[QDMI_SITE_PROPERTY_CUSTOM1](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1ad5483fe6bcbedf073cd6ae41031e3a)

### enumerator QDMI_SITE_PROPERTY_CUSTOM3

#### SEE ALSO
[QDMI_SITE_PROPERTY_CUSTOM1](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1ad5483fe6bcbedf073cd6ae41031e3a)

### enumerator QDMI_SITE_PROPERTY_CUSTOM4

#### SEE ALSO
[QDMI_SITE_PROPERTY_CUSTOM1](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1ad5483fe6bcbedf073cd6ae41031e3a)

### enumerator QDMI_SITE_PROPERTY_CUSTOM5

#### SEE ALSO
[QDMI_SITE_PROPERTY_CUSTOM1](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a1ad5483fe6bcbedf073cd6ae41031e3a)

### enum QDMI_OPERATION_PROPERTY_T

Enum of the operation properties that can be queried via [IQM_QDMI_device_session_query_operation_property](device.html.md#group__device__query__interface_1ga0b6c1ca179d5f5b20d6db030965e1ae2) as part of the [device interface](device.html.md#group__device__interface) and via QDMI_device_query_operation_property as part of the client interface. 

*Values:*

### enumerator QDMI_OPERATION_PROPERTY_NAME

`char*` (string) The string identifier of the operation. 

### enumerator QDMI_OPERATION_PROPERTY_QUBITSNUM

`size_t` The number of qubits involved in the operation. 

### enumerator QDMI_OPERATION_PROPERTY_PARAMETERSNUM

`size_t` The number of floating point parameters the operation takes. 

### enumerator QDMI_OPERATION_PROPERTY_DURATION

`uint64_t` The raw, unscaled duration of an operation. 

To obtain the physical duration, a client must scale the raw value of this property. The physical duration is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8) [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848)

### enumerator QDMI_OPERATION_PROPERTY_FIDELITY

`double` The fidelity of an operation. 

### enumerator QDMI_OPERATION_PROPERTY_INTERACTIONRADIUS

`uint64_t` The raw, unscaled interaction radius of the operation. 

The interaction radius is the maximum distance between two qubits that can be involved in the operation. It only applies to multi-qubit gates. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR 

: To obtain the physical interaction radius, a client must scale the raw value of this property. The physical interaction radius is calculated as: `raw_value * scale_factor`, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
This property is mainly required for neutral atom devices where atoms representing qubits can be at arbitrary locations. Hence, it is infeasible to define a coupling map. Instead, the coupling of atoms is defined by the interaction radius of the operation. 

### enumerator QDMI_OPERATION_PROPERTY_BLOCKINGRADIUS

`uint64_t` The raw, unscaled blocking radius of the operation. 

The blocking radius is the minimum distance between two qubits that should not be involved in the operation to avoid crosstalk. It only applies to multi-qubit gates. 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f)

: To obtain the physical blocking radius, a client must scale the raw value of this property. The physical blocking radius is calculated as: `raw_value
  * scale_factor
  <br/>
  `, where `scale_factor` is the value of the [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) property. The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e). 

#### NOTE
This property is mainly required for neutral atom devices where atoms representing qubits can be at arbitrary locations. To avoid crosstalk, the blocking radius of the operation must be respected when scheduling operations. 

### enumerator QDMI_OPERATION_PROPERTY_IDLINGFIDELITY

`double` Fidelity of qubits idling during a global operation. 

This property measures the fidelity of qubits that are within the affected area of a global multi-qubit operation but do not actively participate (i.e., they lack an interaction partner within their radius). Even though these qubits undergo an identity operation, errors may still occur, resulting in lower fidelity compared to qubits that are simply idling and not exposed to the operation. 

#### NOTE
This is especially relevant for neutral atom devices, where global operations (e.g., laser pulses) can impact all atoms in the array, including those not interacting. 

### enumerator QDMI_OPERATION_PROPERTY_ISZONED

`bool` Whether the operation is a zoned (global) operation. 

A zoned (or global) operation is an operation that can be applied simultaneously to all qubits within a specific zone. If this property is `true`, the operation is considered zoned. If it is `false` or returns [QDMI_ERROR_NOTSUPPORTED](#constants_8h_1a450b1adf81abc6f0accbf0ce4abe92f8a327c1ff469cce7beacddd9c6d428b651), the operation is considered local. The applicability of a zoned operation to specific zones is detailed in [QDMI_OPERATION_PROPERTY_SITES](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726af054d7cd138407618e7b8fca7d642364). 

#### SEE ALSO
[QDMI_SITE_PROPERTY_ISZONE](#constants_8h_1a69ef10d452cc6f03cac8a917ba48d6e2a646160af05c1eb2c97b9f272db3a4375) [QDMI_OPERATION_PROPERTY_SITES](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726af054d7cd138407618e7b8fca7d642364)

#### NOTE
This property is primarily relevant for neutral atom devices, where a laser can illuminate an entire array of atoms representing qubits. 

### enumerator QDMI_OPERATION_PROPERTY_SITES

`IQM_QDMI_Site*` (list) The sites to which the operation is applicable. 

* For local operations (see [QDMI_OPERATION_PROPERTY_ISZONED](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726a281ffac29395af251ebd38ffdbc65d3f)), this property returns a list of tuples. Each tuple contains sites from the list provided by [QDMI_DEVICE_PROPERTY_SITES](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526aea4d3c2d95a753625a6b61c75a30d07b) and represents a valid combination for the operation. The number of sites in each tuple matches the value of [QDMI_OPERATION_PROPERTY_QUBITSNUM](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726a50c6ef3ffc889f80f8767bfe7296dc49).
* For global operations (see [QDMI_OPERATION_PROPERTY_ISZONED](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726a281ffac29395af251ebd38ffdbc65d3f)), this property returns a list of zone sites, i.e., zones where the operation can be applied. 

### enumerator QDMI_OPERATION_PROPERTY_MEANSHUTTLINGSPEED

`uint64_t` The raw, unscaled mean shuttling speed of an operation. 

To obtain the physical speed, a client must scale the raw value of this property. The physical speed is calculated as: `raw_value * length_scale_factor / duration_scale_factor`. The `length_scale_factor` is the value of [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) and the `duration_scale_factor` is the value of [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848). The resulting value is in units of [QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) per [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8). 

#### SEE ALSO
[QDMI_DEVICE_PROPERTY_LENGTHUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a3a25e71a82af0c1ef7343dd602a3921e) [QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a27e6f6733d8b32f0adada480f3af328f) [QDMI_DEVICE_PROPERTY_DURATIONUNIT](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a9302820728da104e22ff1c3acb1f1ec8) [QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526a8a160116a17df106ad975d457eabb848)

#### NOTE
This property is mainly required for neutral atom devices where atoms representing qubits can be moved to different sites. 

### enumerator QDMI_OPERATION_PROPERTY_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_OPERATION_PROPERTY_CUSTOM1

This enum value is reserved for a custom property. 

The device defines the meaning and the type of this property. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_OPERATION_PROPERTY_CUSTOM2

#### SEE ALSO
[QDMI_OPERATION_PROPERTY_CUSTOM1](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726aa8a314f70a9f754463dd1b8861230322)

### enumerator QDMI_OPERATION_PROPERTY_CUSTOM3

#### SEE ALSO
[QDMI_OPERATION_PROPERTY_CUSTOM1](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726aa8a314f70a9f754463dd1b8861230322)

### enumerator QDMI_OPERATION_PROPERTY_CUSTOM4

#### SEE ALSO
[QDMI_OPERATION_PROPERTY_CUSTOM1](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726aa8a314f70a9f754463dd1b8861230322)

### enumerator QDMI_OPERATION_PROPERTY_CUSTOM5

#### SEE ALSO
[QDMI_OPERATION_PROPERTY_CUSTOM1](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726aa8a314f70a9f754463dd1b8861230322)

### enum QDMI_JOB_STATUS_T

Enum of the status a job can have. 

See also client_job_interface for a description of the job’s lifecycle. 

*Values:*

### enumerator QDMI_JOB_STATUS_CREATED

The job was created and can be configured via QDMI_job_set_parameter. 

### enumerator QDMI_JOB_STATUS_SUBMITTED

The job was submitted. 

### enumerator QDMI_JOB_STATUS_QUEUED

The job was received, and is waiting to be executed. 

### enumerator QDMI_JOB_STATUS_RUNNING

One or more programs are still running. 

### enumerator QDMI_JOB_STATUS_DONE

All programs succeeded, and their results can be retrieved. 

### enumerator QDMI_JOB_STATUS_CANCELED

The job stopped after cancellation; completed programs retain results. 

### enumerator QDMI_JOB_STATUS_FAILED

One or more programs failed, or another error occurred in the lifecycle. 

### enum QDMI_PROGRAM_FORMAT_T

Enum of formats that can be submitted to the device. 

*Values:*

### enumerator QDMI_PROGRAM_FORMAT_QASM2

`char*` (string) An OpenQASM 2.0 program. 

A text-based representation of a quantum circuit in the [OpenQASM 2.0 language](https://arxiv.org/abs/1707.03429). Devices that claim to support this format must accept programs conforming to the following rules:
* The program contains exactly one quantum register named `q`.
* The number of qubits in the quantum register `q` matches the number of sites in the device.
* The program only contains gate identifiers that are reported by the [QDMI_OPERATION_PROPERTY_NAME](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726a5197136670f9d415464f09f283921b5a) property of the device’s operations.

: Given a program following these rules, the operations in the program are expected to be performed on the physical sites of the device as queried via [QDMI_DEVICE_PROPERTY_SITES](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526aea4d3c2d95a753625a6b61c75a30d07b). Specifically, an operation on `q[i]` is performed on the i-th site in the list of sites returned by the device.

#### NOTE
Devices may decide to support more general OpenQASM 2.0 programs that do not follow these rules, for example, using multiple qubit registers or arbitrary gates. However, in that case, no guarantees can be made about the mapping of qubits in the program to the physical sites of the device. 

### enumerator QDMI_PROGRAM_FORMAT_QASM3

`char*` (string) An OpenQASM 3 program. 

A text-based representation of a quantum circuit in the [OpenQASM 3 language](https://openqasm.com/). Devices that claim to support this format must accept programs conforming to the same rules as for [QDMI_PROGRAM_FORMAT_QASM2](#constants_8h_1a3eff3252203fcad146d5896e4466ec09afd3bab5e29afc660e29b2a132246471b).

: Besides the rules for OpenQASM 2.0 programs, OpenQASM 3 programs may be written using physical qubits, which are denoted by `$[NUM]`, with `[NUM]` being a non-negative integer denoting the physical qubit’s index. If a program uses physical qubits, the operations in the program must be performed on the sites with indices corresponding to the physical qubits in the program.

#### NOTE
Devices may decide to support more general OpenQASM 3 programs that do not follow these rules, for example, using multiple qubit registers or arbitrary gates. However, in that case, no guarantees can be made about the mapping of qubits in the program to the physical sites of the device. 

### enumerator QDMI_PROGRAM_FORMAT_QIRBASESTRING

`char*` (string) A text-based QIR program complying to the QIR base profile. 

A text-based representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the [QIR base profile](https://github.com/qir-alliance/qir-spec/blob/8b3fd47b7b70122a104e24733ef9de911576f7d6/specification/under_development/profiles/Base_Profile.md). Devices that claim to support this format must accept programs that follow the rules for the QIR base profile and that only contain operations that are reported by the [QDMI_OPERATION_PROPERTY_NAME](#constants_8h_1ab23d5f0c5296e3eab4243e91f1213726a5197136670f9d415464f09f283921b5a) property of the device’s operations (for example, `@__quantum__qis__[NAME]__body`, where `[NAME]` is the name of the operation).

: QIR has a similar distinction between dynamically allocated and static hardware qubits as [QDMI_PROGRAM_FORMAT_QASM3](#constants_8h_1a3eff3252203fcad146d5896e4466ec09a46cb051d6e1f54c658570dee57813903). The same rules apply for the mapping of qubits in the program to the physical sites of the device. Specifically, if the program only allocates a single register named `q` with as many qubits as there are sites in the device, the operations in the program are expected to be performed on the physical sites of the device as queried via [QDMI_DEVICE_PROPERTY_SITES](#constants_8h_1ad251d8ae8fbbe9a5c7a10d66b243d526aea4d3c2d95a753625a6b61c75a30d07b). If the program uses static qubit addresses (for example, `ptr inttoptr (i64 1 to ptr)`), the operations in the program must be performed on the sites with indices corresponding to the static qubit addresses in the program.

#### NOTE
Devices may decide to support more general QIR programs that do not follow these rules, for example, using multiple qubit registers or arbitrary gates. However, in that case, no guarantees can be made about the mapping of qubits in the program to the physical sites of the device. 

### enumerator QDMI_PROGRAM_FORMAT_QIRBASEMODULE

`void*` A QIR binary complying to the QIR base profile. 

A binary representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the [QIR base profile](https://github.com/qir-alliance/qir-spec/blob/8b3fd47b7b70122a104e24733ef9de911576f7d6/specification/under_development/profiles/Base_Profile.md).

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_QIRBASESTRING](#constants_8h_1a3eff3252203fcad146d5896e4466ec09a3645597dc4c99852e2820de66569ceac) for more information on the QIR base profile and the expected behavior of devices supporting this format. 

### enumerator QDMI_PROGRAM_FORMAT_QIRADAPTIVESTRING

`char*` (string) A text-based QIR program complying to the QIR adaptive profile. 

A text-based representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the [QIR adaptive profile](https://github.com/qir-alliance/qir-spec/blob/8b3fd47b7b70122a104e24733ef9de911576f7d6/specification/under_development/profiles/Adaptive_Profile.md).

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_QIRBASESTRING](#constants_8h_1a3eff3252203fcad146d5896e4466ec09a3645597dc4c99852e2820de66569ceac) for more information on the QIR base profile and the expected behavior of devices supporting this format. 

### enumerator QDMI_PROGRAM_FORMAT_QIRADAPTIVEMODULE

`void*` A QIR binary complying to the QIR adaptive profile. 

A binary representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the [QIR adaptive profile](https://github.com/qir-alliance/qir-spec/blob/8b3fd47b7b70122a104e24733ef9de911576f7d6/specification/under_development/profiles/Adaptive_Profile.md).

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_QIRBASESTRING](#constants_8h_1a3eff3252203fcad146d5896e4466ec09a3645597dc4c99852e2820de66569ceac) for more information on the QIR base profile and the expected behavior of devices supporting this format. 

### enumerator QDMI_PROGRAM_FORMAT_QPY

`void*` A QPY program. 

Value 6 is reserved for the removed calibration format; do not reuse it.

A binary representation of a Qiskit `QuantumCircuit` in the [QPY format](https://quantum.cloud.ibm.com/docs/en/api/qiskit/qpy).

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_QASM3](#constants_8h_1a3eff3252203fcad146d5896e4466ec09a46cb051d6e1f54c658570dee57813903) for more information on the expected behavior of devices supporting this format. 

### enumerator QDMI_PROGRAM_FORMAT_IQMJSON

`char*` (string) A program in the IQM data transfer format. 

A text-based, proprietary representation of a quantum circuit in the [IQM data transfer format](https://docs.meetiqm.com/iqm-client/api/iqm.iqm_client.models.html), encoded as a JSON string. 

### enumerator QDMI_PROGRAM_FORMAT_MAX

Value 9 is reserved for the removed batch-job format; do not reuse it. 

The maximum value of the enum.

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_PROGRAM_FORMAT_CUSTOM1

This enum value is reserved for a custom program format. 

The device defines the meaning and the type of this value. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_PROGRAM_FORMAT_CUSTOM2

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_CUSTOM1](#constants_8h_1a3eff3252203fcad146d5896e4466ec09ae4c406dd4f873011195a218898ad2348)

### enumerator QDMI_PROGRAM_FORMAT_CUSTOM3

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_CUSTOM1](#constants_8h_1a3eff3252203fcad146d5896e4466ec09ae4c406dd4f873011195a218898ad2348)

### enumerator QDMI_PROGRAM_FORMAT_CUSTOM4

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_CUSTOM1](#constants_8h_1a3eff3252203fcad146d5896e4466ec09ae4c406dd4f873011195a218898ad2348)

### enumerator QDMI_PROGRAM_FORMAT_CUSTOM5

#### SEE ALSO
[QDMI_PROGRAM_FORMAT_CUSTOM1](#constants_8h_1a3eff3252203fcad146d5896e4466ec09ae4c406dd4f873011195a218898ad2348)

### enum QDMI_JOB_RESULT_T

Enum of the formats the results can be returned in. 

Each result applies to the program index passed to QDMI_job_get_results or [IQM_QDMI_device_job_get_results](device.html.md#group__device__job__interface_1gab59e410f07258345dd8dafe913c7a66b). 

*Values:*

### enumerator QDMI_JOB_RESULT_SHOTS

`char*` (string) The results of the individual shots as a comma-separated list, for example, “0010,1101,0101,1100,1001,1100” for four qubits and six shots. 

### enumerator QDMI_JOB_RESULT_HIST_KEYS

`char*` (string) The keys for the histogram of the results. 

The histogram of the measurement results is represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists.

This constant denotes the list of keys, [QDMI_JOB_RESULT_HIST_VALUES](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a7df344f160e5bc6589c85ee71b311a52) denotes the list of values. 

### enumerator QDMI_JOB_RESULT_HIST_VALUES

`size_t*` (`size_t` list) The values for the histogram of the results. 

#### SEE ALSO
QDMI_JOB_RESULT_HIST_KEY 

### enumerator QDMI_JOB_RESULT_STATEVECTOR_DENSE

`double*` (`double` list) The state vector of the result. 

The complex amplitudes are stored as a list of real and imaginary parts. The real part of the amplitude is at index `2n` and the imaginary part is at index `2n+1`. For example, the state vector of a 2-qubit system with amplitudes `(0.5, 0.5), (0.5, -0.5), (-0.5, 0.5), (-0.5, -0.5)` would be represented as `{0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5}`. 

### enumerator QDMI_JOB_RESULT_PROBABILITIES_DENSE

`double*` (`double` list) The probabilities of the result. 

The probabilities are stored as a list of real numbers. The probability of the state with index `n` is at index `n` in the list. For example, the probabilities of a 2-qubit system with states `00, 01, 10, 11` would be represented as `{0.25, 0.25, 0.25, 0.25}`. 

### enumerator QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS

`char*` (string) The keys for the sparse state vector of the result. 

The sparse state vector is represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists. 

### enumerator QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES

`double*` (`double` list) The values for the sparse state vector of the result. 

The complex amplitudes are stored in the same way as the dense state vector, but only for the non-zero amplitudes. 

#### SEE ALSO
[QDMI_JOB_RESULT_STATEVECTOR_DENSE](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a3ca51337735f43e024d012880cd2c7bd) [QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1ac9a550895edecffb9cdcf72c3c8140c2)

### enumerator QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS

`char*` (string) The keys for the sparse probabilities of the result. 

The sparse probabilities are represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists. 

### enumerator QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES

`double*` (`double` list) The values for the sparse probabilities of the result. 

The probabilities are stored in the same way as the dense probabilities, but only for the non-zero probabilities. 

#### SEE ALSO
[QDMI_JOB_RESULT_PROBABILITIES_DENSE](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a320b256c2cddbd933eea4b765dc1a216) [QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1aff6709af04527a8d5e03f6f0064dd281)

### enumerator QDMI_JOB_RESULT_MAX

The maximum value of the enum. 

It can be used by devices for bounds checking and validation of function parameters.

**Attention**
: This value must remain the last regular member of the enum besides the custom members and must be updated when new members are added. 

### enumerator QDMI_JOB_RESULT_CUSTOM1

This enum value is reserved for a custom result. 

The device defines the meaning and the type of this result. 

**Attention**
: The value of this enum member must not be changed to maintain binary compatibility. 

### enumerator QDMI_JOB_RESULT_CUSTOM2

#### SEE ALSO
[QDMI_JOB_RESULT_CUSTOM1](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a885df1084d1067b6336ad6a0eaaffac2)

### enumerator QDMI_JOB_RESULT_CUSTOM3

#### SEE ALSO
[QDMI_JOB_RESULT_CUSTOM1](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a885df1084d1067b6336ad6a0eaaffac2)

### enumerator QDMI_JOB_RESULT_CUSTOM4

#### SEE ALSO
[QDMI_JOB_RESULT_CUSTOM1](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a885df1084d1067b6336ad6a0eaaffac2)

### enumerator QDMI_JOB_RESULT_CUSTOM5

#### SEE ALSO
[QDMI_JOB_RESULT_CUSTOM1](#constants_8h_1aa154b942b0f67e437c393ad7b33cadd1a885df1084d1067b6336ad6a0eaaffac2)
