aboutsummaryrefslogtreecommitdiff
path: root/kapi
diff options
context:
space:
mode:
Diffstat (limited to 'kapi')
-rw-r--r--kapi/include/kapi/acpi.hpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/kapi/include/kapi/acpi.hpp b/kapi/include/kapi/acpi.hpp
index d5e3c87..11068d1 100644
--- a/kapi/include/kapi/acpi.hpp
+++ b/kapi/include/kapi/acpi.hpp
@@ -19,15 +19,26 @@ namespace kapi::acpi
struct [[gnu::packed]] system_description_table_header
{
- std::array<char, 4> signature;
- std::uint32_t length;
- std::uint8_t revision;
- std::uint8_t checksum;
- std::array<char, 6> oem_id;
- std::array<char, 8> oem_table_id;
- std::uint32_t oem_revision;
- std::uint32_t creator_id;
- std::uint32_t create_revision;
+ [[nodiscard]] auto checksum() const noexcept -> std::uint8_t;
+ [[nodiscard]] auto creator_revision() const noexcept -> std::uint32_t;
+ [[nodiscard]] auto creator_id() const noexcept -> std::uint32_t;
+ [[nodiscard]] auto length() const noexcept -> kstd::units::bytes;
+ [[nodiscard]] auto oem_id() const noexcept -> std::string_view;
+ [[nodiscard]] auto oem_revision() const noexcept -> std::uint32_t;
+ [[nodiscard]] auto oem_table_id() const noexcept -> std::string_view;
+ [[nodiscard]] auto revision() const noexcept -> std::uint8_t;
+ [[nodiscard]] auto signature() const noexcept -> std::string_view;
+
+ private:
+ std::array<char, 4> m_signature;
+ std::uint32_t m_length;
+ std::uint8_t m_revision;
+ std::uint8_t m_checksum;
+ std::array<char, 6> m_oem_id;
+ std::array<char, 8> m_oem_table_id;
+ std::uint32_t m_oem_revision;
+ std::uint32_t m_creator_id;
+ std::uint32_t m_creator_revision;
};
//! @}