printf(_("Device: %s\n"), cxt->dev_path);
if (disklabel == SUN_LABEL || disklabel == SGI_LABEL)
- print_buffer(cxt, cxt->mbr);
+ print_buffer(cxt, cxt->firstsector);
else for (i = 3; i < partitions; i++)
print_buffer(cxt, ptes[i].sectorbuffer);
}
struct fdisk_context {
int dev_fd; /* device descriptor */
char *dev_path; /* device path */
- unsigned char *mbr; /* buffer with master boot record */
+ unsigned char *firstsector; /* buffer with master boot record */
/* topology */
unsigned long io_size; /* I/O size used by fdisk */
extern int fdisk_dev_has_disklabel(struct fdisk_context *cxt);
extern int fdisk_dev_sectsz_is_default(struct fdisk_context *cxt);
extern void fdisk_free_context(struct fdisk_context *cxt);
-extern void fdisk_mbr_zeroize(struct fdisk_context *cxt);
+extern void fdisk_zeroize_firstsector(struct fdisk_context *cxt);
extern int fdisk_context_force_sector_size(struct fdisk_context *cxt, sector_t s);
extern int fdisk_context_set_user_geometry(struct fdisk_context *cxt,
unsigned int cylinders, unsigned int heads,
#include "fdiskaixlabel.h"
#include "nls.h"
-#define aixlabel ((aix_partition *)cxt->mbr)
+#define aixlabel ((aix_partition *)cxt->firstsector)
static int other_endian = 0;
static short volumes=1;
{
aixlabel->magic = 0;
partitions = 4;
- fdisk_mbr_zeroize(cxt);
+ fdisk_zeroize_firstsector(cxt);
return;
}
for (i = 0; i < 4; i++) {
struct pte *pe = &ptes[i];
- pe->part_table = pt_offset(cxt->mbr, i);
+ pe->part_table = pt_offset(cxt->firstsector, i);
pe->ext_pointer = NULL;
pe->offset = 0;
- pe->sectorbuffer = cxt->mbr;
+ pe->sectorbuffer = cxt->firstsector;
pe->changed = 0;
}
void dos_print_mbr_id(struct fdisk_context *cxt)
{
- printf(_("Disk identifier: 0x%08x\n"), mbr_get_id(cxt->mbr));
+ printf(_("Disk identifier: 0x%08x\n"), mbr_get_id(cxt->firstsector));
}
int create_doslabel(struct fdisk_context *cxt)
fprintf(stderr, _("Building a new DOS disklabel with disk identifier 0x%08x.\n"), id);
dos_init(cxt);
- fdisk_mbr_zeroize(cxt);
+ fdisk_zeroize_firstsector(cxt);
set_all_unchanged();
set_changed(0);
/* Generate an MBR ID for this disk */
- mbr_set_id(cxt->mbr, id);
+ mbr_set_id(cxt->firstsector, id);
/* Put MBR signature */
- mbr_set_magic(cxt->mbr);
+ mbr_set_magic(cxt->firstsector);
return 0;
}
char ps[64];
snprintf(ps, sizeof ps, _("New disk identifier (current 0x%08x): "),
- mbr_get_id(cxt->mbr));
+ mbr_get_id(cxt->firstsector));
if (read_chars(ps) == '\n')
return;
if (*ep != '\n')
return;
- mbr_set_id(cxt->mbr, new_id);
+ mbr_set_id(cxt->firstsector, new_id);
MBRbuffer_changed = 1;
dos_print_mbr_id(cxt);
}
static void get_partition_table_geometry(struct fdisk_context *cxt,
unsigned int *ph, unsigned int *ps)
{
- unsigned char *bufp = cxt->mbr;
+ unsigned char *bufp = cxt->firstsector;
struct partition *p;
int i, h, s, hh, ss;
int first = 1;
int i;
unsigned int h = 0, s = 0;
- if (!mbr_is_valid_magic(cxt->mbr))
+ if (!mbr_is_valid_magic(cxt->firstsector))
return 0;
dos_init(cxt);
MBRbuffer_changed = 1;
}
if (MBRbuffer_changed) {
- mbr_set_magic(cxt->mbr);
- write_sector(cxt, 0, cxt->mbr);
+ mbr_set_magic(cxt->firstsector);
+ write_sector(cxt, 0, cxt->firstsector);
}
/* EBR (logical partitions) */
for (i = 4; i < partitions; i++) {
{
maclabel->magic = 0;
partitions = 4;
- fdisk_mbr_zeroize(cxt);
+ fdisk_zeroize_firstsector(cxt);
return;
}
#define MAC_LABEL_MAGIC_3_SWAPPED 0x0000d405
/* fdisk.c */
-#define maclabel ((mac_partition *)cxt->mbr)
+#define maclabel ((mac_partition *)cxt->firstsector)
/* fdiskmaclabel.c */
extern struct systypes mac_sys_types[];
*/
for (i = 0; i < 4; i++) {
old[i].sysid = 0;
- if (mbr_is_valid_magic(cxt->mbr)) {
+ if (mbr_is_valid_magic(cxt->firstsector)) {
if (get_part_table(i)->sys_ind) {
old[i].sysid = get_part_table(i)->sys_ind;
old[i].start = get_start_sect(get_part_table(i));
break;
}
- fdisk_mbr_zeroize(cxt);
+ fdisk_zeroize_firstsector(cxt);
sgilabel->magic = SSWAP32(SGI_LABEL_MAGIC);
sgilabel->boot_part = SSWAP16(0);
sgilabel->swap_part = SSWAP16(1);
#define SSWAP32(x) (other_endian ? swab32(x) : (uint32_t)(x))
/* fdisk.c */
-#define sgilabel ((sgi_partition *)cxt->mbr)
+#define sgilabel ((sgi_partition *)cxt->firstsector)
#define sgiparam (sgilabel->devparam)
/* fdisksgilabel.c */
#endif
init();
- fdisk_mbr_zeroize(cxt);
+ fdisk_zeroize_firstsector(cxt);
sunlabel->magic = SSWAP16(SUN_LABEL_MAGIC);
sunlabel->sanity = SSWAP32(SUN_LABEL_SANE);
#define SUN_LABEL_MAGIC 0xDABE
#define SUN_LABEL_MAGIC_SWAPPED 0xBEDA
-#define sunlabel ((struct sun_disk_label *)cxt->mbr)
+#define sunlabel ((struct sun_disk_label *)cxt->firstsector)
/* fdisksunlabel.c */
extern struct systypes sun_sys_types[];
return rc;
}
-static int __init_mbr_buffer(struct fdisk_context *cxt)
+static int __init_firstsector_buffer(struct fdisk_context *cxt)
{
- DBG(TOPOLOGY, dbgprint("initialize MBR buffer"));
+ DBG(TOPOLOGY, dbgprint("initialize first sector buffer"));
- cxt->mbr = calloc(1, MAX_SECTOR_SIZE);
- if (!cxt->mbr)
+ cxt->firstsector = calloc(1, MAX_SECTOR_SIZE);
+ if (!cxt->firstsector)
goto fail;
/* read MBR */
- if (512 != read(cxt->dev_fd, cxt->mbr, 512)) {
+ if (512 != read(cxt->dev_fd, cxt->firstsector, 512)) {
if (errno == 0)
errno = EINVAL; /* probably too small file/device */
goto fail;
}
/**
- * fdisk_mbr_zeroize:
+ * fdisk_zeroize_firstsector:
* @cxt: fdisk context
*
* Zero's MBR buffer
*/
-void fdisk_mbr_zeroize(struct fdisk_context *cxt)
+void fdisk_zeroize_firstsector(struct fdisk_context *cxt)
{
- if (cxt->mbr) {
- DBG(CONTEXT, dbgprint("zeroize in-memory MBR"));
- memset(cxt->mbr, 0, MAX_SECTOR_SIZE);
+ if (cxt->firstsector) {
+ DBG(CONTEXT, dbgprint("zeroize in-memory first sector buffer"));
+ memset(cxt->firstsector, 0, MAX_SECTOR_SIZE);
}
}
if (!cxt->dev_path)
goto fail;
- if (__init_mbr_buffer(cxt) < 0)
+ if (__init_firstsector_buffer(cxt) < 0)
goto fail;
__discover_topology(cxt);
DBG(CONTEXT, dbgprint("freeing context for %s", cxt->dev_path));
close(cxt->dev_fd);
free(cxt->dev_path);
- free(cxt->mbr);
+ free(cxt->firstsector);
free(cxt);
}