aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel/filesystems/fat32/error.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel/filesystems/fat32/error.hpp')
-rw-r--r--kernel/kernel/filesystems/fat32/error.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/kernel/filesystems/fat32/error.hpp b/kernel/kernel/filesystems/fat32/error.hpp
new file mode 100644
index 00000000..6955be3f
--- /dev/null
+++ b/kernel/kernel/filesystems/fat32/error.hpp
@@ -0,0 +1,33 @@
+#ifndef TEACHOS_KERNEL_FILESYSTEMS_FAT32_ERROR_HPP
+#define TEACHOS_KERNEL_FILESYSTEMS_FAT32_ERROR_HPP
+
+#include <kernel/vfs/error.hpp>
+
+#include <kstd/system_error.hpp>
+
+#include <type_traits>
+
+namespace kernel::filesystems::fat32
+{
+ enum struct errc : int
+ {
+ invalid_boot_signature = 1
+ };
+
+ [[nodiscard]] auto category() noexcept -> kstd::error_category const &;
+
+ [[nodiscard]] constexpr auto inline make_error_code(errc error) noexcept -> kstd::error_code
+ {
+ return {static_cast<int>(error), category()};
+ }
+} // namespace kernel::filesystems::fat32
+
+namespace kstd
+{
+ template<>
+ struct is_error_code_enum<kernel::filesystems::fat32::errc> : std::true_type
+ {
+ };
+} // namespace kstd
+
+#endif \ No newline at end of file