aboutsummaryrefslogtreecommitdiff
path: root/kapi/include/kapi/boot_modules.hpp
blob: 026479dbbce829f2bf8c83081cde7798ae523878 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef TEACHOS_KAPI_BOOT_MODULES_HPP
#define TEACHOS_KAPI_BOOT_MODULES_HPP

#include <kapi/boot_module/boot_module_registry.hpp>  // IWYU pragma: export

namespace kapi::boot_modules
{

  //! @qualifier platform-defined
  //! Initialize the boot module registry.
  //!
  //! @note This function must be implemented by the target platform.
  //!
  //! This function initializes the boot module registry, which is responsible for keeping track of the modules loaded
  //! by the bootloader, and providing access to them for the rest of the kernel.
  auto init() -> void;

  //! @qualifier kernel-defined
  //! Set the boot module registry
  //!
  //! @param registry A new boot module registry.
  auto set_boot_module_registry(boot_module_registry & registry) -> void;

  //! @qualifier kernel-defined
  //! Get the boot module registry.
  //!
  //! @returns The boot module registry.
  auto get_boot_module_registry() -> boot_module_registry &;

}  // namespace kapi::boot_modules
#endif