// This file should be removed when it appears in AQL Profile #pragma ONCE #include #define PUBLIC_API __attribute__((visibility("default"))) extern "C" { /** * @brief Callback for iteration of all possible event coordinate IDs and coordinate names. * @param [in] id Integer identifying the dimension. * @param [in] name Name of the dimension * @param [in] data User data supplied to @ref aqlprofile_iterate_event_ids * @return hsa_status_t * @retval HSA_STATUS_SUCCESS Continues iteration * @retval OTHERS Any other HSA return values stops iteration, passing back this value through * @ref aqlprofile_iterate_event_ids */ typedef hsa_status_t (*aqlprofile_eventname_callback_t)(int id, const char* name, void* data); /** * @brief Iterate over all possible event coordinate IDs and their names. * @param [in] callback Callback to use for iteration of dimensions * @param [in] user_data Data to supply to callback @ref aqlprofile_eventname_callback_t * @return hsa_status_t * @retval HSA_STATUS_SUCCESS if successful * @retval HSA_STATUS_ERROR if error on interation * @retval OTHERS If @ref aqlprofile_eventname_callback_t returns non-HSA_STATUS_SUCCESS, * that value is returned. */ PUBLIC_API hsa_status_t aqlprofile_iterate_event_ids(aqlprofile_eventname_callback_t callback, void* user_data); }