summaryrefslogtreecommitdiff
path: root/dmagick/c/magickString.d
blob: 838ae5d084c7c366facaed959a1799ed1eef451d (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
module dmagick.c.magickString;

import core.stdc.stdio;
import core.stdc.time;
import core.sys.posix.sys.types;
import core.vararg;

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

extern(C)
{
	struct StringInfo
	{
		char[MaxTextExtent]
			path;

		ubyte*
			datum;

		size_t
			length,
			signature;
	}

	char*  AcquireString(const char*);
	char*  CloneString(char**, const char*);
	char*  ConstantString(const char*);
	char*  DestroyString(char*);
	char** DestroyStringList(char**);
	char*  EscapeString(const char*, const char);
	char*  FileToString(const char*, const size_t, ExceptionInfo*);
	char*  GetEnvironmentValue(const char*);
	char*  StringInfoToHexString(const StringInfo*);
	char*  StringInfoToString(const StringInfo*);
	char** StringToArgv(const char*, int*);
	char*  StringToken(const char*, char**);
	char** StringToList(const char*);

	const(char)* GetStringInfoPath(const StringInfo*);

	int	CompareStringInfo(const StringInfo*, const StringInfo*);
	int	LocaleCompare(const char*, const char*);
	int	LocaleNCompare(const char*, const char*, const size_t);

	MagickBooleanType ConcatenateString(char**, const char*);
	MagickBooleanType SubstituteString(char**, const char*, const char*);

	size_t ConcatenateMagickString(char*, const char*, const size_t);
	size_t CopyMagickString(char*, const char*, const size_t);
	size_t GetStringInfoLength(const StringInfo*);

	ssize_t	FormatMagickSize(const MagickSizeType, const MagickBooleanType, char*);
	ssize_t	FormatMagickString(char*, const size_t, const char*, ...);
	ssize_t	FormatMagickStringList(char*, const size_t, const char*, va_list);
	ssize_t	FormatMagickTime(const time_t, const size_t, char*);

	StringInfo* AcquireStringInfo(const size_t);
	StringInfo* CloneStringInfo(const StringInfo*);
	StringInfo* ConfigureFileToStringInfo(const char*);
	StringInfo* DestroyStringInfo(StringInfo*);
	StringInfo* FileToStringInfo(const char*, const size_t, ExceptionInfo*);
	StringInfo* SplitStringInfo(StringInfo*, const size_t);
	StringInfo* StringToStringInfo(const char*);

	ubyte* GetStringInfoDatum(const StringInfo*);

	void ConcatenateStringInfo(StringInfo*, const StringInfo*);
	void LocaleLower(char*);
	void LocaleUpper(char*);
	void PrintStringInfo(FILE *file, const char*, const StringInfo*);
	void ResetStringInfo(StringInfo*);
	void SetStringInfo(StringInfo*, const StringInfo*);
	void SetStringInfoDatum(StringInfo*, const ubyte*);
	void SetStringInfoLength(StringInfo*, const size_t);
	void SetStringInfoPath(StringInfo*, const char*);
	void StripString(char*);
}