To help clean the code and simplify the code in util/grub-probe.c, this patch renames grub_gpt_part_type to grub_gpt_part_guid and updates grub_gpt_partentry to use this type for both the partition type GUID string and the partition GUID string entries.
This patch also moves the GUID printing logic in util/grub-probe.c to a separate function. This change allows the partuuid logic in the next commit to use the same printing logic without having to completely duplicate it. --- grub-core/disk/ldm.c | 2 +- grub-core/partmap/gpt.c | 4 ++-- include/grub/gpt_partition.h | 8 ++++---- util/grub-install.c | 2 +- util/grub-probe.c | 30 +++++++++++++++--------------- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c index 0f978ad05..2a22d2d6c 100644 --- a/grub-core/disk/ldm.c +++ b/grub-core/disk/ldm.c @@ -135,7 +135,7 @@ msdos_has_ldm_partition (grub_disk_t dsk) return has_ldm; } -static const grub_gpt_part_type_t ldm_type = GRUB_GPT_PARTITION_TYPE_LDM; +static const grub_gpt_part_guid_t ldm_type = GRUB_GPT_PARTITION_TYPE_LDM; /* Helper for gpt_ldm_sector. */ static int diff --git a/grub-core/partmap/gpt.c b/grub-core/partmap/gpt.c index 83bcba779..103f6796f 100644 --- a/grub-core/partmap/gpt.c +++ b/grub-core/partmap/gpt.c @@ -33,10 +33,10 @@ static grub_uint8_t grub_gpt_magic[8] = 0x45, 0x46, 0x49, 0x20, 0x50, 0x41, 0x52, 0x54 }; -static const grub_gpt_part_type_t grub_gpt_partition_type_empty = GRUB_GPT_PARTITION_TYPE_EMPTY; +static const grub_gpt_part_guid_t grub_gpt_partition_type_empty = GRUB_GPT_PARTITION_TYPE_EMPTY; #ifdef GRUB_UTIL -static const grub_gpt_part_type_t grub_gpt_partition_type_bios_boot = GRUB_GPT_PARTITION_TYPE_BIOS_BOOT; +static const grub_gpt_part_guid_t grub_gpt_partition_type_bios_boot = GRUB_GPT_PARTITION_TYPE_BIOS_BOOT; #endif /* 512 << 7 = 65536 byte sectors. */ diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h index 1b32f6725..354fe2246 100644 --- a/include/grub/gpt_partition.h +++ b/include/grub/gpt_partition.h @@ -22,14 +22,14 @@ #include <grub/types.h> #include <grub/partition.h> -struct grub_gpt_part_type +struct grub_gpt_part_guid { grub_uint32_t data1; grub_uint16_t data2; grub_uint16_t data3; grub_uint8_t data4[8]; } __attribute__ ((aligned(8))); -typedef struct grub_gpt_part_type grub_gpt_part_type_t; +typedef struct grub_gpt_part_guid grub_gpt_part_guid_t; #define GRUB_GPT_PARTITION_TYPE_EMPTY \ { 0x0, 0x0, 0x0, \ @@ -70,8 +70,8 @@ struct grub_gpt_header struct grub_gpt_partentry { - grub_gpt_part_type_t type; - grub_uint8_t guid[16]; + grub_gpt_part_guid_t type; + grub_gpt_part_guid_t guid; grub_uint64_t start; grub_uint64_t end; grub_uint64_t attrib; diff --git a/util/grub-install.c b/util/grub-install.c index 75e3e5ba6..5d139856c 100644 --- a/util/grub-install.c +++ b/util/grub-install.c @@ -714,7 +714,7 @@ is_prep_partition (grub_device_t dev) if (grub_disk_read (dev->disk, p->offset, p->index, sizeof (gptdata), &gptdata) == 0) { - const grub_gpt_part_type_t template = { + const grub_gpt_part_guid_t template = { grub_cpu_to_le32_compile_time (0x9e1a2d38), grub_cpu_to_le16_compile_time (0xc612), grub_cpu_to_le16_compile_time (0x4316), diff --git a/util/grub-probe.c b/util/grub-probe.c index 8ac527d2f..21cb80fbe 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -129,6 +129,20 @@ get_targets_string (void) return str; } +static int +print_gpt_guid (grub_gpt_part_guid_t guid) +{ + guid.data1 = grub_le_to_cpu32 (guid.data1); + guid.data2 = grub_le_to_cpu16 (guid.data2); + guid.data3 = grub_le_to_cpu16 (guid.data3); + + return grub_printf ("%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", + guid.data1, guid.data2, guid.data3, guid.data4[0], + guid.data4[1], guid.data4[2], guid.data4[3], + guid.data4[4], guid.data4[5], guid.data4[6], + guid.data4[7]); +} + static void do_print (const char *x, void *data) { @@ -641,21 +655,7 @@ probe (const char *path, char **device_names, char delim) if (grub_disk_read (dev->disk, p->offset, p->index, sizeof (gptdata), &gptdata) == 0) - { - grub_gpt_part_type_t gpttype; - gpttype.data1 = grub_le_to_cpu32 (gptdata.type.data1); - gpttype.data2 = grub_le_to_cpu16 (gptdata.type.data2); - gpttype.data3 = grub_le_to_cpu16 (gptdata.type.data3); - grub_memcpy (gpttype.data4, gptdata.type.data4, 8); - - grub_printf ("%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - gpttype.data1, gpttype.data2, - gpttype.data3, gpttype.data4[0], - gpttype.data4[1], gpttype.data4[2], - gpttype.data4[3], gpttype.data4[4], - gpttype.data4[5], gpttype.data4[6], - gpttype.data4[7]); - } + print_gpt_guid(gptdata.type); dev->disk->partition = p; } putchar (delim); -- 2.13.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel