diff options
Diffstat (limited to 'public/frameworks')
| -rw-r--r-- | public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc | 32 | ||||
| -rw-r--r-- | public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc | 2 |
2 files changed, 33 insertions, 1 deletions
diff --git a/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc b/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc new file mode 100644 index 00000000..39f53a7a --- /dev/null +++ b/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc @@ -0,0 +1,32 @@ +/* ------------------------------------------- + + Copyright (C) 2025, Amlal El Mahrouss, all rights reserved. + + FILE: DiskImage+NeFS.cc + PURPOSE: Disk Imaging framework. + + ------------------------------------------- */ + +#include <DiskImage.fwrk/headers/DiskImage.h> + +#include <FSKit/HeFS.h> +#include <FirmwareKit/EPM.h> + +/// @brief format HeFS over an EPM disk. +/// @param img disk image structure. +/// @return Status code upon completion. +SInt32 DI::DIFormatFilesystemNeFS(struct DI_DISK_IMAGE& img) noexcept { + if (!img.sector_sz || (img.sector_sz % 512 != 0)) return kDIFailureStatus; + + if (*img.out_name == 0 || *img.disk_name == 0) return kDIFailureStatus; + + IORef handle = IoOpenFile(img.out_name, nullptr); + + if (!handle) return kDIFailureStatus; + + ::IoCloseFile(handle); + + handle = nullptr; + + return kDISuccessStatus; +}
\ No newline at end of file diff --git a/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc b/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc index bee84cca..9f5aa12b 100644 --- a/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc +++ b/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc @@ -12,7 +12,7 @@ #include <FSKit/NeFS.h> #include <FirmwareKit/EPM.h> -/// @brief NeFS format over EPM. +/// @brief format NeFS over an EPM disk. /// @param img disk image structure. /// @return Status code upon completion. SInt32 DI::DIFormatFilesystemNeFS(struct DI_DISK_IMAGE& img) noexcept { |
