summaryrefslogtreecommitdiffhomepage
path: root/Private/Tools
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-15 20:37:20 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-15 20:39:36 +0100
commit8f9b5e08f53f6e49a1f4c6b20e17c54298da9c44 (patch)
tree6436b7deedeffc32cdc9e27c24a868ac896db89a /Private/Tools
parenta87a74f9d56078ec55b3b73c81cfc422dca6554c (diff)
HCR-14: HCFS and NewFS: Reworked some parts of it, will also work on
exposing objects for it. - Expsoing objects to the API is important so that the developer can take advantage of these filesystem specific APIs. - Update XRN UUID formatting. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/Tools')
-rw-r--r--Private/Tools/Makefile8
-rw-r--r--Private/Tools/make_hcfs.cxx (renamed from Private/Tools/make_hcfs.c)5
-rw-r--r--Private/Tools/make_hcfs.hxx (renamed from Private/Tools/disk_api.h)14
3 files changed, 25 insertions, 2 deletions
diff --git a/Private/Tools/Makefile b/Private/Tools/Makefile
new file mode 100644
index 00000000..8999e00c
--- /dev/null
+++ b/Private/Tools/Makefile
@@ -0,0 +1,8 @@
+##################################################
+# ; (C) Mahrouss Logic, 2024, all rights reserved.
+# This is the tools makefile.
+##################################################
+
+.PHONY: make_hcfs
+make_hcfs:
+ g++ -I./ -std=c++20 make_hcfs.cxx -o make_hcfs.exe \ No newline at end of file
diff --git a/Private/Tools/make_hcfs.c b/Private/Tools/make_hcfs.cxx
index 273cd0fc..9ffeca30 100644
--- a/Private/Tools/make_hcfs.c
+++ b/Private/Tools/make_hcfs.cxx
@@ -16,10 +16,11 @@
/// @brief NewFS partition program.
/***********************************************************************************/
-#include <disk_api.h>
+#include <make_hcfs.hxx>
int main(void) {
- printf("%s\n", "makeHCFS, brought to you by Amlal El Mahrouss.");
+ printf("%s\n", "HCFS Partition Tool, brought to you by Amlal El Mahrouss.");
+ printf("%s\n", "Copyright Mahrouss Logic, all rights reserved.");
return 0;
}
diff --git a/Private/Tools/disk_api.h b/Private/Tools/make_hcfs.hxx
index 27a446c2..3db4a764 100644
--- a/Private/Tools/disk_api.h
+++ b/Private/Tools/make_hcfs.hxx
@@ -27,3 +27,17 @@ typedef struct __sDISK
uintptr_t fDiskCursor;
size_t fDiskSize;
} DISK, *PDISK;
+
+#define PACKED __attribute__((packed))
+
+typedef struct HCFSBTree final {
+ wchar_t fCatalogName[255];
+ struct {
+ uint64_t fDataCatalog;
+ uint64_t fRsrcCatalog;
+ size_t fDataCatalogSize;
+ size_t fRsrcCatalogSize;
+ } fCatalogData;
+ struct HCFSBTree* fPrevElement;
+ struct HCFSBTree* fNextElement;
+} PACKED HCFSBTree; \ No newline at end of file