diff options
| author | Shao Miller <shao.miller@yrdsb.edu.on.ca> | 2010-06-28 06:16:27 -0400 |
|---|---|---|
| committer | Shao Miller <shao.miller@yrdsb.edu.on.ca> | 2010-07-10 01:03:07 -0400 |
| commit | a3e5be2ccec7c50e771f4807c8d3156c2c97330c (patch) | |
| tree | dc96c6da5a07a6b6bae9331385b115e766a5cdff /com32/include/syslinux | |
| parent | 2cb2149a7c579ad8732053bd3391512daf253502 (diff) | |
| download | syslinux-a3e5be2ccec7c50e771f4807c8d3156c2c97330c.tar.gz | |
chain.c32, libcom32: Move struct gpt as disk_gpt_header
Also moved gpt_sig_magic as disk_gpt_sig_magic.
Moving portions of chain.c32 into libcom32.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Diffstat (limited to 'com32/include/syslinux')
| -rw-r--r-- | com32/include/syslinux/disk.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/com32/include/syslinux/disk.h b/com32/include/syslinux/disk.h index 7c4e276f..37641d06 100644 --- a/com32/include/syslinux/disk.h +++ b/com32/include/syslinux/disk.h @@ -112,6 +112,33 @@ struct disk_gpt_part_entry { char name[72]; } __attribute__ ((packed)); +/* A GPT header */ +struct disk_gpt_header { + char sig[8]; + union { + struct { + uint16_t minor; + uint16_t major; + } fields __attribute__ ((packed)); + uint32_t uint32; + char raw[4]; + } rev __attribute__ ((packed)); + uint32_t hdr_size; + uint32_t chksum; + char reserved1[4]; + uint64_t lba_cur; + uint64_t lba_alt; + uint64_t lba_first_usable; + uint64_t lba_last_usable; + struct guid disk_guid; + uint64_t lba_table; + uint32_t part_count; + uint32_t part_size; + uint32_t table_chksum; + char reserved2[1]; +} __attribute__ ((packed)); +static const char disk_gpt_sig_magic[] = "EFI PART"; + extern int disk_int13_retry(const com32sys_t * inreg, com32sys_t * outreg); extern int disk_get_params(int disk, struct disk_info *const diskinfo); extern void *disk_read_sectors(const struct disk_info *const diskinfo, |
