1 module dmagick.c.magickString; 2 3 import core.stdc.stdio; 4 import core.stdc.time; 5 import core.vararg; 6 7 import dmagick.c.exception; 8 import dmagick.c.magickType; 9 import dmagick.c.magickVersion; 10 11 alias ptrdiff_t ssize_t; 12 13 extern(C) 14 { 15 struct StringInfo 16 { 17 char[MaxTextExtent] 18 path; 19 20 ubyte* 21 datum; 22 23 size_t 24 length, 25 signature; 26 } 27 28 char* AcquireString(const(char)*); 29 char* CloneString(char**, const(char)*); 30 char* ConstantString(const(char)*); 31 char* DestroyString(char*); 32 char** DestroyStringList(char**); 33 char* EscapeString(const(char)*, const char); 34 char* FileToString(const(char)*, const size_t, ExceptionInfo*); 35 char* GetEnvironmentValue(const(char)*); 36 37 static if ( MagickLibVersion >= 0x694 ) 38 { 39 char* SanitizeString(const(char)*); 40 } 41 42 char* StringInfoToHexString(const(StringInfo)*); 43 char* StringInfoToString(const(StringInfo)*); 44 char** StringToArgv(const(char)*, int*); 45 char* StringToken(const(char)*, char**); 46 char** StringToList(const(char)*); 47 48 const(char)* GetStringInfoPath(const(StringInfo)*); 49 50 static if ( MagickLibVersion >= 0x674 ) 51 { 52 double InterpretSiPrefixValue(const(char)*, char**); 53 } 54 static if ( MagickLibVersion >= 0x677 ) 55 { 56 double* StringToArrayOfDoubles(const(char)*, ssize_t*, ExceptionInfo*); 57 } 58 59 int CompareStringInfo(const(StringInfo)*, const(StringInfo)*); 60 61 MagickBooleanType ConcatenateString(char**, const(char)*); 62 63 static if ( MagickLibVersion >= 0x677 ) 64 { 65 MagickBooleanType IsStringTrue(const(char)*); 66 MagickBooleanType IsStringNotFalse(const(char)*); 67 } 68 69 MagickBooleanType SubstituteString(char**, const(char)*, const(char)*); 70 71 size_t ConcatenateMagickString(char*, const(char)*, const size_t); 72 size_t CopyMagickString(char*, const(char)*, const size_t); 73 size_t GetStringInfoLength(const(StringInfo)*); 74 75 ssize_t FormatMagickSize(const MagickSizeType, const MagickBooleanType, char*); 76 77 static if ( MagickLibVersion < 0x670 ) 78 { 79 ssize_t FormatMagickString(char*, const size_t, const(char)*, ...); 80 ssize_t FormatMagickStringList(char*, const size_t, const(char)*, va_list); 81 } 82 83 ssize_t FormatMagickTime(const time_t, const size_t, char*); 84 85 StringInfo* AcquireStringInfo(const size_t); 86 87 static if ( MagickLibVersion >= 0x673 ) 88 { 89 StringInfo* BlobToStringInfo(const(void)*, const size_t); 90 } 91 92 StringInfo* CloneStringInfo(const(StringInfo)*); 93 StringInfo* ConfigureFileToStringInfo(const(char)*); 94 StringInfo* DestroyStringInfo(StringInfo*); 95 StringInfo* FileToStringInfo(const(char)*, const size_t, ExceptionInfo*); 96 StringInfo* SplitStringInfo(StringInfo*, const size_t); 97 StringInfo* StringToStringInfo(const(char)*); 98 99 ubyte* GetStringInfoDatum(const(StringInfo)*); 100 101 void ConcatenateStringInfo(StringInfo*, const(StringInfo)*); 102 void PrintStringInfo(FILE *file, const(char)*, const(StringInfo)*); 103 void ResetStringInfo(StringInfo*); 104 void SetStringInfo(StringInfo*, const(StringInfo)*); 105 void SetStringInfoDatum(StringInfo*, const(ubyte)*); 106 void SetStringInfoLength(StringInfo*, const size_t); 107 void SetStringInfoPath(StringInfo*, const(char)*); 108 void StripString(char*); 109 }