aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi')
-rw-r--r--kernel/kapi/devices/device.cpp5
-rw-r--r--kernel/kapi/filesystem.cpp10
-rw-r--r--kernel/kapi/filesystem.tests.cpp16
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");