QDMI v1.3.0-dev
Quantum Device Management Interface
Loading...
Searching...
No Matches
client.h File Reference

Description

Defines the QDMI Client Interface.

Go to the source code of this file.

Typedefs

typedef struct QDMI_Device_impl_d * QDMI_Device
 A handle for a device implementing the QDMI Device Interface.
typedef struct QDMI_Session_impl_d * QDMI_Session
 A handle for a session.
typedef enum QDMI_SESSION_PARAMETER_T QDMI_Session_Parameter
 Session parameter type.
typedef enum QDMI_SESSION_PROPERTY_T QDMI_Session_Property
 Session property type.
typedef struct QDMI_Job_impl_d * QDMI_Job
 A handle for a client-side job.
typedef enum QDMI_JOB_PARAMETER_T QDMI_Job_Parameter
 Job parameter type.
typedef enum QDMI_JOB_PROPERTY_T QDMI_Job_Property
 Job property type.

Enumerations

enum  QDMI_SESSION_PARAMETER_T {
  QDMI_SESSION_PARAMETER_TOKEN = 0 , QDMI_SESSION_PARAMETER_AUTHFILE = 1 , QDMI_SESSION_PARAMETER_AUTHURL = 2 , QDMI_SESSION_PARAMETER_USERNAME = 3 ,
  QDMI_SESSION_PARAMETER_PASSWORD = 4 , QDMI_SESSION_PARAMETER_PROJECTID = 5 , QDMI_SESSION_PARAMETER_MAX = 6 , QDMI_SESSION_PARAMETER_CUSTOM1 = 999999995 ,
  QDMI_SESSION_PARAMETER_CUSTOM2 = 999999996 , QDMI_SESSION_PARAMETER_CUSTOM3 = 999999997 , QDMI_SESSION_PARAMETER_CUSTOM4 = 999999998 , QDMI_SESSION_PARAMETER_CUSTOM5 = 999999999
}
 Enum of the session parameters that can be set via QDMI_session_set_parameter. More...
enum  QDMI_SESSION_PROPERTY_T {
  QDMI_SESSION_PROPERTY_DEVICES = 0 , QDMI_SESSION_PROPERTY_MAX = 1 , QDMI_SESSION_PROPERTY_CUSTOM1 = 999999995 , QDMI_SESSION_PROPERTY_CUSTOM2 = 999999996 ,
  QDMI_SESSION_PROPERTY_CUSTOM3 = 999999997 , QDMI_SESSION_PROPERTY_CUSTOM4 = 999999998 , QDMI_SESSION_PROPERTY_CUSTOM5 = 999999999
}
 Enum of the session properties that can be queried via QDMI_session_query_session_property. More...
enum  QDMI_JOB_PARAMETER_T {
  QDMI_JOB_PARAMETER_PROGRAMFORMAT = 0 , QDMI_JOB_PARAMETER_PROGRAM = 1 , QDMI_JOB_PARAMETER_SHOTSNUM = 2 , QDMI_JOB_PARAMETER_MAX = 3 ,
  QDMI_JOB_PARAMETER_CUSTOM1 = 999999995 , QDMI_JOB_PARAMETER_CUSTOM2 = 999999996 , QDMI_JOB_PARAMETER_CUSTOM3 = 999999997 , QDMI_JOB_PARAMETER_CUSTOM4 = 999999998 ,
  QDMI_JOB_PARAMETER_CUSTOM5 = 999999999
}
 Enum of the job parameters that can be set. More...
enum  QDMI_JOB_PROPERTY_T {
  QDMI_JOB_PROPERTY_ID = 0 , QDMI_JOB_PROPERTY_PROGRAMFORMAT = 1 , QDMI_JOB_PROPERTY_PROGRAM = 2 , QDMI_JOB_PROPERTY_SHOTSNUM = 3 ,
  QDMI_JOB_PROPERTY_MAX = 4 , QDMI_JOB_PROPERTY_CUSTOM1 = 999999995 , QDMI_JOB_PROPERTY_CUSTOM2 = 999999996 , QDMI_JOB_PROPERTY_CUSTOM3 = 999999997 ,
  QDMI_JOB_PROPERTY_CUSTOM4 = 999999998 , QDMI_JOB_PROPERTY_CUSTOM5 = 999999999
}
 Enum of the job properties that can be queried via QDMI_job_query_property as part of the client interface. More...

Functions

int QDMI_session_alloc (QDMI_Session *session)
 Allocate a new 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.
int QDMI_session_init (QDMI_Session session)
 Initialize a session.
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.
void QDMI_session_free (QDMI_Session session)
 Free a session.
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_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.
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_create_job (QDMI_Device device, QDMI_Job *job)
 Create a job.
int QDMI_job_set_parameter (QDMI_Job job, QDMI_Job_Parameter param, size_t size, const void *value)
 Set a parameter for 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.
int QDMI_job_submit (QDMI_Job job)
 Submit a job to the device.
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_wait (QDMI_Job job, size_t timeout)
 Wait for a job to finish.
int QDMI_job_get_results (QDMI_Job job, QDMI_Job_Result result, size_t size, void *data, size_t *size_ret)
 Retrieve the results of a job.
void QDMI_job_free (QDMI_Job job)
 Free a job.