Definitions.h 897 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Types.h>
  8. namespace Kernel::SMBIOS {
  9. struct [[gnu::packed]] LegacyEntryPoint32bit {
  10. char legacy_sig[5];
  11. u8 checksum2;
  12. u16 smbios_table_length;
  13. u32 smbios_table_ptr;
  14. u16 smbios_tables_count;
  15. u8 smbios_bcd_revision;
  16. };
  17. struct [[gnu::packed]] EntryPoint32bit {
  18. char sig[4];
  19. u8 checksum;
  20. u8 length;
  21. u8 major_version;
  22. u8 minor_version;
  23. u16 maximum_structure_size;
  24. u8 implementation_revision;
  25. char formatted_area[5];
  26. LegacyEntryPoint32bit legacy_structure;
  27. };
  28. struct [[gnu::packed]] EntryPoint64bit {
  29. char sig[5];
  30. u8 checksum;
  31. u8 length;
  32. u8 major_version;
  33. u8 minor_version;
  34. u8 document_revision;
  35. u8 revision;
  36. u8 reserved;
  37. u32 table_maximum_size;
  38. u64 table_ptr;
  39. };
  40. }