static imgtoolerr_t rsdos_diskimage_deletefile(imgtool::partition &partition, const char *fname) { imgtoolerr_t err; imgtool::image &image(partition.image()); int pos; struct rsdos_dirent ent; err = lookup_rsdos_file(image, fname, ent, &pos); if (err) return err; return delete_entry(image, ent, pos); }
static imgtoolerr_t rsdos_diskimage_deletefile(imgtool_partition *partition, const char *fname) { imgtoolerr_t err; imgtool_image *image = imgtool_partition_image(partition); int pos; struct rsdos_dirent ent; err = lookup_rsdos_file(image, fname, &ent, &pos); if (err) return err; return delete_entry(image, &ent, pos); }
static imgtoolerr_t rsdos_diskimage_suggesttransfer(imgtool::partition &partition, const char *fname, imgtool_transfer_suggestion *suggestions, size_t suggestions_length) { imgtoolerr_t err; imgtool::image &image(partition.image()); struct rsdos_dirent ent; int pos; if (fname) { err = lookup_rsdos_file(image, fname, ent, &pos); if (err) return err; if (ent.asciiflag == (char) 0xFF) { /* ASCII file */ suggestions[0].viability = SUGGESTION_RECOMMENDED; suggestions[0].filter = filter_eoln_getinfo; suggestions[1].viability = SUGGESTION_POSSIBLE; suggestions[1].filter = NULL; } else if (ent.ftype == 0) { /* tokenized BASIC file */ suggestions[0].viability = SUGGESTION_RECOMMENDED; suggestions[0].filter = NULL; suggestions[1].viability = SUGGESTION_POSSIBLE; suggestions[1].filter = filter_cocobas_getinfo; } } else { suggestions[0].viability = SUGGESTION_RECOMMENDED; suggestions[0].filter = NULL; suggestions[1].viability = SUGGESTION_POSSIBLE; suggestions[1].filter = filter_eoln_getinfo; suggestions[2].viability = SUGGESTION_POSSIBLE; suggestions[2].filter = filter_cocobas_getinfo; } return IMGTOOLERR_SUCCESS; }
static imgtoolerr_t rsdos_diskimage_readfile(imgtool::partition &partition, const char *fname, const char *fork, imgtool::stream &destf) { imgtoolerr_t err; struct rsdos_dirent ent; size_t size; imgtool::image &img(partition.image()); err = lookup_rsdos_file(img, fname, ent); if (err) return err; err = process_rsdos_file(&ent, img, &destf, size); if (err) return err; if (size == (size_t) -1) return IMGTOOLERR_CORRUPTIMAGE; return (imgtoolerr_t)0; }
static imgtoolerr_t rsdos_diskimage_readfile(imgtool_partition *partition, const char *fname, const char *fork, imgtool_stream *destf) { imgtoolerr_t err; struct rsdos_dirent ent; size_t size; imgtool_image *img = imgtool_partition_image(partition); err = lookup_rsdos_file(img, fname, &ent, NULL); if (err) return err; err = process_rsdos_file(&ent, img, destf, &size); if (err) return err; if (size == (size_t) -1) return IMGTOOLERR_CORRUPTIMAGE; return (imgtoolerr_t)0; }