diff options
Diffstat (limited to 'kernel/kapi')
| -rw-r--r-- | kernel/kapi/devices/device.cpp | 5 | ||||
| -rw-r--r-- | kernel/kapi/filesystem.cpp | 10 | ||||
| -rw-r--r-- | kernel/kapi/filesystem.tests.cpp | 16 |
3 files changed, 15 insertions, 16 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp index d8cae29c..6ac92e79 100644 --- a/kernel/kapi/devices/device.cpp +++ b/kernel/kapi/devices/device.cpp @@ -31,11 +31,6 @@ namespace kapi::devices return m_name; } - [[nodiscard]] auto device::is_block_device() const -> bool - { - return false; - } - auto device::set_parent(kstd::observer_ptr<bus> parent) -> void { m_parent = parent; diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp index 982d5df0..b2f94747 100644 --- a/kernel/kapi/filesystem.cpp +++ b/kernel/kapi/filesystem.cpp @@ -7,6 +7,7 @@ #include <kstd/memory.hpp> #include <kstd/result.hpp> #include <kstd/system_error.hpp> +#include <kstd/units.hpp> #include <cstddef> #include <expected> @@ -42,17 +43,18 @@ namespace kapi::filesystem .and_then([=]() { return kernel::filesystem::open_file_table::get().remove_file(file_descriptor); }); } - auto read(size_t file_descriptor, std::span<std::byte> buffer) -> std::expected<std::size_t, kstd::error_code> + auto read(size_t file_descriptor, std::span<std::byte> buffer) -> std::expected<kstd::units::bytes, kstd::error_code> { return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) { - return descriptor->read(buffer.data(), buffer.size()); + return descriptor->read(buffer.data(), kstd::units::bytes{buffer.size()}); }); } - auto write(size_t file_descriptor, std::span<std::byte const> buffer) -> std::expected<std::size_t, kstd::error_code> + auto write(size_t file_descriptor, std::span<std::byte const> buffer) + -> std::expected<kstd::units::bytes, kstd::error_code> { return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) { - return descriptor->write(buffer.data(), buffer.size()); + return descriptor->write(buffer.data(), kstd::units::bytes{buffer.size()}); }); } diff --git a/kernel/kapi/filesystem.tests.cpp b/kernel/kapi/filesystem.tests.cpp index ffd8d7f6..90609a6d 100644 --- a/kernel/kapi/filesystem.tests.cpp +++ b/kernel/kapi/filesystem.tests.cpp @@ -13,6 +13,8 @@ #include <string_view> #include <vector> +using namespace kstd::units_literals; + // NOLINTBEGIN (readability-magic-numbers) SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kapi filesystem with real images", @@ -36,7 +38,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto bytes_read = kapi::filesystem::read(fd, buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "info_1"); @@ -51,7 +53,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto write_buffer = std::vector<std::byte>{std::byte{'H'}, std::byte{'e'}}; auto const bytes_written = kapi::filesystem::write(*write_fd, write_buffer); - REQUIRE(bytes_written == 2); + REQUIRE(bytes_written == 2_B); auto read_fd = kapi::filesystem::open("/information/info_1.txt"); REQUIRE(read_fd); @@ -59,7 +61,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto read_buffer = std::vector<std::byte>(6); auto const bytes_read = kapi::filesystem::read(*read_fd, read_buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(read_buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(read_buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "Hefo_1"); @@ -74,7 +76,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto buffer = std::vector<std::byte>(6); auto bytes_read = kapi::filesystem::read(fd, buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "info_1"); @@ -88,7 +90,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto buffer = std::vector<std::byte>(6); auto bytes_read = kapi::filesystem::read(fd, buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "info_1"); @@ -104,7 +106,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto buffer = std::vector<std::byte>(7); auto bytes_read = kapi::filesystem::read(fd, buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "sheep_1"); @@ -120,7 +122,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto buffer = std::vector<std::byte>(8); auto bytes_read = kapi::filesystem::read(fd, buffer); auto buffer_as_str = bytes_read.transform( - [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length}; }); + [&](auto length) { return std::string_view{std::bit_cast<char *>(buffer.data()), length.value}; }); REQUIRE(buffer_as_str == "monkey_1"); |
