aboutsummaryrefslogtreecommitdiffstats
path: root/src/entropy/entropy_src.h
blob: 0891e393f5dfe241c8c0e5ef05df21a247c67bd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*************************************************
* EntropySource Header File                      *
* (C) 2008 Jack Lloyd                            *
*************************************************/

#ifndef BOTAN_ENTROPY_SOURCE_BASE_H__
#define BOTAN_ENTROPY_SOURCE_BASE_H__

#include <botan/types.h>
#include <string>

namespace Botan {

/**
* Abstract interface to a source of (hopefully unpredictable) system entropy
*/
class BOTAN_DLL EntropySource
   {
   public:
      virtual std::string name() const = 0;

      virtual u32bit slow_poll(byte buf[], u32bit len) = 0;
      virtual u32bit fast_poll(byte buf[], u32bit len) = 0;
      virtual ~EntropySource() {}
   };

}

#endif