void probe_all(void) { MEDIA_ITERATOR iter; char *name; iter = create_scsi_iterator(); if (iter == 0) { return; } printf("finding devices "); fflush(stdout); while ((name = step_media_iterator(iter)) != 0) { /* step does the probe for us */ printf("."); fflush(stdout); free(name); } delete_media_iterator(iter); printf("\n"); fflush(stdout); }
void list_all_disks(void) { MEDIA_ITERATOR iter; MEDIA m; DPME * data; char *name; long mark; data = (DPME *) malloc(PBLOCK_SIZE); if (data == NULL) { error(errno, "can't allocate memory for try buffer"); return; } for (iter = first_media_kind(&mark); iter != 0; iter = next_media_kind(&mark)) { while ((name = step_media_iterator(iter)) != 0) { if ((m = open_pathname_as_media(name, O_RDONLY)) == 0) { #if defined(__linux__) || defined(__unix__) error(errno, "can't open file '%s'", name); #endif } else { close_media(m); dump(name); } free(name); } delete_media_iterator(iter); } free(data); }