summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2013-06-18 15:03:26 +0200
committerKarel Zak2013-09-16 16:47:02 +0200
commitf917738efaa60bd1390482d2959986393cea4737 (patch)
tree8a34b741b6c64776197376feb26ea4118a8ad45e
parentfdisk: (dos) rename struct partition to dos_partition (diff)
downloadkernel-qcow2-util-linux-f917738efaa60bd1390482d2959986393cea4737.tar.gz
kernel-qcow2-util-linux-f917738efaa60bd1390482d2959986393cea4737.tar.xz
kernel-qcow2-util-linux-f917738efaa60bd1390482d2959986393cea4737.zip
libblkid: move MBR definitions to include/pt-mbr.h
-rw-r--r--include/pt-mbr.h37
-rw-r--r--libblkid/src/Makemodule.am1
-rw-r--r--libblkid/src/partitions/dos.c11
-rw-r--r--libblkid/src/partitions/dos.h41
-rw-r--r--libblkid/src/partitions/gpt.c3
-rw-r--r--libblkid/src/partitions/minix.c5
6 files changed, 45 insertions, 53 deletions
diff --git a/include/pt-mbr.h b/include/pt-mbr.h
index a02eaa98b..eef940b57 100644
--- a/include/pt-mbr.h
+++ b/include/pt-mbr.h
@@ -1,6 +1,43 @@
#ifndef UTIL_LINUX_PT_MBR_H
#define UTIL_LINUX_PT_MBR_H
+struct dos_partition {
+ unsigned char boot_ind; /* 0x80 - active */
+ unsigned char bh, bs, bc; /* begin CHS */
+ unsigned char sys_type;
+ unsigned char eh, es, ec; /* end CHS */
+ unsigned char start_sect[4];
+ unsigned char nr_sects[4];
+} __attribute__((packed));
+
+#define MBR_PT_OFFSET 0x1be
+
+/* assemble badly aligned little endian integer */
+static inline unsigned int __dos_assemble4le(const unsigned char *p)
+{
+ return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
+}
+
+static inline unsigned int dos_partition_start(struct dos_partition *p)
+{
+ return __dos_assemble4le(&(p->start_sect[0]));
+}
+
+static inline unsigned int dos_partition_size(struct dos_partition *p)
+{
+ return __dos_assemble4le(&(p->nr_sects[0]));
+}
+
+static inline int is_valid_mbr_signature(const unsigned char *mbr)
+{
+ return mbr[510] == 0x55 && mbr[511] == 0xaa ? 1 : 0;
+}
+
+static inline unsigned int dos_parttable_id(const unsigned char *mbr)
+{
+ return __dos_assemble4le(&mbr[440]);
+}
+
enum {
MBR_EMPTY_PARTITION = 0x00,
MBR_FAT12_PARTITION = 0x01,
diff --git a/libblkid/src/Makemodule.am b/libblkid/src/Makemodule.am
index 3c153ab37..a335db4ee 100644
--- a/libblkid/src/Makemodule.am
+++ b/libblkid/src/Makemodule.am
@@ -32,7 +32,6 @@ libblkid_la_SOURCES = \
libblkid/src/partitions/aix.h \
libblkid/src/partitions/bsd.c \
libblkid/src/partitions/dos.c \
- libblkid/src/partitions/dos.h \
libblkid/src/partitions/gpt.c \
libblkid/src/partitions/mac.c \
libblkid/src/partitions/minix.c \
diff --git a/libblkid/src/partitions/dos.c b/libblkid/src/partitions/dos.c
index 9b3991ba9..0e0413e64 100644
--- a/libblkid/src/partitions/dos.c
+++ b/libblkid/src/partitions/dos.c
@@ -14,7 +14,6 @@
#include <stdint.h>
#include "partitions.h"
-#include "dos.h"
#include "aix.h"
/* see superblocks/vfat.c */
@@ -61,7 +60,7 @@ static int parse_dos_extended(blkid_probe pr, blkid_parttable tab,
if (!is_valid_mbr_signature(data))
goto leave;
- p0 = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+ p0 = (struct dos_partition *) (data + MBR_PT_OFFSET);
/* Usually, the first entry is the real data partition,
* the 2nd entry is the next extended partition, or empty,
@@ -160,7 +159,7 @@ static int probe_dos_pt(blkid_probe pr,
goto nothing;
}
- p0 = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+ p0 = (struct dos_partition *) (data + MBR_PT_OFFSET);
/*
* Reject PT where boot indicator is not 0 or 0x80.
@@ -181,8 +180,8 @@ static int probe_dos_pt(blkid_probe pr,
}
}
- blkid_probe_use_wiper(pr, BLKID_MSDOS_PT_OFFSET,
- 512 - BLKID_MSDOS_PT_OFFSET);
+ blkid_probe_use_wiper(pr, MBR_PT_OFFSET,
+ 512 - MBR_PT_OFFSET);
id = dos_parttable_id(data);
if (id)
@@ -207,7 +206,7 @@ static int probe_dos_pt(blkid_probe pr,
ssf = blkid_probe_get_sectorsize(pr) / 512;
/* allocate a new partition table */
- tab = blkid_partlist_new_parttable(ls, "dos", BLKID_MSDOS_PT_OFFSET);
+ tab = blkid_partlist_new_parttable(ls, "dos", MBR_PT_OFFSET);
if (!tab)
goto err;
diff --git a/libblkid/src/partitions/dos.h b/libblkid/src/partitions/dos.h
deleted file mode 100644
index d7588a856..000000000
--- a/libblkid/src/partitions/dos.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef BLKID_PARTITIONS_DOS_H
-#define BLKID_PARTITIONS_DOS_H
-
-struct dos_partition {
- unsigned char boot_ind; /* 0x80 - active */
- unsigned char bh, bs, bc; /* begin CHS */
- unsigned char sys_type;
- unsigned char eh, es, ec; /* end CHS */
- unsigned char start_sect[4];
- unsigned char nr_sects[4];
-} __attribute__((packed));
-
-#define BLKID_MSDOS_PT_OFFSET 0x1be
-
-/* assemble badly aligned little endian integer */
-static inline unsigned int assemble4le(const unsigned char *p)
-{
- return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
-}
-
-static inline unsigned int dos_partition_start(struct dos_partition *p)
-{
- return assemble4le(&(p->start_sect[0]));
-}
-
-static inline unsigned int dos_partition_size(struct dos_partition *p)
-{
- return assemble4le(&(p->nr_sects[0]));
-}
-
-static inline int is_valid_mbr_signature(const unsigned char *mbr)
-{
- return mbr[510] == 0x55 && mbr[511] == 0xaa ? 1 : 0;
-}
-
-static inline unsigned int dos_parttable_id(const unsigned char *mbr)
-{
- return assemble4le(&mbr[440]);
-}
-
-#endif /* BLKID_PARTITIONS_DOS_H */
diff --git a/libblkid/src/partitions/gpt.c b/libblkid/src/partitions/gpt.c
index 21b8c9881..39a41815c 100644
--- a/libblkid/src/partitions/gpt.c
+++ b/libblkid/src/partitions/gpt.c
@@ -20,7 +20,6 @@
#include "partitions.h"
#include "crc32.h"
-#include "dos.h"
#define GPT_PRIMARY_LBA 1
@@ -173,7 +172,7 @@ static int is_pmbr_valid(blkid_probe pr)
if (!is_valid_mbr_signature(data))
goto failed;
- p = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+ p = (struct dos_partition *) (data + MBR_PT_OFFSET);
for (i = 0; i < 4; i++, p++) {
if (p->sys_type == MBR_GPT_PARTITION)
diff --git a/libblkid/src/partitions/minix.c b/libblkid/src/partitions/minix.c
index f76c86aeb..5730f44c5 100644
--- a/libblkid/src/partitions/minix.c
+++ b/libblkid/src/partitions/minix.c
@@ -12,7 +12,6 @@
#include <stdint.h>
#include "partitions.h"
-#include "dos.h"
#include "minix.h"
static int probe_minix_pt(blkid_probe pr,
@@ -47,9 +46,9 @@ static int probe_minix_pt(blkid_probe pr,
/* caller does not ask for details about partitions */
return 0;
- p = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+ p = (struct dos_partition *) (data + MBR_PT_OFFSET);
- tab = blkid_partlist_new_parttable(ls, "minix", BLKID_MSDOS_PT_OFFSET);
+ tab = blkid_partlist_new_parttable(ls, "minix", MBR_PT_OFFSET);
if (!tab)
goto err;