diff options
-rw-r--r-- | fdisks/fdisk.c | 14 | ||||
-rw-r--r-- | fdisks/fdisksunlabel.c | 12 | ||||
-rw-r--r-- | fdisks/fdisksunlabel.h | 14 |
3 files changed, 22 insertions, 18 deletions
diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c index 937996368..3c569d831 100644 --- a/fdisks/fdisk.c +++ b/fdisks/fdisk.c @@ -874,7 +874,7 @@ expert_command_prompt(struct fdisk_context *cxt) switch (c) { case 'a': if (fdisk_is_disklabel(cxt, SUN)) - sun_set_alt_cyl(cxt); + fdisk_sun_set_alt_cyl(cxt); break; case 'b': if (fdisk_is_disklabel(cxt, DOS)) @@ -886,7 +886,7 @@ expert_command_prompt(struct fdisk_context *cxt) _("Number of cylinders")); fdisk_override_geometry(cxt, user_cylinders, user_heads, user_sectors); if (fdisk_is_disklabel(cxt, SUN)) - sun_set_ncyl(cxt, cxt->geom.cylinders); + fdisk_sun_set_ncyl(cxt, cxt->geom.cylinders); break; case 'd': print_raw(cxt); @@ -895,7 +895,7 @@ expert_command_prompt(struct fdisk_context *cxt) if (fdisk_is_disklabel(cxt, SGI)) sgi_set_xcyl(); else if (fdisk_is_disklabel(cxt, SUN)) - sun_set_xcyl(cxt); + fdisk_sun_set_xcyl(cxt); else if (fdisk_is_disklabel(cxt, DOS)) dos_list_table_expert(cxt, 1); @@ -914,13 +914,13 @@ expert_command_prompt(struct fdisk_context *cxt) break; case 'i': if (fdisk_is_disklabel(cxt, SUN)) - sun_set_ilfact(cxt); + fdisk_sun_set_ilfact(cxt); else if (fdisk_is_disklabel(cxt, DOS)) dos_set_mbr_id(cxt); break; case 'o': if (fdisk_is_disklabel(cxt, SUN)) - sun_set_rspeed(cxt); + fdisk_sun_set_rspeed(cxt); break; case 'p': if (fdisk_is_disklabel(cxt, SUN)) @@ -949,7 +949,7 @@ expert_command_prompt(struct fdisk_context *cxt) break; case 'y': if (fdisk_is_disklabel(cxt, SUN)) - sun_set_pcylcount(cxt); + fdisk_sun_set_pcylcount(cxt); break; default: print_menu(cxt, EXPERT_MENU); @@ -1219,6 +1219,8 @@ int main(int argc, char **argv) break; case 'c': if (optarg) { + /* this setting is independent on the current + * actively used label */ lb = fdisk_context_get_label(cxt, "dos"); if (!lb) err(EXIT_FAILURE, _("not found DOS label driver")); diff --git a/fdisks/fdisksunlabel.c b/fdisks/fdisksunlabel.c index b7c68b762..5826465d4 100644 --- a/fdisks/fdisksunlabel.c +++ b/fdisks/fdisksunlabel.c @@ -726,7 +726,7 @@ void sun_list_table(struct fdisk_context *cxt, int xtra) } -void sun_set_alt_cyl(struct fdisk_context *cxt) +void fdisk_sun_set_alt_cyl(struct fdisk_context *cxt) { struct sun_disklabel *sunlabel = self_disklabel(cxt); uintmax_t res; @@ -739,13 +739,13 @@ void sun_set_alt_cyl(struct fdisk_context *cxt) sunlabel->acyl = cpu_to_be16(res); } -void sun_set_ncyl(struct fdisk_context *cxt, int cyl) +void fdisk_sun_set_ncyl(struct fdisk_context *cxt, int cyl) { struct sun_disklabel *sunlabel = self_disklabel(cxt); sunlabel->ncyl = cpu_to_be16(cyl); } -void sun_set_xcyl(struct fdisk_context *cxt) +void fdisk_sun_set_xcyl(struct fdisk_context *cxt) { struct sun_disklabel *sunlabel = self_disklabel(cxt); uintmax_t res; @@ -758,7 +758,7 @@ void sun_set_xcyl(struct fdisk_context *cxt) sunlabel->apc = cpu_to_be16(res); } -void sun_set_ilfact(struct fdisk_context *cxt) +void fdisk_sun_set_ilfact(struct fdisk_context *cxt) { struct sun_disklabel *sunlabel = self_disklabel(cxt); uintmax_t res; @@ -771,7 +771,7 @@ void sun_set_ilfact(struct fdisk_context *cxt) sunlabel->intrlv = cpu_to_be16(res); } -void sun_set_rspeed(struct fdisk_context *cxt) +void fdisk_sun_set_rspeed(struct fdisk_context *cxt) { struct sun_disklabel *sunlabel = self_disklabel(cxt); uintmax_t res; @@ -785,7 +785,7 @@ void sun_set_rspeed(struct fdisk_context *cxt) } -void sun_set_pcylcount(struct fdisk_context *cxt) +void fdisk_sun_set_pcylcount(struct fdisk_context *cxt) { struct sun_disklabel *sunlabel = self_disklabel(cxt); uintmax_t res; diff --git a/fdisks/fdisksunlabel.h b/fdisks/fdisksunlabel.h index 370744cc8..2dba11ba5 100644 --- a/fdisks/fdisksunlabel.h +++ b/fdisks/fdisksunlabel.h @@ -3,14 +3,16 @@ #include "pt-sun.h" +/* public SUN specific functions (TODO: move to libfdisk.h) */ +extern void fdisk_sun_set_alt_cyl(struct fdisk_context *cxt); +extern void fdisk_sun_set_ncyl(struct fdisk_context *cxt, int cyl); +extern void fdisk_sun_set_xcyl(struct fdisk_context *cxt); +extern void fdisk_sun_set_ilfact(struct fdisk_context *cxt); +extern void fdisk_sun_set_rspeed(struct fdisk_context *cxt); +extern void fdisk_sun_set_pcylcount(struct fdisk_context *cxt); + /* fdisksunlabel.c */ extern void sun_list_table(struct fdisk_context *cxt, int xtra); -extern void sun_set_alt_cyl(struct fdisk_context *cxt); -extern void sun_set_ncyl(struct fdisk_context *cxt, int cyl); -extern void sun_set_xcyl(struct fdisk_context *cxt); -extern void sun_set_ilfact(struct fdisk_context *cxt); -extern void sun_set_rspeed(struct fdisk_context *cxt); -extern void sun_set_pcylcount(struct fdisk_context *cxt); extern void toggle_sunflags(struct fdisk_context *cxt, size_t i, uint16_t mask); |