static int pri_new_tracks (pri_img_t *img, pri_cyl_t *cyl, unsigned c) { unsigned h, h0, h1; pri_trk_t *trk; if (par_trk_all) { h0 = 0; h1 = cyl->trk_cnt; } else { h0 = par_trk[0]; h1 = par_trk[1] + 1; } for (h = h0; h < h1; h++) { trk = pri_img_get_track (img, c, h, 0); if (trk != NULL) { continue; } trk = pri_img_get_track (img, c, h, 1); if (trk == NULL) { return (1); } pri_trk_set_clock (trk, par_data_rate); } return (0); }
static int st_read_track (void *ext, unsigned d, unsigned c, unsigned h, pri_trk_t **trk) { st_fdc_t *fdc; pri_img_t *img; fdc = ext; if ((img = fdc->img[d & 1]) == NULL) { return (1); } if ((*trk = pri_img_get_track (img, c, h, 1)) == NULL) { return (1); } return (0); }