/* * Copyright (c) 2022, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace Kernel { struct FileSystemInitializer { StringView short_name; StringView name; bool requires_open_file_description { false }; bool requires_block_device { false }; bool requires_seekable_file { false }; ErrorOr> (*create_with_fd)(OpenFileDescription&, ReadonlyBytes) = nullptr; ErrorOr> (*create)(ReadonlyBytes) = nullptr; ErrorOr (*handle_mount_boolean_flag)(Span, StringView key, bool) = nullptr; ErrorOr (*handle_mount_unsigned_integer_flag)(Span, StringView key, u64) = nullptr; ErrorOr (*handle_mount_signed_integer_flag)(Span, StringView key, i64) = nullptr; ErrorOr (*handle_mount_ascii_string_flag)(Span, StringView key, StringView value) = nullptr; }; }