00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_STRING_H_
00019 #define MAGICKCORE_STRING_H_
00020
00021 #include <stdarg.h>
00022 #include <time.h>
00023 #include "magick/exception.h"
00024
00025 #if defined(__cplusplus) || defined(c_plusplus)
00026 extern "C" {
00027 #endif
00028
00029 typedef struct _StringInfo
00030 {
00031 char
00032 path[MaxTextExtent];
00033
00034 unsigned char
00035 *datum;
00036
00037 size_t
00038 length,
00039 signature;
00040
00041 char
00042 *name;
00043 } StringInfo;
00044
00045 extern MagickExport char
00046 *AcquireString(const char *),
00047 *CloneString(char **,const char *),
00048 *ConstantString(const char *),
00049 *DestroyString(char *),
00050 **DestroyStringList(char **),
00051 *EscapeString(const char *,const char),
00052 *FileToString(const char *,const size_t,ExceptionInfo *),
00053 *GetEnvironmentValue(const char *),
00054 *SanitizeString(const char *),
00055 *StringInfoToHexString(const StringInfo *),
00056 *StringInfoToString(const StringInfo *),
00057 **StringToArgv(const char *,int *),
00058 *StringToken(const char *,char **),
00059 **StringToList(const char *);
00060
00061 extern MagickExport const char
00062 *GetStringInfoName(const StringInfo *),
00063 *GetStringInfoPath(const StringInfo *);
00064
00065 extern MagickExport double
00066 InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
00067 *StringToArrayOfDoubles(const char *,ssize_t *, ExceptionInfo *);
00068
00069 extern MagickExport int
00070 CompareStringInfo(const StringInfo *,const StringInfo *);
00071
00072 extern MagickExport MagickBooleanType
00073 ConcatenateString(char **,const char *),
00074 IsStringTrue(const char *) magick_attribute((__pure__)),
00075 IsStringNotFalse(const char *) magick_attribute((__pure__)),
00076 SubstituteString(char **,const char *,const char *);
00077
00078 extern MagickExport size_t
00079 ConcatenateMagickString(char *,const char *,const size_t)
00080 magick_attribute((__nonnull__)),
00081 CopyMagickString(char *,const char *,const size_t)
00082 magick_attribute((__nonnull__)),
00083 GetStringInfoLength(const StringInfo *);
00084
00085 extern MagickExport ssize_t
00086 FormatMagickSize(const MagickSizeType,const MagickBooleanType,char *);
00087
00088 extern MagickExport StringInfo
00089 *AcquireStringInfo(const size_t),
00090 *BlobToStringInfo(const void *,const size_t),
00091 *CloneStringInfo(const StringInfo *),
00092 *ConfigureFileToStringInfo(const char *),
00093 *DestroyStringInfo(StringInfo *),
00094 *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00095 *SplitStringInfo(StringInfo *,const size_t),
00096 *StringToStringInfo(const char *);
00097
00098 extern MagickExport unsigned char
00099 *GetStringInfoDatum(const StringInfo *);
00100
00101 extern MagickExport void
00102 ConcatenateStringInfo(StringInfo *,const StringInfo *)
00103 magick_attribute((__nonnull__)),
00104 PrintStringInfo(FILE *file,const char *,const StringInfo *),
00105 ResetStringInfo(StringInfo *),
00106 SetStringInfo(StringInfo *,const StringInfo *),
00107 SetStringInfoDatum(StringInfo *,const unsigned char *),
00108 SetStringInfoLength(StringInfo *,const size_t),
00109 SetStringInfoName(StringInfo *,const char *),
00110 SetStringInfoPath(StringInfo *,const char *),
00111 StripString(char *);
00112
00113 #if defined(__cplusplus) || defined(c_plusplus)
00114 }
00115 #endif
00116
00117 #endif