summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/FirmwareKit/NeBoot/BootNet.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-28 09:26:40 +0200
committerGitHub <noreply@github.com>2025-08-28 09:26:40 +0200
commit36f7cf9ca4eb917ffd09fdfa6abf04ee10f3dc7e (patch)
tree1e388b162ba5d583bc39c9b23d71fd49224d1847 /dev/kernel/FirmwareKit/NeBoot/BootNet.h
parent97f0b0d062f93040fb43ac5c882c40691c58ff7a (diff)
parent2a85aaf252725ec5b3b70a5baf99cfacee6b120a (diff)
Merge pull request #59 from nekernel-org/dev
v0.0.4e2 — Boulder
Diffstat (limited to 'dev/kernel/FirmwareKit/NeBoot/BootNet.h')
-rw-r--r--dev/kernel/FirmwareKit/NeBoot/BootNet.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/dev/kernel/FirmwareKit/NeBoot/BootNet.h b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
index 3ed11363..ad8f07c5 100644
--- a/dev/kernel/FirmwareKit/NeBoot/BootNet.h
+++ b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
@@ -13,20 +13,29 @@
#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'
Kernel::Char NB4; /// magic char 4 'T'
+
Kernel::UInt16 Version;
+
Kernel::Char Name[kBootNetNameLen]; /// example: Modjo
+
Kernel::Int32 Length; /// the patch length.
Kernel::Char Target[kBootNetNameLen]; /// the target file.
+
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 BOOTNET_INTERNET_HEADER_PTR = BOOTNET_INTERNET_HEADER*;