12 fprintf(stderr
, "Open file %s\n", fname
);
14 if( fs_type
) close_file();
16 /* If we can't read the boot sector there is a _real_ problem */
17 if (read_sector(0) == 0) return -1;
19 if( tar_open_file(fname
) >= 0 ) { fs_type
= 1; return 0; }
20 if( min_open_file(fname
) >= 0 ) { fs_type
= 2; return 0; }
21 if( dos_open_file(fname
) >= 0 ) { fs_type
= 3; return 0; }
28 fprintf(stderr
, "Rewind file (%d)\n", fs_type
);
32 case 1: return tar_rewind_file();
33 case 2: return min_rewind_file();
34 case 3: return dos_rewind_file();
43 fprintf(stderr
, "Close file (%d)\n", fs_type
);
47 case 1: rv
= tar_close_file(); break;
48 case 2: rv
= min_close_file(); break;
49 case 3: rv
= dos_close_file(); break;
59 fprintf(stderr
, "File length (%d)\n", fs_type
);
63 case 1: return tar_file_length();
64 case 2: return min_file_length();
65 case 3: return dos_file_length();
74 fprintf(stderr
, "read block into (%d) (%d)\n", buffer
, fs_type
);
78 case 1: return tar_read_block(buffer
);
79 case 2: return min_read_block(buffer
);
80 case 3: return dos_read_block(buffer
);