aboutsummaryrefslogtreecommitdiff
path: root/libs/multiboot2/include/multiboot2/information.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/multiboot2/include/multiboot2/information.hpp')
-rw-r--r--libs/multiboot2/include/multiboot2/information.hpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/libs/multiboot2/include/multiboot2/information.hpp b/libs/multiboot2/include/multiboot2/information.hpp
index fbd534c..d2fac2e 100644
--- a/libs/multiboot2/include/multiboot2/information.hpp
+++ b/libs/multiboot2/include/multiboot2/information.hpp
@@ -5,11 +5,12 @@
#include "information/iterator.hpp" // IWYU pragma: export
#include "information/tag.hpp" // IWYU pragma: export
+#include <kstd/units>
+
#include <elf/format.hpp>
#include <elf/section_header.hpp>
#include <algorithm>
-#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <optional>
@@ -119,7 +120,12 @@ namespace multiboot2
*/
[[nodiscard]] auto string() const noexcept -> std::string_view
{
- return {data(), size()};
+ return {data(), vla_tag::size()};
+ }
+
+ [[nodiscard]] constexpr auto size() const noexcept -> kstd::units::bytes
+ {
+ return kstd::units::bytes{end_address - start_address};
}
};
@@ -130,9 +136,9 @@ namespace multiboot2
using pointer = iterator::pointer;
using reference = iterator::reference;
- [[nodiscard]] auto size_bytes() const noexcept -> std::size_t
+ [[nodiscard]] auto size() const noexcept -> kstd::units::bytes
{
- return m_size;
+ return kstd::units::bytes{m_size};
}
// Range access
@@ -190,7 +196,7 @@ namespace multiboot2
{
return get<multiboot2::elf_symbols<Format>>().and_then(
[](auto x) -> std::optional<multiboot2::elf_symbols<Format>> {
- if (x.entry_size == elf::section_header_size<Format>)
+ if (x.entry_size_in_B == elf::section_header_size<Format>)
{
return std::optional{x};
}