summaryrefslogtreecommitdiff
path: root/dmagick/c/random.d
blob: d3b2ebe08f865fab69ed7aff6ab09b71f87ad0ae (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
30
31
32
33
34
35
36
37
38
module dmagick.c.random;

import core.stdc.config;

import dmagick.c.magickString;
import dmagick.c.magickType;
import dmagick.c.magickVersion;

extern(C)
{
	struct RandomInfo {}

	double GetRandomValue(RandomInfo*);
	double GetPseudoRandomValue(RandomInfo*);

	MagickBooleanType RandomComponentGenesis();

	RandomInfo* AcquireRandomInfo();
	RandomInfo* DestroyRandomInfo(RandomInfo*);

	StringInfo* GetRandomKey(RandomInfo*, const size_t);

	static if ( MagickLibVersion >= 0x677 )
	{
		c_ulong GetRandomSecretKey(const(RandomInfo)*);
	}

	void RandomComponentTerminus();
	void SeedPseudoRandomGenerator(const size_t);
	void SetRandomKey(RandomInfo*, const size_t, ubyte*);

	static if ( MagickLibVersion >= 0x677 )
	{
		void SetRandomSecretKey(const c_ulong);
	}

	void SetRandomTrueRandom(const MagickBooleanType);
}