#ifndef _GPT_H_ #define _GPT_H_ #include #include struct gpt_header { char sig[8]; uint32_t revision; uint32_t size; uint32_t crc32; uint32_t res; uint64_t lba; uint64_t lba_mirror; uint64_t first_block; uint64_t last_block; uint8_t guid[16]; uint64_t first_lba; uint32_t number_partitions; uint32_t size_partitions; uint32_t crc32_entry; }; struct gpt_entry { uint8_t type[16]; uint8_t guid[16]; struct { uint64_t start; uint64_t end; } lba; uint64_t attrs; char name[72]; }; struct disk; struct gpt_header *read_gpt_disk(struct disk *disk); struct gpt_entry *get_gpt_entry(struct disk *disk, struct gpt_header *header, size_t num); char *read_gpt_entry(struct disk *disk, struct gpt_entry *entry); #endif