71
71
static int xbsd_get_part_index (int max);
72
72
static int xbsd_check_new_partition (int *i);
73
73
static void xbsd_list_types (void);
74
static u_short xbsd_dkcksum (struct xbsd_disklabel *lp);
74
static unsigned short xbsd_dkcksum (struct xbsd_disklabel *lp);
75
75
static int xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d,
77
77
static int xbsd_readlabel (struct partition *p, struct xbsd_disklabel *d);
463
463
d = &xbsd_dlabel;
465
465
#if defined (__alpha__) || defined (__ia64__)
466
d -> d_secsize = (u_long) edit_int ((u_long) d -> d_secsize ,_("bytes/sector"));
467
d -> d_nsectors = (u_long) edit_int ((u_long) d -> d_nsectors ,_("sectors/track"));
468
d -> d_ntracks = (u_long) edit_int ((u_long) d -> d_ntracks ,_("tracks/cylinder"));
469
d -> d_ncylinders = (u_long) edit_int ((u_long) d -> d_ncylinders ,_("cylinders"));
466
d -> d_secsize = (unsigned long) edit_int ((unsigned long) d -> d_secsize ,_("bytes/sector"));
467
d -> d_nsectors = (unsigned long) edit_int ((unsigned long) d -> d_nsectors ,_("sectors/track"));
468
d -> d_ntracks = (unsigned long) edit_int ((unsigned long) d -> d_ntracks ,_("tracks/cylinder"));
469
d -> d_ncylinders = (unsigned long) edit_int ((unsigned long) d -> d_ncylinders ,_("cylinders"));
472
472
/* d -> d_secpercyl can be != d -> d_nsectors * d -> d_ntracks */
475
d -> d_secpercyl = (u_long) edit_int ((u_long) d -> d_nsectors * d -> d_ntracks,
475
d -> d_secpercyl = (unsigned long) edit_int ((unsigned long) d -> d_nsectors * d -> d_ntracks,
476
476
_("sectors/cylinder"));
477
477
if (d -> d_secpercyl <= d -> d_nsectors * d -> d_ntracks)
480
480
printf (_("Must be <= sectors/track * tracks/cylinder (default).\n"));
482
d -> d_rpm = (u_short) edit_int ((u_short) d -> d_rpm ,_("rpm"));
483
d -> d_interleave = (u_short) edit_int ((u_short) d -> d_interleave,_("interleave"));
484
d -> d_trackskew = (u_short) edit_int ((u_short) d -> d_trackskew ,_("trackskew"));
485
d -> d_cylskew = (u_short) edit_int ((u_short) d -> d_cylskew ,_("cylinderskew"));
486
d -> d_headswitch = (u_long) edit_int ((u_long) d -> d_headswitch ,_("headswitch"));
487
d -> d_trkseek = (u_long) edit_int ((u_long) d -> d_trkseek ,_("track-to-track seek"));
482
d -> d_rpm = (unsigned short) edit_int ((unsigned short) d -> d_rpm ,_("rpm"));
483
d -> d_interleave = (unsigned short) edit_int ((unsigned short) d -> d_interleave,_("interleave"));
484
d -> d_trackskew = (unsigned short) edit_int ((unsigned short) d -> d_trackskew ,_("trackskew"));
485
d -> d_cylskew = (unsigned short) edit_int ((unsigned short) d -> d_cylskew ,_("cylinderskew"));
486
d -> d_headswitch = (unsigned long) edit_int ((unsigned long) d -> d_headswitch ,_("headswitch"));
487
d -> d_trkseek = (unsigned long) edit_int ((unsigned long) d -> d_trkseek ,_("track-to-track seek"));
489
489
d -> d_secperunit = d -> d_secpercyl * d -> d_ncylinders;
638
638
list_types (xbsd_fstypes);
641
static unsigned short
642
642
xbsd_dkcksum (struct xbsd_disklabel *lp) {
643
u_short *start, *end;
643
unsigned short *start, *end;
644
unsigned short sum = 0;
646
start = (u_short *) lp;
647
end = (u_short *) &lp->d_partitions[lp->d_npartitions];
646
start = (unsigned short *) lp;
647
end = (unsigned short *) &lp->d_partitions[lp->d_npartitions];
648
648
while (start < end)
654
xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex) {
654
xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d,
655
int pindex __attribute__((__unused__))) {
655
656
struct xbsd_partition *pp;