aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel/devices/storage.hpp
blob: 1d0362a3291b0b355c0c07278ee9e7fa788908e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef TEACH_OS_KERNEL_DEVICES_STORAGE_HPP
#define TEACH_OS_KERNEL_DEVICES_STORAGE_HPP

#include <kapi/devices/device.hpp>

#include <kstd/memory.hpp>
#include <kstd/vector.hpp>

namespace kernel::devices::storage
{

  //! Attach the boot-time storage controllers to the system device tree.
  auto init() -> void;

  //! @brief Determine the boot device.
  //!
  //! @return The first published block device in the system, or nullptr if none exists.
  auto determine_boot_device() -> kstd::shared_ptr<kapi::devices::device>;

}  // namespace kernel::devices::storage

#endif