Nearly complete rewrite of cgpt tool.

This fixes a number of bugs, adds a bunch of commands, and essentially makes
cgpt ready to use as a replacement for gpt. Still to do is to add commands
and options that will let it generated intentionally bad partitions, for use
in testing.

Review URL: http://codereview.chromium.org/2719008
This commit is contained in:
Bill Richardson
2010-06-11 09:15:55 -07:00
parent 6a97b3e2a1
commit f1372d9109
29 changed files with 2216 additions and 2058 deletions

View File

@@ -73,7 +73,7 @@ typedef struct {
uint32_t revision;
uint32_t size;
uint32_t header_crc32;
uint32_t reserved;
uint32_t reserved_zero;
uint64_t my_lba;
uint64_t alternate_lba;
uint64_t first_usable_lba;
@@ -84,7 +84,7 @@ typedef struct {
uint32_t number_of_entries;
uint32_t size_of_entry;
uint32_t entries_crc32;
uint8_t padding[512 - 92]; /* Pad to end of sector */
uint8_t reserved_padding[]; /* entire sector reserved for header */
} GptHeader;
/* GPT partition entry defines the starting and ending LBAs of a partition.
@@ -98,7 +98,8 @@ typedef struct {
uint64_t starting_lba;
uint64_t ending_lba;
uint64_t attributes;
uint16_t name[36]; /* UTF-16 encoded partition name */
uint16_t name[36]; /* UTF-16 encoded partition name */
uint8_t reserved[]; /* nothing, really */
} GptEntry;
#endif /* VBOOT_REFERENCE_CGPTLIB_GPT_H_ */