Home | History | Annotate | Download | only in ahdilabel

Lines Matching defs:ptable

60 	struct ahdi_ptable	ptable;
69 while ((rv = ahdi_readlabel(&ptable, argv[1], flags)) != 1) {
112 show_parts (&ptable, 0, ptable.nparts, units);
127 change_part (&ptable, key - 'A', units);
129 if (ahdi_buildlabel (&ptable)) {
136 show_parts (&ptable, 0, ptable.nparts, units);
154 if ((rv = ahdi_writelabel (&ptable, argv[1], flags)) < 0) {
210 show_parts (struct ahdi_ptable *ptable, int start, int finish, int units)
215 printf (" sectors/track: %d\n", ptable->nsectors);
216 printf (" tracks/cylinder: %d\n", ptable->ntracks);
217 printf (" sectors/cylinder: %d\n", ptable->secpercyl);
218 printf (" cylinders: %d\n", ptable->ncylinders);
219 printf (" total sectors: %d\n", ptable->secperunit);
230 i + 'a', ptable->parts[i].id[0],
231 ptable->parts[i].id[1], ptable->parts[i].id[2],
232 ptable->parts[i].root, ptable->parts[i].start,
233 ptable->parts[i].start +
234 (ptable->parts[i].size ?
235 ptable->parts[i].size - 1 : 0),
236 ptable->parts[i].size,
237 (ptable->parts[i].size + (BLPM >> 1)) / BLPM);
249 ptable->parts[i].id[0], ptable->parts[i].id[1],
250 ptable->parts[i].id[2]);
251 sector = ptable->parts[i].root;
252 cylinder = sector / ptable->secpercyl;
253 sector -= cylinder * ptable->secpercyl;
254 track = sector / ptable->nsectors;
255 sector -= track * ptable->nsectors;
257 sector = ptable->parts[i].start;
258 cylinder = sector / ptable->secpercyl;
259 sector -= cylinder * ptable->secpercyl;
260 track = sector / ptable->nsectors;
261 sector -= track * ptable->nsectors;
263 sector = ptable->parts[i].start +
264 (ptable->parts[i].size ?
265 ptable->parts[i].size - 1 : 0);
266 cylinder = sector / ptable->secpercyl;
267 sector -= cylinder * ptable->secpercyl;
268 track = sector / ptable->nsectors;
269 sector -= track * ptable->nsectors;
271 sector = ptable->parts[i].size;
272 cylinder = sector / ptable->secpercyl;
273 sector -= cylinder * ptable->secpercyl;
274 track = sector / ptable->nsectors;
275 sector -= track * ptable->nsectors;
278 (ptable->parts[i].size + (BLPM >> 1)) / BLPM);
299 sec_to_cts (struct ahdi_ptable *ptable, u_int32_t sector, char *cts, size_t len)
303 cylinder = sector / ptable->secpercyl;
304 sector -= cylinder * ptable->secpercyl;
305 track = sector / ptable->nsectors;
306 sector -= track * ptable->nsectors;
312 read_sector (struct ahdi_ptable *ptable, char *buf, int part, int se)
322 if (sector > ptable->nsectors || track > ptable->ntracks ||
323 cylinder > ptable->ncylinders)
325 sector += ptable->nsectors * track;
326 sector += ptable->secpercyl * cylinder;
332 return (ptable->secperunit -
333 ptable->parts[part].start);
335 if (i >= 0 && i <= ptable->nparts ) {
338 return (ptable->parts[i].start +
339 ptable->parts[i].size);
342 if (ptable->parts[part].root)
343 return (ptable->parts[i].start +
344 ptable->parts[i].size + 1);
346 return (ptable->parts[i].start +
347 ptable->parts[i].size);
351 return (ptable->parts[i].root -
352 ptable->parts[part].start);
366 change_part (struct ahdi_ptable *ptable, int part, int units)
373 if (part > ptable->nparts) {
374 part = ptable->nparts;
376 ptable->nparts++;
378 if (part == ptable->nparts)
379 ptable->nparts++;
380 show_parts (ptable, part, part + 1, units);
382 printf ("id [%c%c%c] ", ptable->parts[part].id[0],
383 ptable->parts[part].id[1], ptable->parts[part].id[2]);
385 ptable->parts[part].id[0] = buf[0];
386 ptable->parts[part].id[1] = buf[1];
387 ptable->parts[part].id[2] = buf[2];
390 printf ("root [%8u (%s)] ", ptable->parts[part].root,
391 sec_to_cts (ptable, ptable->parts[part].root, cts, sizeof(cts)));
393 sector = read_sector (ptable, buf, part, PART_ROOT);
394 ptable->parts[part].root = sector;
397 printf ("start [%8u (%s)] ", ptable->parts[part].start,
398 sec_to_cts (ptable, ptable->parts[part].start, cts, sizeof(cts)));
400 sector = read_sector (ptable, buf, part, PART_START);
401 ptable->parts[part].start = sector;
404 printf ("size [%8u (%s) (%4uM)] ", ptable->parts[part].size,
405 sec_to_cts (ptable, ptable->parts[part].size, cts, sizeof(cts)),
406 (ptable->parts[part].size + (BLPM >> 1)) / BLPM);
408 sector = read_sector (ptable, buf, part, PART_END);
409 ptable->parts[part].size = sector;
413 printf ("NetBSD disk letter [%c] ", ptable->parts[part].letter + 'a');
417 ptable->parts[part].letter = buf[0] - 'a';
420 if (!ptable->parts[part].start && !ptable->parts[part].size) {
421 if (part == ptable->nparts - 1)
422 ptable->nparts--;