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 "MagickCore/exception.h"
00022
00023 #if defined(__cplusplus) || defined(c_plusplus)
00024 extern "C" {
00025 #endif
00026
00027 typedef struct _StringInfo
00028 {
00029 char
00030 *path;
00031
00032 unsigned char
00033 *datum;
00034
00035 size_t
00036 length,
00037 signature;
00038
00039 char
00040 *name;
00041 } StringInfo;
00042
00043 extern MagickExport char
00044 *AcquireString(const char *),
00045 *CloneString(char **,const char *),
00046 *ConstantString(const char *),
00047 *DestroyString(char *),
00048 **DestroyStringList(char **),
00049 *EscapeString(const char *,const char),
00050 *FileToString(const char *,const size_t,ExceptionInfo *),
00051 *GetEnvironmentValue(const char *),
00052 *SanitizeString(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 **StringToStrings(const char *,size_t *);
00059
00060 extern MagickExport const char
00061 *GetStringInfoName(const StringInfo *),
00062 *GetStringInfoPath(const StringInfo *);
00063
00064 extern MagickExport double
00065 InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
00066 *StringToArrayOfDoubles(const char *,ssize_t *,ExceptionInfo *);
00067
00068 extern MagickExport int
00069 CompareStringInfo(const StringInfo *,const StringInfo *);
00070
00071 extern MagickExport MagickBooleanType
00072 ConcatenateString(char **magick_restrict,const char *magick_restrict),
00073 IsStringTrue(const char *) magick_attribute((__pure__)),
00074 IsStringFalse(const char *) magick_attribute((__pure__)),
00075 SubstituteString(char **,const char *,const char *);
00076
00077 extern MagickExport size_t
00078 ConcatenateMagickString(char *magick_restrict,const char *magick_restrict,
00079 const size_t) magick_attribute((__nonnull__)),
00080 CopyMagickString(char *magick_restrict,const char *magick_restrict,
00081 const size_t) magick_attribute((__nonnull__)),
00082 GetStringInfoLength(const StringInfo *);
00083
00084 extern MagickExport ssize_t
00085 FormatMagickSize(const MagickSizeType,const MagickBooleanType,const char *,
00086 const size_t,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