1 module dmagick.c.locale;
2 
3 import core.stdc.stdio;
4 import core.vararg;
5 
6 import dmagick.c.exception;
7 import dmagick.c.hashmap;
8 import dmagick.c.magickType;
9 import dmagick.c.magickVersion;
10 
11 alias ptrdiff_t ssize_t;
12 
13 extern(C)
14 {
15 	struct LocaleInfo
16 	{
17 		char*
18 			path,
19 			tag,
20 			message;
21 
22 		MagickBooleanType
23 			stealth;
24 
25 		LocaleInfo*
26 			previous,
27 			next;
28 
29 		size_t
30 			signature;
31 	}
32 
33 	char** GetLocaleList(const(char)*, size_t*, ExceptionInfo*);
34 
35 	const(char)* GetLocaleMessage(const(char)*);
36 
37 	const(LocaleInfo)*  GetLocaleInfo_(const(char)*, ExceptionInfo*);
38 	const(LocaleInfo)** GetLocaleInfoList(const(char)*, size_t*, ExceptionInfo*);
39 
40 	static if ( MagickLibVersion >= 0x670 )
41 	{
42 		double InterpretLocaleValue(const(char)*, char**);
43 	}
44 
45 	LinkedListInfo* DestroyLocaleOptions(LinkedListInfo*);
46 	LinkedListInfo* GetLocaleOptions(const(char)*, ExceptionInfo*);
47 
48 	MagickBooleanType ListLocaleInfo(FILE*, ExceptionInfo*);
49 	MagickBooleanType LocaleComponentGenesis();
50 
51 	static if ( MagickLibVersion >= 0x670 )
52 	{
53 		ssize_t FormatLocaleFile(FILE*, const(char)*, ...);
54 		ssize_t FormatLocaleFileList(FILE*, const(char)*, va_list);
55 		ssize_t FormatLocaleString(char*, const size_t, const(char)*, ...);
56 		ssize_t FormatLocaleStringList(char*, const size_t, const(char)*, va_list);
57 	}
58 
59 	void LocaleComponentTerminus();
60 }