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 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 #include <stdarg.h>
00026 #include <time.h>
00027 #include "magick/exception.h"
00028
00029 typedef struct _StringInfo
00030 {
00031 char
00032 path[MaxTextExtent];
00033
00034 unsigned char
00035 *datum;
00036
00037 size_t
00038 length;
00039
00040 unsigned long
00041 signature;
00042 } StringInfo;
00043
00044 extern MagickExport char
00045 *AcquireString(const char *),
00046 *CloneString(char **,const char *),
00047 *ConstantString(const char *),
00048 *DestroyString(char *),
00049 **DestroyStringList(char **),
00050 *EscapeString(const char *,const char),
00051 *FileToString(const char *,const size_t,ExceptionInfo *),
00052 *GetEnvironmentValue(const char *),
00053 *StringInfoToHexString(const StringInfo *),
00054 *StringInfoToString(const StringInfo *),
00055 **StringToArgv(const char *,int *),
00056 *StringToken(const char *,char **),
00057 **StringToList(const char *);
00058
00059 extern MagickExport const char
00060 *GetStringInfoPath(const StringInfo *);
00061
00062 extern MagickExport double
00063 StringToDouble(const char *,const double);
00064
00065 extern MagickExport long
00066 FormatMagickSize(const MagickSizeType,char *),
00067 FormatMagickString(char *,const size_t,const char *,...)
00068 magick_attribute((format (printf,3,4))),
00069 FormatMagickStringList(char *,const size_t,const char *,va_list)
00070 magick_attribute((format (printf,3,0))),
00071 FormatMagickTime(const time_t,const size_t,char *),
00072 LocaleCompare(const char *,const char *),
00073 LocaleNCompare(const char *,const char *,const size_t);
00074
00075 extern MagickExport MagickBooleanType
00076 ConcatenateString(char **,const char *),
00077 SubstituteString(char **,const char *,const char *);
00078
00079 extern MagickExport int
00080 CompareStringInfo(const StringInfo *,const StringInfo *);
00081
00082 extern MagickExport size_t
00083 ConcatenateMagickString(char *,const char *,const size_t),
00084 CopyMagickString(char *,const char *,const size_t),
00085 GetStringInfoLength(const StringInfo *);
00086
00087 extern MagickExport StringInfo
00088 *AcquireStringInfo(const size_t),
00089 *CloneStringInfo(const StringInfo *),
00090 *ConfigureFileToStringInfo(const char *),
00091 *DestroyStringInfo(StringInfo *),
00092 *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00093 *SplitStringInfo(StringInfo *,const size_t),
00094 *StringToStringInfo(const char *);
00095
00096 extern MagickExport unsigned char
00097 *GetStringInfoDatum(const StringInfo *);
00098
00099 extern MagickExport void
00100 ConcatenateStringInfo(StringInfo *,const StringInfo *),
00101 LocaleLower(char *),
00102 LocaleUpper(char *),
00103 PrintStringInfo(FILE *file,const char *,const StringInfo *),
00104 ResetStringInfo(StringInfo *),
00105 SetStringInfo(StringInfo *,const StringInfo *),
00106 SetStringInfoDatum(StringInfo *,const unsigned char *),
00107 SetStringInfoLength(StringInfo *,const size_t),
00108 SetStringInfoPath(StringInfo *,const char *),
00109 StripString(char *);
00110
00111 #if defined(__cplusplus) || defined(c_plusplus)
00112 }
00113 #endif
00114
00115 #endif