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 **StringToArgv(const char *,int *),
00054 **StringToList(const char *),
00055 *StringInfoToString(const StringInfo *),
00056 *StringToken(const char *,char **);
00057
00058 extern MagickExport const char
00059 *GetStringInfoPath(const StringInfo *);
00060
00061 extern MagickExport double
00062 StringToDouble(const char *,const double);
00063
00064 extern MagickExport long
00065 FormatMagickSize(const MagickSizeType,char *),
00066 FormatMagickString(char *,const size_t,const char *,...)
00067 magick_attribute((format (printf,3,4))),
00068 FormatMagickStringList(char *,const size_t,const char *,va_list)
00069 magick_attribute((format (printf,3,0))),
00070 FormatMagickTime(const time_t,const size_t,char *),
00071 LocaleCompare(const char *,const char *),
00072 LocaleNCompare(const char *,const char *,const size_t);
00073
00074 extern MagickExport MagickBooleanType
00075 ConcatenateString(char **,const char *),
00076 SubstituteString(char **,const char *,const char *);
00077
00078 extern MagickExport int
00079 CompareStringInfo(const StringInfo *,const StringInfo *);
00080
00081 extern MagickExport size_t
00082 ConcatenateMagickString(char *,const char *,const size_t),
00083 CopyMagickString(char *,const char *,const size_t),
00084 GetStringInfoLength(const StringInfo *);
00085
00086 extern MagickExport StringInfo
00087 *AcquireStringInfo(const size_t),
00088 *CloneStringInfo(const StringInfo *),
00089 *ConfigureFileToStringInfo(const char *),
00090 *DestroyStringInfo(StringInfo *),
00091 *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00092 *SplitStringInfo(StringInfo *,const size_t),
00093 *StringToStringInfo(const char *);
00094
00095 extern MagickExport unsigned char
00096 *GetStringInfoDatum(const StringInfo *);
00097
00098 extern MagickExport void
00099 ConcatenateStringInfo(StringInfo *,const StringInfo *),
00100 LocaleLower(char *),
00101 LocaleUpper(char *),
00102 PrintStringInfo(FILE *file,const char *,const StringInfo *),
00103 ResetStringInfo(StringInfo *),
00104 SetStringInfo(StringInfo *,const StringInfo *),
00105 SetStringInfoDatum(StringInfo *,const unsigned char *),
00106 SetStringInfoLength(StringInfo *,const size_t),
00107 SetStringInfoPath(StringInfo *,const char *),
00108 StripString(char *);
00109
00110 #if defined(__cplusplus) || defined(c_plusplus)
00111 }
00112 #endif
00113
00114 #endif