2021-04-02 20:21:35 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
|
|
|
|
*
|
2021-04-22 08:24:48 +00:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2021-04-02 20:21:35 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Kernel/Devices/CharacterDevice.h>
|
2023-02-24 17:49:37 +00:00
|
|
|
#include <Kernel/Security/Random.h>
|
2021-04-02 20:21:35 +00:00
|
|
|
|
|
|
|
namespace Kernel {
|
|
|
|
|
2022-03-05 12:12:36 +00:00
|
|
|
class HIDManagement;
|
2021-04-02 20:21:35 +00:00
|
|
|
class HIDDevice : public CharacterDevice {
|
2022-03-05 12:12:36 +00:00
|
|
|
friend class HIDManagement;
|
2021-04-02 20:21:35 +00:00
|
|
|
|
|
|
|
protected:
|
2021-12-23 18:08:18 +00:00
|
|
|
HIDDevice(MajorNumber major, MinorNumber minor)
|
2021-04-02 20:21:35 +00:00
|
|
|
: CharacterDevice(major, minor)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
EntropySource m_entropy_source;
|
2022-03-05 12:12:36 +00:00
|
|
|
|
|
|
|
IntrusiveListNode<HIDDevice, NonnullRefPtr<HIDDevice>> m_list_node;
|
2021-04-02 20:21:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|