|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2024 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // VirtIO エントロピーデバイス
9: //
10:
11: #pragma once
12:
13: #include "virtio_base.h"
14: #include <random>
15:
16: class VirtIOEntropyDevice : public VirtIODevice
17: {
18: using inherited = VirtIODevice;
19:
20: public:
21: explicit VirtIOEntropyDevice(uint slot_);
22: ~VirtIOEntropyDevice() override;
23:
24: private:
1.1.1.3 ! root 25: DECLARE_MONITOR_SCREEN(MonitorScreen);
1.1 root 26:
27: // ディスクリプタを一つ処理する。
28: void ProcessDesc(VirtIOReq&) override;
29:
30: // デフォルトコンストラクタは実質 /dev/urandom だが
31: // こいつにはこれ以上安全な指定方法がない。
32: std::random_device rnd {};
33: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.