summaryrefslogtreecommitdiff
path: root/dmagick/c/policy.d
blob: 44590834cf1b2c6714221a54600814aeacbc01e1 (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
39
40
41
42
43
module dmagick.c.policy;

import core.stdc.stdio;

import dmagick.c.exception;
import dmagick.c.magickType;

extern(C)
{
	enum PolicyDomain
	{
		UndefinedPolicyDomain,
		CoderPolicyDomain,
		DelegatePolicyDomain,
		FilterPolicyDomain,
		PathPolicyDomain,
		ResourcePolicyDomain,
		SystemPolicyDomain,
		CachePolicyDomain
	}

	enum PolicyRights
	{
		UndefinedPolicyRights = 0x00,
		NoPolicyRights = 0x00,
		ReadPolicyRights = 0x01,
		WritePolicyRights = 0x02,
		ExecutePolicyRights = 0x04
	}

	struct PolicyInfo {}

	char*  GetPolicyValue(const(char)* name);
	char** GetPolicyList(const(char)*, size_t*, ExceptionInfo*);

	const(PolicyInfo)** GetPolicyInfoList(const(char)*, size_t*, ExceptionInfo*);

	MagickBooleanType IsRightsAuthorized(const PolicyDomain, const PolicyRights, const(char)*);
	MagickBooleanType ListPolicyInfo(FILE*, ExceptionInfo*);
	MagickBooleanType PolicyComponentGenesis();

	void PolicyComponentTerminus();
}