Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}