aboutsummaryrefslogtreecommitdiff
path: root/kernel/devices/include
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-15 16:24:42 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-17 16:43:06 +0100
commit8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e (patch)
tree299412da1c1835cb2f810440ff7981099916113f /kernel/devices/include
parentace2d2178315d4b4ff1d969feed562a53d7a66c1 (diff)
downloadteachos-8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e.tar.xz
teachos-8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e.zip
every device has a name, generate ram disk device names
Diffstat (limited to 'kernel/devices/include')
-rw-r--r--kernel/devices/include/devices/block_device.hpp4
-rw-r--r--kernel/devices/include/devices/device.hpp12
2 files changed, 13 insertions, 3 deletions
diff --git a/kernel/devices/include/devices/block_device.hpp b/kernel/devices/include/devices/block_device.hpp
index 9bca53f..a2c849f 100644
--- a/kernel/devices/include/devices/block_device.hpp
+++ b/kernel/devices/include/devices/block_device.hpp
@@ -4,6 +4,7 @@
#include "devices/device.hpp"
#include <cstddef>
+#include <string_view>
namespace devices
{
@@ -16,9 +17,10 @@ namespace devices
* @brief Create a block device descriptor.
* @param major Device major number.
* @param minor Device minor number.
+ * @param name Device name.
* @param block_size Size of one logical block in bytes.
*/
- block_device(size_t major, size_t minor, size_t block_size);
+ block_device(size_t major, size_t minor, std::string_view name, size_t block_size);
/**
* @brief Virtual destructor for block device.
diff --git a/kernel/devices/include/devices/device.hpp b/kernel/devices/include/devices/device.hpp
index 7f9f9e1..d1c202d 100644
--- a/kernel/devices/include/devices/device.hpp
+++ b/kernel/devices/include/devices/device.hpp
@@ -2,6 +2,7 @@
#define TEACH_OS_KERNEL_DEVICES_DEVICE_HPP
#include <cstddef>
+#include <string_view>
namespace devices
{
@@ -14,8 +15,9 @@ namespace devices
* @brief Create a device identifier from @p major and @p minor.
* @param major Device major number.
* @param minor Device minor number.
+ * @param name Device name.
*/
- device(size_t major, size_t minor);
+ device(size_t major, size_t minor, std::string_view name);
/**
* @brief Virtual destructor for device.
@@ -35,6 +37,12 @@ namespace devices
auto minor() const -> size_t;
/**
+ * @brief Returns the name of the device.
+ * @return Device name.
+ */
+ auto name() const -> std::string_view;
+
+ /**
* @brief Check if the device is a block device.
* @return true if this device is a block device, false otherwise.
*/
@@ -46,7 +54,7 @@ namespace devices
private:
size_t m_major;
size_t m_minor;
- // TODO BA-FS26 add name
+ std::string_view m_name;
};
} // namespace devices