summaryrefslogtreecommitdiff
path: root/Kernel/Devices/BlockDevice.h
blob: 1161f7cbf8f63344cddc483e9d3dbf984179152c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once

#include <Kernel/Devices/Device.h>

class BlockDevice : public Device {
public:
    virtual ~BlockDevice() override;

    virtual Region* mmap(Process&, LinearAddress preferred_laddr, size_t offset, size_t size) = 0;

protected:
    BlockDevice(unsigned major, unsigned minor) : Device(major, minor) { }

private:
    virtual bool is_block_device() const final { return true; }
};