// Print dataset in externalElement void AH5_print_eet_dataset (const AH5_eet_dataset_t *eet_dataset, int space) { hsize_t i; printf("%*sInstance: %s\n", space, "", AH5_get_name_from_path(eet_dataset->path)); for (i = 0; i < eet_dataset->nb_eed_items; i++) { printf("%*sId %lu:\n", space + 3, "", (long unsigned) i); printf("%*s-internal: %s\n", space + 6, "", eet_dataset->eed_items[AH5_EE_INTERNAL_NAME(i)]); printf("%*s-external: %s:%s\n", space + 6, "", eet_dataset->eed_items[AH5_EE_EXTERNAL_FILE_NAME(i)], eet_dataset->eed_items[AH5_EE_EXTERNAL_NAME(i)]); printf("%*s-file_id: %i\n\n", space + 6, "",eet_dataset->file_id[i]); } }
char AH5_is_external_element( const AH5_external_element_t* externals, const char* path, hid_t* file_id, char const** external_path) { char is_external = AH5_FALSE; AH5_eet_dataset_t* element = externals->datasets; char const* internal_path = NULL; hsize_t iext = 0; for (; element != externals->datasets + externals->nb_datasets && is_external == AH5_FALSE; ++element) { for (iext = 0; iext < element->nb_eed_items; ++iext) { internal_path = element->eed_items[AH5_EE_INTERNAL_NAME(iext)]; if (AH5_strcmp(path, internal_path) == 0) { *file_id = element->file_id[iext]; *external_path = element->eed_items[AH5_EE_EXTERNAL_NAME(iext)]; is_external = AH5_TRUE; break; } } } return is_external; }