1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 23:07:34 +00:00

Kernel: Replace "Folder" => "Directory" everywhere

Folders are a GUI concept, file systems have directories. :^)
This commit is contained in:
Andreas Kling 2021-07-11 01:33:40 +02:00
parent 5ec3f5433e
commit 805319ed30
13 changed files with 165 additions and 165 deletions

View file

@ -60,13 +60,13 @@ UNMAP_AFTER_INIT ExposedComponent::ExposedComponent(String name, PhysicalAddress
{
}
UNMAP_AFTER_INIT void ExposedFolder::initialize()
UNMAP_AFTER_INIT void ExposedDirectory::initialize()
{
auto acpi_folder = adopt_ref(*new (nothrow) ExposedFolder());
auto acpi_folder = adopt_ref(*new (nothrow) ExposedDirectory());
SysFSComponentRegistry::the().register_new_component(acpi_folder);
}
UNMAP_AFTER_INIT ExposedFolder::ExposedFolder()
UNMAP_AFTER_INIT ExposedDirectory::ExposedDirectory()
: SysFSDirectory("acpi", SysFSComponentRegistry::the().root_folder())
{
NonnullRefPtrVector<SysFSComponent> components;

View file

@ -17,12 +17,12 @@
namespace Kernel {
namespace ACPI {
class ExposedFolder : public SysFSDirectory {
class ExposedDirectory : public SysFSDirectory {
public:
static void initialize();
private:
ExposedFolder();
ExposedDirectory();
};
class ExposedComponent : public SysFSComponent {

View file

@ -75,32 +75,32 @@ OwnPtr<KBuffer> SMBIOSExposedTable::try_to_generate_buffer() const
return KBuffer::try_create_with_bytes(Span<u8> { dmi_blob.ptr(), m_smbios_structure_table_length });
}
UNMAP_AFTER_INIT void BIOSExposedFolder::set_dmi_64_bit_entry_initialization_values()
UNMAP_AFTER_INIT void BIOSExposedDirectory::set_dmi_64_bit_entry_initialization_values()
{
dbgln("BIOSExposedFolder: SMBIOS 64bit Entry point @ {}", m_dmi_entry_point);
dbgln("BIOSExposedDirectory: SMBIOS 64bit Entry point @ {}", m_dmi_entry_point);
auto smbios_entry = map_typed<SMBIOS::EntryPoint64bit>(m_dmi_entry_point, SMBIOS_SEARCH_AREA_SIZE);
m_smbios_structure_table = PhysicalAddress(smbios_entry.ptr()->table_ptr);
m_dmi_entry_point_length = smbios_entry.ptr()->length;
m_smbios_structure_table_length = smbios_entry.ptr()->table_maximum_size;
}
UNMAP_AFTER_INIT void BIOSExposedFolder::set_dmi_32_bit_entry_initialization_values()
UNMAP_AFTER_INIT void BIOSExposedDirectory::set_dmi_32_bit_entry_initialization_values()
{
dbgln("BIOSExposedFolder: SMBIOS 32bit Entry point @ {}", m_dmi_entry_point);
dbgln("BIOSExposedDirectory: SMBIOS 32bit Entry point @ {}", m_dmi_entry_point);
auto smbios_entry = map_typed<SMBIOS::EntryPoint32bit>(m_dmi_entry_point, SMBIOS_SEARCH_AREA_SIZE);
m_smbios_structure_table = PhysicalAddress(smbios_entry.ptr()->legacy_structure.smbios_table_ptr);
m_dmi_entry_point_length = smbios_entry.ptr()->length;
m_smbios_structure_table_length = smbios_entry.ptr()->legacy_structure.smboios_table_length;
}
UNMAP_AFTER_INIT void BIOSExposedFolder::initialize()
UNMAP_AFTER_INIT void BIOSExposedDirectory::initialize()
{
auto bios_folder = adopt_ref(*new (nothrow) BIOSExposedFolder());
auto bios_folder = adopt_ref(*new (nothrow) BIOSExposedDirectory());
SysFSComponentRegistry::the().register_new_component(bios_folder);
bios_folder->create_components();
}
void BIOSExposedFolder::create_components()
void BIOSExposedDirectory::create_components()
{
auto dmi_entry_point = DMIEntryPointExposedBlob::create(m_dmi_entry_point, m_dmi_entry_point_length);
m_components.append(dmi_entry_point);
@ -108,16 +108,16 @@ void BIOSExposedFolder::create_components()
m_components.append(smbios_table);
}
size_t BIOSExposedFolder::dmi_entry_point_length() const
size_t BIOSExposedDirectory::dmi_entry_point_length() const
{
return m_dmi_entry_point_length;
}
size_t BIOSExposedFolder::smbios_structure_table_length() const
size_t BIOSExposedDirectory::smbios_structure_table_length() const
{
return m_smbios_structure_table_length;
}
UNMAP_AFTER_INIT void BIOSExposedFolder::initialize_dmi_exposer()
UNMAP_AFTER_INIT void BIOSExposedDirectory::initialize_dmi_exposer()
{
VERIFY(!(m_dmi_entry_point.is_null()));
if (m_using_64bit_dmi_entry_point) {
@ -125,16 +125,16 @@ UNMAP_AFTER_INIT void BIOSExposedFolder::initialize_dmi_exposer()
} else {
set_dmi_32_bit_entry_initialization_values();
}
dbgln("BIOSExposedFolder: Data table @ {}", m_smbios_structure_table);
dbgln("BIOSExposedDirectory: Data table @ {}", m_smbios_structure_table);
}
OwnPtr<KBuffer> BIOSExposedFolder::smbios_structure_table() const
OwnPtr<KBuffer> BIOSExposedDirectory::smbios_structure_table() const
{
auto dmi_blob = map_typed<u8>(m_smbios_structure_table, m_smbios_structure_table_length);
return KBuffer::try_create_with_bytes(Span<u8> { dmi_blob.ptr(), m_smbios_structure_table_length });
}
UNMAP_AFTER_INIT BIOSExposedFolder::BIOSExposedFolder()
UNMAP_AFTER_INIT BIOSExposedDirectory::BIOSExposedDirectory()
: SysFSDirectory("bios", SysFSComponentRegistry::the().root_folder())
{
auto entry_32bit = find_dmi_entry32bit_point();
@ -150,12 +150,12 @@ UNMAP_AFTER_INIT BIOSExposedFolder::BIOSExposedFolder()
initialize_dmi_exposer();
}
UNMAP_AFTER_INIT Optional<PhysicalAddress> BIOSExposedFolder::find_dmi_entry64bit_point()
UNMAP_AFTER_INIT Optional<PhysicalAddress> BIOSExposedDirectory::find_dmi_entry64bit_point()
{
return map_bios().find_chunk_starting_with("_SM3_", 16);
}
UNMAP_AFTER_INIT Optional<PhysicalAddress> BIOSExposedFolder::find_dmi_entry32bit_point()
UNMAP_AFTER_INIT Optional<PhysicalAddress> BIOSExposedDirectory::find_dmi_entry32bit_point()
{
return map_bios().find_chunk_starting_with("_SM_", 16);
}

View file

@ -92,7 +92,7 @@ private:
size_t m_smbios_structure_table_length;
};
class BIOSExposedFolder : public SysFSDirectory {
class BIOSExposedDirectory : public SysFSDirectory {
public:
static void initialize();
@ -104,7 +104,7 @@ private:
size_t dmi_entry_point_length() const;
size_t smbios_structure_table_length() const;
BIOSExposedFolder();
BIOSExposedDirectory();
void set_dmi_64_bit_entry_initialization_values();
void set_dmi_32_bit_entry_initialization_values();

View file

@ -69,11 +69,11 @@ static constexpr u16 UHCI_PORTSC_SUSPEND = 0x1000;
static constexpr u8 UHCI_NUMBER_OF_ISOCHRONOUS_TDS = 128;
static constexpr u16 UHCI_NUMBER_OF_FRAMES = 1024;
class ProcFSUSBBusFolder;
static ProcFSUSBBusFolder* s_procfs_usb_bus_folder;
class ProcFSUSBBusDirectory;
static ProcFSUSBBusDirectory* s_procfs_usb_bus_folder;
class ProcFSUSBDeviceInformation : public ProcFSGlobalInformation {
friend class ProcFSUSBBusFolder;
friend class ProcFSUSBBusDirectory;
public:
virtual ~ProcFSUSBDeviceInformation() override {};
@ -115,7 +115,7 @@ protected:
RefPtr<USB::Device> m_device;
};
class ProcFSUSBBusFolder final : public ProcFSExposedFolder {
class ProcFSUSBBusDirectory final : public ProcFSExposedDirectory {
friend class ProcFSComponentsRegistrar;
public:
@ -128,7 +128,7 @@ public:
virtual RefPtr<ProcFSExposedComponent> lookup(StringView name) override;
private:
ProcFSUSBBusFolder(const ProcFSBusDirectory&);
ProcFSUSBBusDirectory(const ProcFSBusDirectory&);
RefPtr<ProcFSUSBDeviceInformation> device_node_for(USB::Device& device);
@ -136,12 +136,12 @@ private:
mutable SpinLock<u8> m_lock;
};
KResultOr<size_t> ProcFSUSBBusFolder::entries_count() const
KResultOr<size_t> ProcFSUSBBusDirectory::entries_count() const
{
ScopedSpinLock lock(m_lock);
return m_device_nodes.size_slow();
}
KResult ProcFSUSBBusFolder::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
KResult ProcFSUSBBusDirectory::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{
ScopedSpinLock lock(m_lock);
auto parent_folder = m_parent_folder.strong_ref();
@ -156,7 +156,7 @@ KResult ProcFSUSBBusFolder::traverse_as_directory(unsigned fsid, Function<bool(F
}
return KSuccess;
}
RefPtr<ProcFSExposedComponent> ProcFSUSBBusFolder::lookup(StringView name)
RefPtr<ProcFSExposedComponent> ProcFSUSBBusDirectory::lookup(StringView name)
{
ScopedSpinLock lock(m_lock);
for (auto& device_node : m_device_nodes) {
@ -167,7 +167,7 @@ RefPtr<ProcFSExposedComponent> ProcFSUSBBusFolder::lookup(StringView name)
return {};
}
RefPtr<ProcFSUSBDeviceInformation> ProcFSUSBBusFolder::device_node_for(USB::Device& device)
RefPtr<ProcFSUSBDeviceInformation> ProcFSUSBBusDirectory::device_node_for(USB::Device& device)
{
RefPtr<USB::Device> checked_device = device;
for (auto& device_node : m_device_nodes) {
@ -177,14 +177,14 @@ RefPtr<ProcFSUSBDeviceInformation> ProcFSUSBBusFolder::device_node_for(USB::Devi
return {};
}
void ProcFSUSBBusFolder::plug(USB::Device& new_device)
void ProcFSUSBBusDirectory::plug(USB::Device& new_device)
{
ScopedSpinLock lock(m_lock);
auto device_node = device_node_for(new_device);
VERIFY(!device_node);
m_device_nodes.append(ProcFSUSBDeviceInformation::create(new_device));
}
void ProcFSUSBBusFolder::unplug(USB::Device& deleted_device)
void ProcFSUSBBusDirectory::unplug(USB::Device& deleted_device)
{
ScopedSpinLock lock(m_lock);
auto device_node = device_node_for(deleted_device);
@ -192,14 +192,14 @@ void ProcFSUSBBusFolder::unplug(USB::Device& deleted_device)
device_node->m_list_node.remove();
}
UNMAP_AFTER_INIT ProcFSUSBBusFolder::ProcFSUSBBusFolder(const ProcFSBusDirectory& buses_folder)
: ProcFSExposedFolder("usb"sv, buses_folder)
UNMAP_AFTER_INIT ProcFSUSBBusDirectory::ProcFSUSBBusDirectory(const ProcFSBusDirectory& buses_folder)
: ProcFSExposedDirectory("usb"sv, buses_folder)
{
}
UNMAP_AFTER_INIT void ProcFSUSBBusFolder::initialize()
UNMAP_AFTER_INIT void ProcFSUSBBusDirectory::initialize()
{
auto folder = adopt_ref(*new ProcFSUSBBusFolder(ProcFSComponentsRegistrar::the().buses_folder()));
auto folder = adopt_ref(*new ProcFSUSBBusDirectory(ProcFSComponentsRegistrar::the().buses_folder()));
ProcFSComponentsRegistrar::the().register_new_bus_folder(folder);
s_procfs_usb_bus_folder = folder;
}
@ -221,7 +221,7 @@ UNMAP_AFTER_INIT void UHCIController::detect()
// FIXME: We create the /proc/bus/usb representation here, but it should really be handled
// in a more broad singleton than this once we refactor things in USB subsystem.
ProcFSUSBBusFolder::initialize();
ProcFSUSBBusDirectory::initialize();
PCI::enumerate([&](const PCI::Address& address, PCI::ID id) {
if (address.is_null())

View file

@ -33,7 +33,7 @@ UNMAP_AFTER_INIT void ProcFSComponentsRegistrar::initialize()
}
UNMAP_AFTER_INIT ProcFSComponentsRegistrar::ProcFSComponentsRegistrar()
: m_root_folder(ProcFSRootFolder::must_create())
: m_root_folder(ProcFSRootDirectory::must_create())
{
}
@ -42,7 +42,7 @@ const ProcFSBusDirectory& ProcFSComponentsRegistrar::buses_folder() const
return *m_root_folder->m_buses_folder;
}
void ProcFSComponentsRegistrar::register_new_bus_folder(ProcFSExposedFolder& new_bus_folder)
void ProcFSComponentsRegistrar::register_new_bus_folder(ProcFSExposedDirectory& new_bus_folder)
{
VERIFY(!m_root_folder->m_buses_folder.is_null());
m_root_folder->m_buses_folder->m_components.append(new_bus_folder);
@ -51,7 +51,7 @@ void ProcFSComponentsRegistrar::register_new_bus_folder(ProcFSExposedFolder& new
void ProcFSComponentsRegistrar::register_new_process(Process& new_process)
{
Locker locker(m_lock);
m_root_folder->m_process_folders.append(ProcFSProcessFolder::create(new_process));
m_root_folder->m_process_folders.append(ProcFSProcessDirectory::create(new_process));
}
void ProcFSComponentsRegistrar::unregister_process(Process& deleted_process)
@ -59,8 +59,8 @@ void ProcFSComponentsRegistrar::unregister_process(Process& deleted_process)
auto process_folder = m_root_folder->process_folder_for(deleted_process).release_nonnull();
process_folder->prepare_for_deletion();
process_folder->m_list_node.remove();
dbgln_if(PROCFS_DEBUG, "ProcFSExposedFolder ref_count now: {}", process_folder->ref_count());
// Note: Let's ensure we are the last holder of the ProcFSProcessFolder object before it can be deleted for good
dbgln_if(PROCFS_DEBUG, "ProcFSExposedDirectory ref_count now: {}", process_folder->ref_count());
// Note: Let's ensure we are the last holder of the ProcFSProcessDirectory object before it can be deleted for good
VERIFY(process_folder->ref_count() == 1);
}

View file

@ -25,7 +25,7 @@ UNMAP_AFTER_INIT void SysFSComponentRegistry::initialize()
}
UNMAP_AFTER_INIT SysFSComponentRegistry::SysFSComponentRegistry()
: m_root_folder(SysFSRootFolder::create())
: m_root_folder(SysFSRootDirectory::create())
{
}
@ -35,12 +35,12 @@ UNMAP_AFTER_INIT void SysFSComponentRegistry::register_new_component(SysFSCompon
m_root_folder->m_components.append(component);
}
NonnullRefPtr<SysFSRootFolder> SysFSRootFolder::create()
NonnullRefPtr<SysFSRootDirectory> SysFSRootDirectory::create()
{
return adopt_ref(*new (nothrow) SysFSRootFolder);
return adopt_ref(*new (nothrow) SysFSRootDirectory);
}
KResult SysFSRootFolder::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
KResult SysFSRootDirectory::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{
Locker locker(SysFSComponentRegistry::the().get_lock());
callback({ ".", { fsid, component_index() }, 0 });
@ -53,7 +53,7 @@ KResult SysFSRootFolder::traverse_as_directory(unsigned fsid, Function<bool(File
return KSuccess;
}
SysFSRootFolder::SysFSRootFolder()
SysFSRootDirectory::SysFSRootDirectory()
: SysFSDirectory(".")
{
}

View file

@ -12,15 +12,15 @@
namespace Kernel {
class SysFSRootFolder final : public SysFSDirectory {
class SysFSRootDirectory final : public SysFSDirectory {
friend class SysFSComponentRegistry;
public:
static NonnullRefPtr<SysFSRootFolder> create();
static NonnullRefPtr<SysFSRootDirectory> create();
virtual KResult traverse_as_directory(unsigned, Function<bool(FileSystem::DirectoryEntryView const&)>) const override;
private:
SysFSRootFolder();
SysFSRootDirectory();
};
class SysFSComponentRegistry {
@ -37,7 +37,7 @@ public:
private:
Lock m_lock;
NonnullRefPtr<SysFSRootFolder> m_root_folder;
NonnullRefPtr<SysFSRootDirectory> m_root_folder;
};
class SysFS final : public FileSystem {

View file

@ -158,20 +158,20 @@ private:
}
};
class ProcFSNetworkDirectory : public ProcFSExposedFolder {
class ProcFSNetworkDirectory : public ProcFSExposedDirectory {
public:
static NonnullRefPtr<ProcFSNetworkDirectory> must_create(const ProcFSRootFolder& parent_folder);
static NonnullRefPtr<ProcFSNetworkDirectory> must_create(const ProcFSRootDirectory& parent_folder);
private:
ProcFSNetworkDirectory(const ProcFSRootFolder& parent_folder);
ProcFSNetworkDirectory(const ProcFSRootDirectory& parent_folder);
};
class ProcFSSystemDirectory : public ProcFSExposedFolder {
class ProcFSSystemDirectory : public ProcFSExposedDirectory {
public:
static NonnullRefPtr<ProcFSSystemDirectory> must_create(const ProcFSRootFolder& parent_folder);
static NonnullRefPtr<ProcFSSystemDirectory> must_create(const ProcFSRootDirectory& parent_folder);
private:
ProcFSSystemDirectory(const ProcFSRootFolder& parent_folder);
ProcFSSystemDirectory(const ProcFSRootDirectory& parent_folder);
};
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSAdapters> ProcFSAdapters::must_create()
@ -195,7 +195,7 @@ UNMAP_AFTER_INIT NonnullRefPtr<ProcFSUDP> ProcFSUDP::must_create()
return adopt_ref_if_nonnull(new (nothrow) ProcFSUDP).release_nonnull();
}
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSNetworkDirectory> ProcFSNetworkDirectory::must_create(const ProcFSRootFolder& parent_folder)
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSNetworkDirectory> ProcFSNetworkDirectory::must_create(const ProcFSRootDirectory& parent_folder)
{
auto folder = adopt_ref(*new (nothrow) ProcFSNetworkDirectory(parent_folder));
folder->m_components.append(ProcFSAdapters::must_create());
@ -226,8 +226,8 @@ UNMAP_AFTER_INIT ProcFSUDP::ProcFSUDP()
: ProcFSGlobalInformation("udp"sv)
{
}
UNMAP_AFTER_INIT ProcFSNetworkDirectory::ProcFSNetworkDirectory(const ProcFSRootFolder& parent_folder)
: ProcFSExposedFolder("net"sv, parent_folder)
UNMAP_AFTER_INIT ProcFSNetworkDirectory::ProcFSNetworkDirectory(const ProcFSRootDirectory& parent_folder)
: ProcFSExposedDirectory("net"sv, parent_folder)
{
}
@ -318,12 +318,12 @@ UNMAP_AFTER_INIT ProcFSCapsLockRemap::ProcFSCapsLockRemap()
{
}
class ProcFSSelfProcessFolder final : public ProcFSExposedLink {
class ProcFSSelfProcessDirectory final : public ProcFSExposedLink {
public:
static NonnullRefPtr<ProcFSSelfProcessFolder> must_create();
static NonnullRefPtr<ProcFSSelfProcessDirectory> must_create();
private:
ProcFSSelfProcessFolder();
ProcFSSelfProcessDirectory();
virtual bool acquire_link(KBufferBuilder& builder) override
{
builder.appendff("{}", Process::current()->pid().value());
@ -701,9 +701,9 @@ private:
}
};
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSSelfProcessFolder> ProcFSSelfProcessFolder::must_create()
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSSelfProcessDirectory> ProcFSSelfProcessDirectory::must_create()
{
return adopt_ref_if_nonnull(new (nothrow) ProcFSSelfProcessFolder()).release_nonnull();
return adopt_ref_if_nonnull(new (nothrow) ProcFSSelfProcessDirectory()).release_nonnull();
}
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSDiskUsage> ProcFSDiskUsage::must_create()
{
@ -758,7 +758,7 @@ UNMAP_AFTER_INIT NonnullRefPtr<ProcFSProfile> ProcFSProfile::must_create()
return adopt_ref_if_nonnull(new (nothrow) ProcFSProfile).release_nonnull();
}
UNMAP_AFTER_INIT ProcFSSelfProcessFolder::ProcFSSelfProcessFolder()
UNMAP_AFTER_INIT ProcFSSelfProcessDirectory::ProcFSSelfProcessDirectory()
: ProcFSExposedLink("self"sv)
{
}
@ -815,13 +815,13 @@ UNMAP_AFTER_INIT ProcFSProfile::ProcFSProfile()
{
}
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSBusDirectory> ProcFSBusDirectory::must_create(const ProcFSRootFolder& parent_folder)
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSBusDirectory> ProcFSBusDirectory::must_create(const ProcFSRootDirectory& parent_folder)
{
auto folder = adopt_ref(*new (nothrow) ProcFSBusDirectory(parent_folder));
return folder;
}
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSSystemDirectory> ProcFSSystemDirectory::must_create(const ProcFSRootFolder& parent_folder)
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSSystemDirectory> ProcFSSystemDirectory::must_create(const ProcFSRootDirectory& parent_folder)
{
auto folder = adopt_ref(*new (nothrow) ProcFSSystemDirectory(parent_folder));
folder->m_components.append(ProcFSDumpKmallocStacks::must_create(folder));
@ -830,19 +830,19 @@ UNMAP_AFTER_INIT NonnullRefPtr<ProcFSSystemDirectory> ProcFSSystemDirectory::mus
return folder;
}
UNMAP_AFTER_INIT ProcFSBusDirectory::ProcFSBusDirectory(const ProcFSRootFolder& parent_folder)
: ProcFSExposedFolder("bus"sv, parent_folder)
UNMAP_AFTER_INIT ProcFSBusDirectory::ProcFSBusDirectory(const ProcFSRootDirectory& parent_folder)
: ProcFSExposedDirectory("bus"sv, parent_folder)
{
}
UNMAP_AFTER_INIT ProcFSSystemDirectory::ProcFSSystemDirectory(const ProcFSRootFolder& parent_folder)
: ProcFSExposedFolder("sys"sv, parent_folder)
UNMAP_AFTER_INIT ProcFSSystemDirectory::ProcFSSystemDirectory(const ProcFSRootDirectory& parent_folder)
: ProcFSExposedDirectory("sys"sv, parent_folder)
{
}
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSRootFolder> ProcFSRootFolder::must_create()
UNMAP_AFTER_INIT NonnullRefPtr<ProcFSRootDirectory> ProcFSRootDirectory::must_create()
{
auto folder = adopt_ref(*new (nothrow) ProcFSRootFolder);
folder->m_components.append(ProcFSSelfProcessFolder::must_create());
auto folder = adopt_ref(*new (nothrow) ProcFSRootDirectory);
folder->m_components.append(ProcFSSelfProcessDirectory::must_create());
folder->m_components.append(ProcFSDiskUsage::must_create());
folder->m_components.append(ProcFSMemoryStatus::must_create());
folder->m_components.append(ProcFSOverallProcesses::must_create());
@ -865,7 +865,7 @@ UNMAP_AFTER_INIT NonnullRefPtr<ProcFSRootFolder> ProcFSRootFolder::must_create()
return folder;
}
KResult ProcFSRootFolder::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
KResult ProcFSRootDirectory::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{
Locker locker(ProcFSComponentsRegistrar::the().m_lock);
callback({ ".", { fsid, component_index() }, 0 });
@ -882,9 +882,9 @@ KResult ProcFSRootFolder::traverse_as_directory(unsigned fsid, Function<bool(Fil
return KSuccess;
}
RefPtr<ProcFSExposedComponent> ProcFSRootFolder::lookup(StringView name)
RefPtr<ProcFSExposedComponent> ProcFSRootDirectory::lookup(StringView name)
{
if (auto candidate = ProcFSExposedFolder::lookup(name); !candidate.is_null())
if (auto candidate = ProcFSExposedDirectory::lookup(name); !candidate.is_null())
return candidate;
for (auto& component : m_process_folders) {
@ -895,16 +895,16 @@ RefPtr<ProcFSExposedComponent> ProcFSRootFolder::lookup(StringView name)
return {};
}
UNMAP_AFTER_INIT ProcFSRootFolder::ProcFSRootFolder()
: ProcFSExposedFolder("."sv)
UNMAP_AFTER_INIT ProcFSRootDirectory::ProcFSRootDirectory()
: ProcFSExposedDirectory("."sv)
{
}
UNMAP_AFTER_INIT ProcFSRootFolder::~ProcFSRootFolder()
UNMAP_AFTER_INIT ProcFSRootDirectory::~ProcFSRootDirectory()
{
}
RefPtr<ProcFSProcessFolder> ProcFSRootFolder::process_folder_for(Process& process)
RefPtr<ProcFSProcessDirectory> ProcFSRootDirectory::process_folder_for(Process& process)
{
RefPtr<Process> checked_process = process;
for (auto& folder : m_process_folders) {

View file

@ -47,12 +47,12 @@ ProcFSExposedComponent::ProcFSExposedComponent(StringView name, InodeIndex preal
m_name = KString::try_create(name);
}
ProcFSExposedFolder::ProcFSExposedFolder(StringView name)
ProcFSExposedDirectory::ProcFSExposedDirectory(StringView name)
: ProcFSExposedComponent(name)
{
}
ProcFSExposedFolder::ProcFSExposedFolder(StringView name, const ProcFSExposedFolder& parent_folder)
ProcFSExposedDirectory::ProcFSExposedDirectory(StringView name, const ProcFSExposedDirectory& parent_folder)
: ProcFSExposedComponent(name)
, m_parent_folder(parent_folder)
{
@ -220,17 +220,17 @@ NonnullRefPtr<Inode> ProcFSExposedComponent::to_inode(const ProcFS& procfs_insta
return ProcFSInode::create(procfs_instance, *this);
}
NonnullRefPtr<Inode> ProcFSExposedFolder::to_inode(const ProcFS& procfs_instance) const
NonnullRefPtr<Inode> ProcFSExposedDirectory::to_inode(const ProcFS& procfs_instance) const
{
return ProcFSDirectoryInode::create(procfs_instance, *this);
}
void ProcFSExposedFolder::add_component(const ProcFSExposedComponent&)
void ProcFSExposedDirectory::add_component(const ProcFSExposedComponent&)
{
TODO();
}
RefPtr<ProcFSExposedComponent> ProcFSExposedFolder::lookup(StringView name)
RefPtr<ProcFSExposedComponent> ProcFSExposedDirectory::lookup(StringView name)
{
for (auto& component : m_components) {
if (component.name() == name) {
@ -240,7 +240,7 @@ RefPtr<ProcFSExposedComponent> ProcFSExposedFolder::lookup(StringView name)
return {};
}
KResult ProcFSExposedFolder::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
KResult ProcFSExposedDirectory::traverse_as_directory(unsigned fsid, Function<bool(FileSystem::DirectoryEntryView const&)> callback) const
{
Locker locker(ProcFSComponentsRegistrar::the().m_lock);
auto parent_folder = m_parent_folder.strong_ref();

View file

@ -23,16 +23,16 @@ namespace Kernel {
class ProcFS;
class ProcFSExposedComponent;
class ProcFSExposedFolder;
class ProcFSRootFolder;
class ProcFSExposedDirectory;
class ProcFSRootDirectory;
class ProcFSBusDirectory;
class ProcFSSystemBoolean;
class ProcFSComponentsRegistrar {
friend class ProcFS;
friend class ProcFSExposedComponent;
friend class ProcFSExposedFolder;
friend class ProcFSRootFolder;
friend class ProcFSExposedDirectory;
friend class ProcFSRootDirectory;
public:
static ProcFSComponentsRegistrar& the();
@ -42,18 +42,18 @@ public:
InodeIndex allocate_inode_index() const;
ProcFSComponentsRegistrar();
void register_new_bus_folder(ProcFSExposedFolder&);
void register_new_bus_folder(ProcFSExposedDirectory&);
const ProcFSBusDirectory& buses_folder() const;
void register_new_process(Process&);
void unregister_process(Process&);
ProcFSRootFolder& root_folder() { return *m_root_folder; }
ProcFSRootDirectory& root_folder() { return *m_root_folder; }
private:
Lock m_lock;
NonnullRefPtr<ProcFSRootFolder> m_root_folder;
NonnullRefPtr<ProcFSRootDirectory> m_root_folder;
};
class ProcFSExposedComponent : public RefCounted<ProcFSExposedComponent> {
@ -92,10 +92,10 @@ private:
InodeIndex m_component_index {};
};
class ProcFSExposedFolder
class ProcFSExposedDirectory
: public ProcFSExposedComponent
, public Weakable<ProcFSExposedFolder> {
friend class ProcFSProcessFolder;
, public Weakable<ProcFSExposedDirectory> {
friend class ProcFSProcessDirectory;
friend class ProcFSComponentsRegistrar;
public:
@ -115,10 +115,10 @@ public:
virtual NonnullRefPtr<Inode> to_inode(const ProcFS& procfs_instance) const override final;
protected:
explicit ProcFSExposedFolder(StringView name);
ProcFSExposedFolder(StringView name, const ProcFSExposedFolder& parent_folder);
explicit ProcFSExposedDirectory(StringView name);
ProcFSExposedDirectory(StringView name, const ProcFSExposedDirectory& parent_folder);
NonnullRefPtrVector<ProcFSExposedComponent> m_components;
WeakPtr<ProcFSExposedFolder> m_parent_folder;
WeakPtr<ProcFSExposedDirectory> m_parent_folder;
};
class ProcFSExposedLink : public ProcFSExposedComponent {
@ -134,13 +134,13 @@ protected:
mutable Lock m_lock { "ProcFSLink" };
};
class ProcFSRootFolder;
class ProcFSRootDirectory;
class ProcFSProcessInformation;
class ProcFSProcessFolder final
: public ProcFSExposedFolder {
class ProcFSProcessDirectory final
: public ProcFSExposedDirectory {
friend class ProcFSComponentsRegistrar;
friend class ProcFSRootFolder;
friend class ProcFSRootDirectory;
friend class ProcFSProcessInformation;
friend class ProcFSProcessPledge;
friend class ProcFSProcessUnveil;
@ -155,7 +155,7 @@ class ProcFSProcessFolder final
friend class ProcFSProcessStacks;
public:
static NonnullRefPtr<ProcFSProcessFolder> create(const Process&);
static NonnullRefPtr<ProcFSProcessDirectory> create(const Process&);
NonnullRefPtr<Process> associated_process() { return m_associated_process; }
virtual uid_t owner_user() const override { return m_associated_process->uid(); }
@ -165,40 +165,40 @@ public:
private:
void on_attach();
IntrusiveListNode<ProcFSProcessFolder, RefPtr<ProcFSProcessFolder>> m_list_node;
IntrusiveListNode<ProcFSProcessDirectory, RefPtr<ProcFSProcessDirectory>> m_list_node;
explicit ProcFSProcessFolder(const Process&);
explicit ProcFSProcessDirectory(const Process&);
NonnullRefPtr<Process> m_associated_process;
};
class ProcFSRootFolder;
class ProcFSRootDirectory;
class ProcFSBusDirectory : public ProcFSExposedFolder {
class ProcFSBusDirectory : public ProcFSExposedDirectory {
friend class ProcFSComponentsRegistrar;
public:
static NonnullRefPtr<ProcFSBusDirectory> must_create(const ProcFSRootFolder& parent_folder);
static NonnullRefPtr<ProcFSBusDirectory> must_create(const ProcFSRootDirectory& parent_folder);
private:
ProcFSBusDirectory(const ProcFSRootFolder& parent_folder);
ProcFSBusDirectory(const ProcFSRootDirectory& parent_folder);
};
class ProcFSRootFolder final : public ProcFSExposedFolder {
class ProcFSRootDirectory final : public ProcFSExposedDirectory {
friend class ProcFSComponentsRegistrar;
public:
virtual RefPtr<ProcFSExposedComponent> lookup(StringView name) override;
RefPtr<ProcFSProcessFolder> process_folder_for(Process&);
static NonnullRefPtr<ProcFSRootFolder> must_create();
virtual ~ProcFSRootFolder();
RefPtr<ProcFSProcessDirectory> process_folder_for(Process&);
static NonnullRefPtr<ProcFSRootDirectory> must_create();
virtual ~ProcFSRootDirectory();
private:
virtual KResult traverse_as_directory(unsigned, Function<bool(FileSystem::DirectoryEntryView const&)>) const override;
ProcFSRootFolder();
ProcFSRootDirectory();
RefPtr<ProcFSBusDirectory> m_buses_folder;
IntrusiveList<ProcFSProcessFolder, RefPtr<ProcFSProcessFolder>, &ProcFSProcessFolder::m_list_node> m_process_folders;
IntrusiveList<ProcFSProcessDirectory, RefPtr<ProcFSProcessDirectory>, &ProcFSProcessDirectory::m_list_node> m_process_folders;
};
class ProcFSGlobalInformation : public ProcFSExposedComponent {
@ -247,7 +247,7 @@ public:
virtual gid_t owner_group() const override { return m_parent_folder.strong_ref()->m_associated_process->gid(); }
protected:
ProcFSProcessInformation(StringView name, const ProcFSProcessFolder& process_folder)
ProcFSProcessInformation(StringView name, const ProcFSProcessDirectory& process_folder)
: ProcFSExposedComponent(name)
, m_parent_folder(process_folder)
{
@ -256,7 +256,7 @@ protected:
virtual KResult refresh_data(FileDescription&) const override;
virtual bool output(KBufferBuilder& builder) = 0;
WeakPtr<ProcFSProcessFolder> m_parent_folder;
WeakPtr<ProcFSProcessDirectory> m_parent_folder;
mutable SpinLock<u8> m_refresh_lock;
};

View file

@ -20,13 +20,13 @@ class ProcFSProcessStacks;
class ProcFSThreadStack final : public ProcFSProcessInformation {
public:
// Note: We pass const ProcFSProcessStacks& to enforce creation with this type of folder
static NonnullRefPtr<ProcFSThreadStack> create(const ProcFSProcessFolder& process_folder, const ProcFSProcessStacks&, const Thread& thread)
static NonnullRefPtr<ProcFSThreadStack> create(const ProcFSProcessDirectory& process_folder, const ProcFSProcessStacks&, const Thread& thread)
{
return adopt_ref(*new (nothrow) ProcFSThreadStack(process_folder, thread));
}
private:
explicit ProcFSThreadStack(const ProcFSProcessFolder& process_folder, const Thread& thread)
explicit ProcFSThreadStack(const ProcFSProcessDirectory& process_folder, const Thread& thread)
: ProcFSProcessInformation(String::formatted("{}", thread.tid()), process_folder)
, m_associated_thread(thread)
{
@ -53,7 +53,7 @@ private:
NonnullRefPtr<Thread> m_associated_thread;
};
class ProcFSProcessStacks final : public ProcFSExposedFolder {
class ProcFSProcessStacks final : public ProcFSExposedDirectory {
// Note: This folder is special, because everything that is created here is dynamic!
// This means we don't register anything in the m_components Vector, and every inode
// is created in runtime when called to get it
@ -65,7 +65,7 @@ public:
virtual KResult traverse_as_directory(unsigned, Function<bool(FileSystem::DirectoryEntryView const&)>) const override;
virtual RefPtr<ProcFSExposedComponent> lookup(StringView name) override;
static NonnullRefPtr<ProcFSProcessStacks> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessStacks> create(const ProcFSProcessDirectory& parent_folder)
{
auto folder = adopt_ref(*new (nothrow) ProcFSProcessStacks(parent_folder));
return folder;
@ -73,17 +73,17 @@ public:
virtual void prepare_for_deletion() override
{
ProcFSExposedFolder::prepare_for_deletion();
ProcFSExposedDirectory::prepare_for_deletion();
m_process_folder.clear();
}
private:
ProcFSProcessStacks(const ProcFSProcessFolder& parent_folder)
: ProcFSExposedFolder("stacks"sv, parent_folder)
ProcFSProcessStacks(const ProcFSProcessDirectory& parent_folder)
: ProcFSExposedDirectory("stacks"sv, parent_folder)
, m_process_folder(parent_folder)
{
}
WeakPtr<ProcFSProcessFolder> m_process_folder;
WeakPtr<ProcFSProcessDirectory> m_process_folder;
mutable Lock m_lock;
};
@ -156,7 +156,7 @@ private:
NonnullRefPtr<FileDescription> m_associated_file_description;
};
class ProcFSProcessFileDescriptions final : public ProcFSExposedFolder {
class ProcFSProcessFileDescriptions final : public ProcFSExposedDirectory {
// Note: This folder is special, because everything that is created here is dynamic!
// This means we don't register anything in the m_components Vector, and every inode
// is created in runtime when called to get it
@ -168,24 +168,24 @@ public:
virtual KResult traverse_as_directory(unsigned, Function<bool(FileSystem::DirectoryEntryView const&)>) const override;
virtual RefPtr<ProcFSExposedComponent> lookup(StringView name) override;
static NonnullRefPtr<ProcFSProcessFileDescriptions> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessFileDescriptions> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessFileDescriptions(parent_folder));
}
virtual void prepare_for_deletion() override
{
ProcFSExposedFolder::prepare_for_deletion();
ProcFSExposedDirectory::prepare_for_deletion();
m_process_folder.clear();
}
private:
explicit ProcFSProcessFileDescriptions(const ProcFSProcessFolder& parent_folder)
: ProcFSExposedFolder("fd"sv, parent_folder)
explicit ProcFSProcessFileDescriptions(const ProcFSProcessDirectory& parent_folder)
: ProcFSExposedDirectory("fd"sv, parent_folder)
, m_process_folder(parent_folder)
{
}
WeakPtr<ProcFSProcessFolder> m_process_folder;
WeakPtr<ProcFSProcessDirectory> m_process_folder;
mutable Lock m_lock;
};
@ -244,13 +244,13 @@ RefPtr<ProcFSExposedComponent> ProcFSProcessFileDescriptions::lookup(StringView
class ProcFSProcessPledge final : public ProcFSProcessInformation {
public:
static NonnullRefPtr<ProcFSProcessPledge> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessPledge> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessPledge(parent_folder));
}
private:
explicit ProcFSProcessPledge(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessPledge(const ProcFSProcessDirectory& parent_folder)
: ProcFSProcessInformation("pledge"sv, parent_folder)
{
}
@ -280,13 +280,13 @@ private:
class ProcFSProcessUnveil final : public ProcFSProcessInformation {
public:
static NonnullRefPtr<ProcFSProcessUnveil> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessUnveil> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessUnveil(parent_folder));
}
private:
explicit ProcFSProcessUnveil(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessUnveil(const ProcFSProcessDirectory& parent_folder)
: ProcFSProcessInformation("unveil"sv, parent_folder)
{
}
@ -321,13 +321,13 @@ private:
class ProcFSProcessPerformanceEvents final : public ProcFSProcessInformation {
public:
static NonnullRefPtr<ProcFSProcessPerformanceEvents> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessPerformanceEvents> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessPerformanceEvents(parent_folder));
}
private:
explicit ProcFSProcessPerformanceEvents(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessPerformanceEvents(const ProcFSProcessDirectory& parent_folder)
: ProcFSProcessInformation("perf_events"sv, parent_folder)
{
}
@ -348,13 +348,13 @@ private:
class ProcFSProcessOverallFileDescriptions final : public ProcFSProcessInformation {
public:
static NonnullRefPtr<ProcFSProcessOverallFileDescriptions> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessOverallFileDescriptions> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessOverallFileDescriptions(parent_folder));
}
private:
explicit ProcFSProcessOverallFileDescriptions(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessOverallFileDescriptions(const ProcFSProcessDirectory& parent_folder)
: ProcFSProcessInformation("fds"sv, parent_folder)
{
}
@ -398,13 +398,13 @@ private:
class ProcFSProcessRoot final : public ProcFSExposedLink {
public:
static NonnullRefPtr<ProcFSProcessRoot> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessRoot> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessRoot(parent_folder));
}
private:
explicit ProcFSProcessRoot(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessRoot(const ProcFSProcessDirectory& parent_folder)
: ProcFSExposedLink("root"sv)
, m_parent_process_directory(parent_folder)
{
@ -417,18 +417,18 @@ private:
builder.append_bytes(parent_folder->m_associated_process->root_directory_relative_to_global_root().absolute_path().to_byte_buffer());
return true;
}
WeakPtr<ProcFSProcessFolder> m_parent_process_directory;
WeakPtr<ProcFSProcessDirectory> m_parent_process_directory;
};
class ProcFSProcessVirtualMemory final : public ProcFSProcessInformation {
public:
static NonnullRefPtr<ProcFSProcessRoot> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessRoot> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessVirtualMemory(parent_folder));
}
private:
explicit ProcFSProcessVirtualMemory(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessVirtualMemory(const ProcFSProcessDirectory& parent_folder)
: ProcFSProcessInformation("vm"sv, parent_folder)
{
}
@ -484,13 +484,13 @@ private:
class ProcFSProcessCurrentWorkDirectory final : public ProcFSExposedLink {
public:
static NonnullRefPtr<ProcFSProcessCurrentWorkDirectory> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessCurrentWorkDirectory> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessCurrentWorkDirectory(parent_folder));
}
private:
explicit ProcFSProcessCurrentWorkDirectory(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessCurrentWorkDirectory(const ProcFSProcessDirectory& parent_folder)
: ProcFSExposedLink("cwd"sv)
, m_parent_process_directory(parent_folder)
{
@ -504,12 +504,12 @@ private:
return true;
}
WeakPtr<ProcFSProcessFolder> m_parent_process_directory;
WeakPtr<ProcFSProcessDirectory> m_parent_process_directory;
};
class ProcFSProcessBinary final : public ProcFSExposedLink {
public:
static NonnullRefPtr<ProcFSProcessBinary> create(const ProcFSProcessFolder& parent_folder)
static NonnullRefPtr<ProcFSProcessBinary> create(const ProcFSProcessDirectory& parent_folder)
{
return adopt_ref(*new (nothrow) ProcFSProcessBinary(parent_folder));
}
@ -525,7 +525,7 @@ public:
}
private:
explicit ProcFSProcessBinary(const ProcFSProcessFolder& parent_folder)
explicit ProcFSProcessBinary(const ProcFSProcessDirectory& parent_folder)
: ProcFSExposedLink("exe"sv)
, m_parent_process_directory(parent_folder)
{
@ -542,10 +542,10 @@ private:
return true;
}
WeakPtr<ProcFSProcessFolder> m_parent_process_directory;
WeakPtr<ProcFSProcessDirectory> m_parent_process_directory;
};
void ProcFSProcessFolder::on_attach()
void ProcFSProcessDirectory::on_attach()
{
VERIFY(m_components.size() == 0);
m_components.append(ProcFSProcessPledge::create(*this));
@ -560,30 +560,30 @@ void ProcFSProcessFolder::on_attach()
m_components.append(ProcFSProcessStacks::create(*this));
}
RefPtr<ProcFSExposedComponent> ProcFSProcessFolder::lookup(StringView name)
RefPtr<ProcFSExposedComponent> ProcFSProcessDirectory::lookup(StringView name)
{
// Note: we need to allocate all sub components when doing a lookup, because
// for some reason, the caller may not call ProcFSInode::attach method before calling this.
if (m_components.size() == 0)
on_attach();
return ProcFSExposedFolder::lookup(name);
return ProcFSExposedDirectory::lookup(name);
}
KResult ProcFSProcessFolder::refresh_data(FileDescription&) const
KResult ProcFSProcessDirectory::refresh_data(FileDescription&) const
{
if (m_components.size() != 0)
return KSuccess;
const_cast<ProcFSProcessFolder&>(*this).on_attach();
const_cast<ProcFSProcessDirectory&>(*this).on_attach();
return KSuccess;
}
NonnullRefPtr<ProcFSProcessFolder> ProcFSProcessFolder::create(const Process& process)
NonnullRefPtr<ProcFSProcessDirectory> ProcFSProcessDirectory::create(const Process& process)
{
return adopt_ref_if_nonnull(new (nothrow) ProcFSProcessFolder(process)).release_nonnull();
return adopt_ref_if_nonnull(new (nothrow) ProcFSProcessDirectory(process)).release_nonnull();
}
ProcFSProcessFolder::ProcFSProcessFolder(const Process& process)
: ProcFSExposedFolder(String::formatted("{:d}", process.pid().value()), ProcFSComponentsRegistrar::the().root_folder())
ProcFSProcessDirectory::ProcFSProcessDirectory(const Process& process)
: ProcFSExposedDirectory(String::formatted("{:d}", process.pid().value()), ProcFSComponentsRegistrar::the().root_folder())
, m_associated_process(process)
{
}

View file

@ -236,8 +236,8 @@ void init_stage2(void*)
USB::UHCIController::detect();
BIOSExposedFolder::initialize();
ACPI::ExposedFolder::initialize();
BIOSExposedDirectory::initialize();
ACPI::ExposedDirectory::initialize();
VirtIO::detect();