1 module dmagick.c.utility;
2 
3 import core.stdc.stdio;
4 
5 import dmagick.c.exception;
6 import dmagick.c.magickType;
7 import dmagick.c.magickVersion;
8 
9 alias ptrdiff_t ssize_t;
10 
11 extern(C)
12 {
13 	enum PathType
14 	{
15 		UndefinedPath,
16 		MagickPath,
17 		RootPath,
18 		HeadPath,
19 		TailPath,
20 		BasePath,
21 		ExtensionPath,
22 		SubimagePath,
23 		CanonicalPath
24 	}
25 
26 	char*  Base64Encode(const(ubyte)*, const size_t, size_t*);
27 	char** GetPathComponents(const(char)*, size_t*);
28 	char** ListFiles(const(char)*, const(char)*, size_t*);
29 
30 	static if ( MagickLibVersion < 0x673 )
31 	{
32 		FILE* OpenMagickStream(const(char)*, const(char)*);
33 	}
34 
35 	static if ( MagickLibVersion < 0x690 )
36 	{
37 		int SystemCommand(const MagickBooleanType, const MagickBooleanType, const(char)*, ExceptionInfo*);
38 	}
39 
40 	MagickBooleanType AcquireUniqueFilename(char*);
41 	MagickBooleanType AcquireUniqueSymbolicLink(const(char)*, char*);
42 	MagickBooleanType ExpandFilenames(int*, char***);
43 	MagickBooleanType GetPathAttributes(const(char)*, void*);
44 	MagickBooleanType GetExecutionPath(char*, const size_t);
45 	MagickBooleanType IsPathAccessible(const(char)*);
46 
47 	size_t MultilineCensus(const(char)*);
48 
49 	ssize_t GetMagickPageSize();
50 
51 	ubyte* Base64Decode(const(char)*, size_t*);
52 
53 	void AppendImageFormat(const(char)*, char*);
54 	void ChopPathComponents(char*, const size_t);
55 	void ExpandFilename(char*);
56 	void GetPathComponent(const(char)*, PathType, char*);
57 
58 	static if ( MagickLibVersion >= 0x663 )
59 	{
60 		void MagickDelay(const MagickSizeType);
61 	}
62 }