26#include "qdmi/client_version.h"
408QDMI_DRIVER_EXPORT
int
411 void *value,
size_t *size_ret);
481QDMI_DRIVER_EXPORT
int
483 size_t size,
void *value,
size_t *size_ret);
563 size_t size,
void *value,
650 const QDMI_Site *sites,
size_t num_params,
const double *params,
863 size_t size,
const void *value);
921 size_t count,
const size_t *sizes,
922 const void *
const *programs);
1071 size_t size,
void *value,
1194 void *data,
size_t *size_ret);
Defines constants and value types used within QDMI across the QDMI Client Interface and the QDMI Devi...
enum QDMI_JOB_STATUS_T QDMI_Job_Status
Job status type.
Definition constants.h:953
enum QDMI_JOB_RESULT_T QDMI_Job_Result
Job result type.
Definition constants.h:1403
enum QDMI_SITE_PROPERTY_T QDMI_Site_Property
Site property type.
Definition constants.h:773
#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_OPERATION_PROPERTY_T QDMI_Operation_Property
Operation property type.
Definition constants.h:925
enum QDMI_DEVICE_PROPERTY_T QDMI_Device_Property
Device property type.
Definition constants.h:536
Defines macros for controlling the visibility of symbols.
struct QDMI_Device_impl_d * QDMI_Device
A handle for a device implementing the QDMI Device Interface.
Definition client.h:96
uint32_t QDMI_driver_get_client_abi_version(void)
Return the Client Interface ABI implemented by the driver.
enum QDMI_JOB_PROPERTY_T QDMI_Job_Property
Job property type.
Definition client.h:1017
int QDMI_job_submit(QDMI_Job job)
Submit a job to the device.
int QDMI_job_get_results(QDMI_Job job, size_t program_index, QDMI_Job_Result result, size_t size, void *data, size_t *size_ret)
Retrieve one program's results from a job.
QDMI_JOB_PARAMETER_T
Enum of the job parameters that can be set.
Definition client.h:760
enum QDMI_JOB_PARAMETER_T QDMI_Job_Parameter
Job parameter type.
Definition client.h:807
int QDMI_session_retrieve_job_by_id(QDMI_Device device, const char *job_id, QDMI_Job *job)
Retrieve an existing job by its ID.
int QDMI_job_wait(QDMI_Job job, size_t timeout)
Wait for a job to finish.
QDMI_JOB_PROPERTY_T
Enum of the job properties that can be queried via QDMI_job_query_property as part of the client inte...
Definition client.h:931
int QDMI_job_set_parameter(QDMI_Job job, QDMI_Job_Parameter param, size_t size, const void *value)
Set a parameter for a job.
void QDMI_job_free(QDMI_Job job)
Free a job.
int QDMI_device_create_job(QDMI_Device device, QDMI_Job *job)
Create a job.
struct QDMI_Job_impl_d * QDMI_Job
A handle for a client-side job.
Definition client.h:688
int QDMI_job_set_programs(QDMI_Job job, const QDMI_Program_Format *format, size_t count, const size_t *sizes, const void *const *programs)
Set one or more programs for a job.
int QDMI_job_cancel(QDMI_Job job)
Cancel an already submitted job.
int QDMI_job_check(QDMI_Job job, QDMI_Job_Status *status)
Check the status of a job.
int QDMI_job_query_property(QDMI_Job job, QDMI_Job_Property prop, size_t size, void *value, size_t *size_ret)
Query a job property.
@ QDMI_JOB_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition client.h:793
@ QDMI_JOB_PARAMETER_CUSTOM4
Definition client.h:799
@ QDMI_JOB_PARAMETER_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition client.h:778
@ QDMI_JOB_PARAMETER_CUSTOM3
Definition client.h:797
@ QDMI_JOB_PARAMETER_CUSTOM5
Definition client.h:801
@ QDMI_JOB_PARAMETER_CUSTOM2
Definition client.h:795
@ QDMI_JOB_PARAMETER_MAX
The maximum value of the enum.
Definition client.h:786
@ QDMI_JOB_PARAMETER_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition client.h:773
@ QDMI_JOB_PARAMETER_CUSTOM_MAX
The largest syntactically valid custom value.
Definition client.h:803
@ QDMI_JOB_PROPERTY_CUSTOM5
Definition client.h:1011
@ QDMI_JOB_PROPERTY_CUSTOM1
This enum value is reserved for a custom parameter.
Definition client.h:1003
@ QDMI_JOB_PROPERTY_MAX
The maximum value of the enum.
Definition client.h:996
@ QDMI_JOB_PROPERTY_PROGRAMSNUM
size_t The number of programs in the job.
Definition client.h:987
@ QDMI_JOB_PROPERTY_PROGRAM
void* The program to be executed.
Definition client.h:959
@ QDMI_JOB_PROPERTY_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition client.h:965
@ QDMI_JOB_PROPERTY_ID
char* (string) The job's ID.
Definition client.h:941
@ QDMI_JOB_PROPERTY_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition client.h:951
@ QDMI_JOB_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition client.h:1013
@ QDMI_JOB_PROPERTY_CUSTOM2
Definition client.h:1005
@ QDMI_JOB_PROPERTY_QUEUEPOSITION
size_t The current number of jobs ahead of this job in its queue.
Definition client.h:980
@ QDMI_JOB_PROPERTY_CUSTOM3
Definition client.h:1007
@ QDMI_JOB_PROPERTY_CUSTOM4
Definition client.h:1009
int QDMI_device_query_program_features(QDMI_Device device, const QDMI_Program_Format *format, size_t size, QDMI_Program_Feature *value, size_t *size_ret)
Query the complete optional feature guarantees for one exact program format.
int QDMI_device_query_device_property(QDMI_Device device, QDMI_Device_Property prop, size_t size, void *value, size_t *size_ret)
Query a device property.
int QDMI_device_query_operation_property(QDMI_Device device, QDMI_Operation operation, size_t num_sites, const QDMI_Site *sites, size_t num_params, const double *params, QDMI_Operation_Property prop, size_t size, void *value, size_t *size_ret)
Query an operation property.
int QDMI_device_query_site_property(QDMI_Device device, QDMI_Site site, QDMI_Site_Property prop, size_t size, void *value, size_t *size_ret)
Query a site property.
void QDMI_session_free(QDMI_Session session)
Free a session.
int QDMI_session_set_parameter(QDMI_Session session, QDMI_Session_Parameter param, size_t size, const void *value)
Set a parameter for a session.
struct QDMI_Session_impl_d * QDMI_Session
A handle for a session.
Definition client.h:124
int QDMI_session_query_session_property(QDMI_Session session, QDMI_Session_Property prop, size_t size, void *value, size_t *size_ret)
Query a property of a session.
QDMI_SESSION_PROPERTY_T
Enum of the session properties that can be queried via QDMI_session_query_session_property.
Definition client.h:318
int QDMI_session_alloc(QDMI_Session *session)
Allocate a new session.
QDMI_SESSION_PARAMETER_T
Enum of the session parameters that can be set via QDMI_session_set_parameter.
Definition client.h:152
enum QDMI_SESSION_PARAMETER_T QDMI_Session_Parameter
Session parameter type.
Definition client.h:234
enum QDMI_SESSION_PROPERTY_T QDMI_Session_Property
Session property type.
Definition client.h:352
int QDMI_session_init(QDMI_Session session)
Initialize a session.
@ QDMI_SESSION_PROPERTY_CUSTOM_MAX
The largest syntactically valid custom value.
Definition client.h:348
@ QDMI_SESSION_PROPERTY_CUSTOM3
Definition client.h:342
@ QDMI_SESSION_PROPERTY_CUSTOM2
Definition client.h:340
@ QDMI_SESSION_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition client.h:338
@ QDMI_SESSION_PROPERTY_CUSTOM5
Definition client.h:346
@ QDMI_SESSION_PROPERTY_MAX
The maximum value of the enum.
Definition client.h:331
@ QDMI_SESSION_PROPERTY_DEVICES
QDMI_Device* (QDMI_Device list) The devices the client has access to.
Definition client.h:323
@ QDMI_SESSION_PROPERTY_CUSTOM4
Definition client.h:344
@ QDMI_SESSION_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition client.h:220
@ QDMI_SESSION_PARAMETER_AUTHURL
char* (string) The URL to an authentication server used as part of the authentication procedure.
Definition client.h:183
@ QDMI_SESSION_PARAMETER_CUSTOM3
Definition client.h:224
@ QDMI_SESSION_PARAMETER_PASSWORD
char* (string) The password to use for the session.
Definition client.h:197
@ QDMI_SESSION_PARAMETER_MAX
The maximum value of the enum.
Definition client.h:213
@ QDMI_SESSION_PARAMETER_CUSTOM5
Definition client.h:228
@ QDMI_SESSION_PARAMETER_CUSTOM_MAX
The largest syntactically valid custom value.
Definition client.h:230
@ QDMI_SESSION_PARAMETER_CUSTOM2
Definition client.h:222
@ QDMI_SESSION_PARAMETER_CUSTOM4
Definition client.h:226
@ QDMI_SESSION_PARAMETER_USERNAME
char* (string) The username to use for the session.
Definition client.h:190
@ QDMI_SESSION_PARAMETER_TOKEN
char* (string) The token to use for the session.
Definition client.h:159
@ QDMI_SESSION_PARAMETER_PROJECTID
char* (string) The project ID to use for the session.
Definition client.h:204
@ QDMI_SESSION_PARAMETER_AUTHFILE
char* (string) A file path to a file containing authentication information.
Definition client.h:169
One optional feature guarantee for an exact program format.
Definition constants.h:1130
Defines all types used within QDMI across the QDMI Client Interface and the QDMI Device Interface.
struct QDMI_Site_impl_d * QDMI_Site
A handle for a site.
Definition types.h:54
struct QDMI_Operation_impl_d * QDMI_Operation
A handle for an operation.
Definition types.h:73