summaryrefslogtreecommitdiff
path: root/dmagick/c/magic.d
blob: 1157633bac421578e01fb5f8d1223f7a7cef812c (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
44
45
46
47
48
49
50
module dmagick.c.magic;

import core.stdc.stdio;
import core.vararg;

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

extern(C)
{
	struct MagicInfo
	{
		char*
			path,
			name,
			target;

		ubyte*
			magic;

		size_t
			length;

		MagickOffsetType
			offset;

		MagickBooleanType
			exempt,
			stealth;

		MagicInfo*
			previous,
			next;

		size_t
			signature;
	}

	char** GetMagicList(const char*, size_t*, ExceptionInfo*);

	const(char*) GetMagicName(const MagicInfo*);

	MagickBooleanType ListMagicInfo(FILE*, ExceptionInfo*);
	MagickBooleanType MagicComponentGenesis();

	const(MagicInfo*)  GetMagicInfo(const ubyte*, const size_t, ExceptionInfo*);
	const(MagicInfo**) GetMagicInfoList(const char*, size_t*, ExceptionInfo*);

	void MagicComponentTerminus();
}