From 61c1751407b35ed4fe98d5e1e39608c7940349d2 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 9 Sep 2007 22:29:50 +0000 Subject: *** empty log message *** --- src/pmbr.c | 90 +++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 48 insertions(+), 42 deletions(-) (limited to 'src/pmbr.c') diff --git a/src/pmbr.c b/src/pmbr.c index 0ba1752..a9bbfb8 100644 --- a/src/pmbr.c +++ b/src/pmbr.c @@ -1,58 +1,64 @@ #include "project.h" -void mbr_entry_show(MBR_entry *e) +void +mbr_entry_show (MBR_entry * e) { -printf(" flags %02x start chs %5d/%3d/%2d start sector %10d\n", - e->bootable, - MBR_CYLINDER(e->chs_start.cs), - e->chs_start.head, - MBR_SECTOR(e->chs_start.cs), - e->start); - -printf(" system %02x end chs %5d/%3d/%2d end sector %10d\n", - e->system, - MBR_CYLINDER(e->chs_end.cs), - e->chs_end.head, - MBR_SECTOR(e->chs_end.cs), - e->size+e->start); + printf (" flags %02x start chs %5d/%3d/%2d start sector %10d\n", + e->bootable, + MBR_CYLINDER (e->chs_start.cs), + e->chs_start.head, MBR_SECTOR (e->chs_start.cs), e->start); + + printf (" system %02x end chs %5d/%3d/%2d end sector %10d\n", + e->system, + MBR_CYLINDER (e->chs_end.cs), + e->chs_end.head, MBR_SECTOR (e->chs_end.cs), e->size + e->start); } -void mbr_show(MBR *m) + +void +mbr_show (MBR * m) { -int i; + int i; -printf(" PMBR:\n"); + printf (" PMBR:\n"); -for (i=0;i<4;++i) { -if (m->entry[i].system) { -printf(" Entry %d:\n",i); -mbr_entry_show(&m->entry[i]); -} -} -if (memcmp(m->signature,MBR_SIGNATURE,sizeof(m->signature))) { -printf(" Signature INVALID\n"); -} else { -printf(" Signature valid\n"); -} + for (i = 0; i < 4; ++i) + { + if (m->entry[i].system) + { + printf (" Entry %d:\n", i); + mbr_entry_show (&m->entry[i]); + } + } + if (memcmp (m->signature, MBR_SIGNATURE, sizeof (m->signature))) + { + printf (" Signature INVALID\n"); + } + else + { + printf (" Signature valid\n"); + } } -MBR mbr_new(uint64_t lbas) +MBR +mbr_new (uint64_t lbas) { -uint64_t cyls=lbas; -MBR ret={0}; + uint64_t cyls = lbas; + MBR ret = { 0 }; -cyls=cyls/(63*255); -if (cyls>1023) cyls=1023; + cyls = cyls / (63 * 255); + if (cyls > 1023) + cyls = 1023; -ret.entry[0].bootable=0; -ret.entry[0].chs_start.cs=MBR_CS(0,1); -ret.entry[0].system=MBR_PARTITION_TYPE_EFI; -ret.entry[0].chs_end.head=254; -ret.entry[0].chs_end.cs=MBR_CS(cyls,63); -ret.entry[0].start=1; -ret.entry[0].size=lbas-1; + ret.entry[0].bootable = 0; + ret.entry[0].chs_start.cs = MBR_CS (0, 1); + ret.entry[0].system = MBR_PARTITION_TYPE_EFI; + ret.entry[0].chs_end.head = 254; + ret.entry[0].chs_end.cs = MBR_CS (cyls, 63); + ret.entry[0].start = 1; + ret.entry[0].size = lbas - 1; -memcpy(ret.signature,MBR_SIGNATURE,sizeof(ret.signature)); + memcpy (ret.signature, MBR_SIGNATURE, sizeof (ret.signature)); -return ret; + return ret; } -- cgit v1.2.3