NeKernel dev
Loading...
Searching...
No Matches
GPT.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#pragma once
8
10#include <NeKit/Config.h>
11
12#define kSectorAlignGPT_PartTbl (420U)
13#define kSectorAlignGPT_PartEntry (72U)
14#define kMagicLenGPT (8U)
15#define kMagicGPT ("EFI PART") // "EFI PART"
16#define kGPTPartitionTableLBA (512U + sizeof(GPT_PARTITION_TABLE))
17
18namespace Kernel {
21
39
48} // namespace Kernel
struct EFI_GUID EFI_FINAL EFI_GUID
GUID type, something you can also find in CFKit.
#define PACKED
#define kMagicLenGPT
Definition GPT.h:14
#define kSectorAlignGPT_PartTbl
Definition GPT.h:12
#define kSectorAlignGPT_PartEntry
Definition GPT.h:13
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
__UINT8_TYPE__ UInt8
Definition Config.h:55
__UINT32_TYPE__ UInt32
Definition Config.h:44
__UINT64_TYPE__ UInt64
Definition Config.h:48
Definition GPT.h:40
UInt64 Attributes
Definition GPT.h:45
UInt64 EndLBA
Definition GPT.h:44
EFI_GUID UniquePartitionGUID
Definition GPT.h:42
UInt8 Name[kSectorAlignGPT_PartEntry]
Definition GPT.h:46
EFI_GUID PartitionTypeGUID
Definition GPT.h:41
UInt64 StartLBA
Definition GPT.h:43
Definition GPT.h:22
UInt64 FirstGPTEntry
Definition GPT.h:30
UInt32 NumPartitionEntries
Definition GPT.h:34
UInt64 LBAAltHeader
Definition GPT.h:29
UInt32 HeaderSize
Definition GPT.h:25
Char Signature[kMagicLenGPT]
Definition GPT.h:23
EFI_GUID Guid
Definition GPT.h:32
UInt64 StartingLBA
Definition GPT.h:33
UInt32 Revision
Definition GPT.h:24
UInt32 Reserved1
Definition GPT.h:27
UInt32 SizeOfEntries
Definition GPT.h:35
UInt32 CRC32PartEntry
Definition GPT.h:36
UInt64 LBAHeader
Definition GPT.h:28
UInt32 CRC32
Definition GPT.h:26
UInt64 LastGPTEntry
Definition GPT.h:31
UInt8 Reserved2[kSectorAlignGPT_PartTbl]
Definition GPT.h:37