summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-27 22:46:42 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-27 22:46:59 +0200
commit69265679315389a82387e963cc69a2b7343356b5 (patch)
tree4be6939e4d39d71de0f7d23ecff66a0421d03527
parent2fe8c419e2724a7009d39e4adeb05de7569d5d11 (diff)
feat: FirmwareKit/NeBoot: Fix BootNet header structure layout
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
-rw-r--r--dev/kernel/FirmwareKit/NeBoot/BootNet.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/dev/kernel/FirmwareKit/NeBoot/BootNet.h b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
index 3ed11363..250d0bc8 100644
--- a/dev/kernel/FirmwareKit/NeBoot/BootNet.h
+++ b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
@@ -13,11 +13,13 @@
#define kBootNetVersion (0x001)
#define kBootNetNameLen (256U)
+struct _BOOTNET_INTERNET_HEADER;
+
/// @brief Netboot Internet Header
/// Consists of 4 magic characters, and a set of fields describing the current patch that's being
/// sent (if m_preflight = 0)
/// @note Can be used to patch ROMs too (if ImpliesProgram = 1)
-typedef struct BOOTNET_INTERNET_HEADER {
+typedef struct _BOOTNET_INTERNET_HEADER {
Kernel::Char NB1; /// magic char 1 'O'
Kernel::Char NB2; /// magic char 2 'N'
Kernel::Char NB3; /// magic char 3 'E'
@@ -29,4 +31,6 @@ typedef struct BOOTNET_INTERNET_HEADER {
Kernel::Boolean ImpliesProgram : 1; /// does it imply reprogramming?
Kernel::Boolean Preflight : 1; /// is it a preflight packet.
Kernel::Char Data[1]; /// non preflight packet has a patch blob for a **PatchTarget**
-} BOOTNET_INTERNET_HEADER;
+} PACKED BOOTNET_INTERNET_HEADER;
+
+using BOOT_INTERNET_HEADER_PTR = BOOT_INTERNET_HEADER;