diff --git a/include/qdmi/constants.h b/include/qdmi/constants.h index a6b2ec48..109cc9cf 100644 --- a/include/qdmi/constants.h +++ b/include/qdmi/constants.h @@ -113,6 +113,18 @@ enum QDMI_DEVICE_SESSION_PARAMETER_T { * parameter to be set. */ QDMI_DEVICE_SESSION_PARAMETER_PASSWORD = 5, + /** + * @brief `QDMI_Device` The child device to establish the session with. + * @details 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 @ref QDMI_Device handle. + * @par + * 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`. + * @see QDMI_DEVICE_PROPERTY_CHILDDEVICES + */ + QDMI_DEVICE_SESSION_PARAMETER_CHILDDEVICE = 6, /** * @brief The maximum value of the enum. * @details It can be used by devices for bounds checking and validation of @@ -121,7 +133,7 @@ enum QDMI_DEVICE_SESSION_PARAMETER_T { * @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. */ - QDMI_DEVICE_SESSION_PARAMETER_MAX = 6, + QDMI_DEVICE_SESSION_PARAMETER_MAX = 7, /** * @brief This enum value is reserved for a custom parameter. * @details The device defines the meaning and the type of this parameter. @@ -393,6 +405,20 @@ enum QDMI_DEVICE_PROPERTY_T { * @see QDMI_DEVICE_PROPERTY_LENGTSCALEFACTOR */ QDMI_DEVICE_PROPERTY_MINATOMDISTANCE = 14, + /** + * @brief `QDMI_Device*` (@ref QDMI_Device list) A list of device handles + * corresponding to the device's child devices managed by this device. + * @details 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 @ref QDMI_Device + * handles. + * @par + * The property may yield @ref QDMI_ERROR_NOTSUPPORTED 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. + */ + QDMI_DEVICE_PROPERTY_CHILDDEVICES = 15, /** * @brief The maximum value of the enum. * @details It can be used by devices for bounds checking and validation of @@ -401,7 +427,7 @@ enum QDMI_DEVICE_PROPERTY_T { * @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. */ - QDMI_DEVICE_PROPERTY_MAX = 15, + QDMI_DEVICE_PROPERTY_MAX = 16, /** * @brief This enum value is reserved for a custom property. * @details The device defines the meaning and the type of this property. @@ -956,6 +982,25 @@ enum QDMI_PROGRAM_FORMAT_T { * be set via @ref QDMI_DEVICE_JOB_PARAMETER_PROGRAM. */ QDMI_PROGRAM_FORMAT_CALIBRATION = 6, + /** + * @brief `QDMI_Job*`/`QDMI_Device_Job*` (@ref QDMI_Job list / @ref + * QDMI_Device_Job list) A list of jobs within a batch job. + * @details This program format is used to submit a batch job, i.e., a job + * that consists of multiple sub-jobs. The program must be a list of jobs + * created via @ref QDMI_device_create_job or @ref + * QDMI_device_session_create_device_job. These jobs must be configured + * completely but not submitted. If a batch job contains already submitted + * jobs, @ref QDMI_job_submit or @ref QDMI_device_job_submit on the batch job + * will return @ref QDMI_ERROR_BADSTATE. + * @par + * Querying results from a batch job directly is not possible and will result + * in @ref QDMI_ERROR_NOTSUPPORTED Instead, the results must be queried from + * the individual jobs after they finished. If the device supports it, each + * job in the batch can be queried for its status or waited for. However, + * in any case, individual jobs in a batch cannot be canceled and this will + * result in @ref QDMI_ERROR_NOTSUPPORTED. + */ + QDMI_PROGRAM_FORMAT_BATCHJOB = 7, /** * @brief The maximum value of the enum. * @details It can be used by devices for bounds checking and validation of @@ -964,7 +1009,7 @@ enum QDMI_PROGRAM_FORMAT_T { * @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. */ - QDMI_PROGRAM_FORMAT_MAX = 7, + QDMI_PROGRAM_FORMAT_MAX = 8, /** * @brief This enum value is reserved for a custom program format. * @details The device defines the meaning and the type of this value.