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