diff options
| -rw-r--r-- | disk/part_efi.c | 2 | ||||
| -rw-r--r-- | disk/part_efi.h | 15 | 
2 files changed, 11 insertions, 6 deletions
| diff --git a/disk/part_efi.c b/disk/part_efi.c index 6b80cd98d..d56350958 100644 --- a/disk/part_efi.c +++ b/disk/part_efi.c @@ -158,6 +158,7 @@ void print_part_efi(block_dev_desc_t * dev_desc)  	debug("%s: gpt-entry at %p\n", __func__, gpt_pte);  	printf("Part\tStart LBA\tEnd LBA\t\tName\n"); +	printf("\tAttributes\n");  	printf("\tType UUID\n");  	printf("\tPartition UUID\n"); @@ -170,6 +171,7 @@ void print_part_efi(block_dev_desc_t * dev_desc)  			le64_to_int(gpt_pte[i].starting_lba),  			le64_to_int(gpt_pte[i].ending_lba),  			print_efiname(&gpt_pte[i])); +		printf("\tattrs:\t0x%016llx\n", gpt_pte[i].attributes.raw);  		uuid_string(gpt_pte[i].partition_type_guid.b, uuid);  		printf("\ttype:\t%s\n", uuid);  		uuid_string(gpt_pte[i].unique_partition_guid.b, uuid); diff --git a/disk/part_efi.h b/disk/part_efi.h index 1d0c67cbe..4e28d1dcb 100644 --- a/disk/part_efi.h +++ b/disk/part_efi.h @@ -111,12 +111,15 @@ typedef struct _gpt_header {  	unsigned char reserved2[GPT_BLOCK_SIZE - 92];  } __attribute__ ((packed)) gpt_header; -typedef struct _gpt_entry_attributes { -	unsigned long long required_to_function:1; -	unsigned long long no_block_io_protocol:1; -	unsigned long long legacy_bios_bootable:1; -	unsigned long long reserved:45; -	unsigned long long type_guid_specific:16; +typedef union _gpt_entry_attributes { +	struct { +		unsigned long long required_to_function:1; +		unsigned long long no_block_io_protocol:1; +		unsigned long long legacy_bios_bootable:1; +		unsigned long long reserved:45; +		unsigned long long type_guid_specific:16; +	} fields; +	unsigned long long raw;  } __attribute__ ((packed)) gpt_entry_attributes;  #define PARTNAME_SZ	(72 / sizeof(efi_char16_t)) |