mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-18 10:27:06 +02:00
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards. The style that this project is now to use the full name of the file in capital letters followed by 'H'. For example, for a file called "uart_example.h", the header guard is UART_EXAMPLE_H. The exceptions are files that are imported from other projects: - CryptoCell driver - dt-bindings folders - zlib headers Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef GPT_H
|
|
#define GPT_H
|
|
|
|
#include <partition.h>
|
|
|
|
#define PARTITION_TYPE_GPT 0xee
|
|
#define GPT_HEADER_OFFSET PARTITION_BLOCK_SIZE
|
|
#define GPT_ENTRY_OFFSET (GPT_HEADER_OFFSET + \
|
|
PARTITION_BLOCK_SIZE)
|
|
#define GUID_LEN 16
|
|
|
|
#define GPT_SIGNATURE "EFI PART"
|
|
|
|
typedef struct gpt_entry {
|
|
unsigned char type_uuid[GUID_LEN];
|
|
unsigned char unique_uuid[GUID_LEN];
|
|
unsigned long long first_lba;
|
|
unsigned long long last_lba;
|
|
unsigned long long attr;
|
|
unsigned short name[EFI_NAMELEN];
|
|
} gpt_entry_t;
|
|
|
|
typedef struct gpt_header {
|
|
unsigned char signature[8];
|
|
unsigned int revision;
|
|
unsigned int size;
|
|
unsigned int header_crc;
|
|
unsigned int reserved;
|
|
unsigned long long current_lba;
|
|
unsigned long long backup_lba;
|
|
unsigned long long first_lba;
|
|
unsigned long long last_lba;
|
|
unsigned char disk_uuid[16];
|
|
/* starting LBA of array of partition entries */
|
|
unsigned long long part_lba;
|
|
/* number of partition entries in array */
|
|
unsigned int list_num;
|
|
/* size of a single partition entry (usually 128) */
|
|
unsigned int part_size;
|
|
unsigned int part_crc;
|
|
} gpt_header_t;
|
|
|
|
int parse_gpt_entry(gpt_entry_t *gpt_entry, partition_entry_t *entry);
|
|
|
|
#endif /* GPT_H */
|