mirror of
https://github.com/RGBCube/serenity
synced 2025-05-25 02:45:06 +00:00

This enum was created to help put distinction between the commandset and the interface type, as ATAPI devices are simply ATA devices utilizing the SCSI commandset. Because we don't support ATAPI, putting such type of distinction is pointless, so let's remove this for now.
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
/*
|
|
* Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <Kernel/FileSystem/SysFS/Component.h>
|
|
#include <Kernel/FileSystem/SysFS/Subsystems/Devices/Storage/DeviceDirectory.h>
|
|
#include <Kernel/KBuffer.h>
|
|
|
|
namespace Kernel {
|
|
|
|
class StorageDeviceAttributeSysFSComponent : public SysFSComponent {
|
|
public:
|
|
enum class Type {
|
|
EndLBA,
|
|
SectorSize,
|
|
CommandSet,
|
|
};
|
|
|
|
public:
|
|
static NonnullRefPtr<StorageDeviceAttributeSysFSComponent> must_create(StorageDeviceSysFSDirectory const& device_directory, Type);
|
|
|
|
virtual ErrorOr<size_t> read_bytes(off_t, size_t, UserOrKernelBuffer&, OpenFileDescription*) const override;
|
|
virtual ~StorageDeviceAttributeSysFSComponent() {};
|
|
|
|
virtual StringView name() const override;
|
|
|
|
protected:
|
|
ErrorOr<NonnullOwnPtr<KBuffer>> try_to_generate_buffer() const;
|
|
StorageDeviceAttributeSysFSComponent(StorageDeviceSysFSDirectory const& device, Type);
|
|
NonnullRefPtr<StorageDevice> m_device;
|
|
Type const m_type { Type::EndLBA };
|
|
};
|
|
|
|
}
|