string_.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.  You may
00006   obtain a copy of the License at
00007   
00008     https://imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore string methods.
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   **StringToStrings(const char *,size_t *);
00061 
00062 extern MagickExport const char
00063   *GetStringInfoName(const StringInfo *),
00064   *GetStringInfoPath(const StringInfo *);
00065 
00066 extern MagickExport double
00067   InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
00068   *StringToArrayOfDoubles(const char *,ssize_t *, ExceptionInfo *);
00069 
00070 extern MagickExport int
00071   CompareStringInfo(const StringInfo *,const StringInfo *);
00072 
00073 extern MagickExport MagickBooleanType
00074   ConcatenateString(char **magick_restrict,const char *magick_restrict),
00075   IsStringTrue(const char *) magick_attribute((__pure__)),
00076   IsStringNotFalse(const char *) magick_attribute((__pure__)),
00077   SubstituteString(char **,const char *,const char *);
00078 
00079 extern MagickExport size_t
00080   ConcatenateMagickString(char *magick_restrict,const char *magick_restrict,
00081     const size_t) magick_attribute((__nonnull__)),
00082   CopyMagickString(char *magick_restrict,const char *magick_restrict,
00083     const size_t) magick_attribute((__nonnull__)),
00084   GetStringInfoLength(const StringInfo *);
00085 
00086 extern MagickExport ssize_t
00087   FormatMagickSize(const MagickSizeType,const MagickBooleanType,char *);
00088 
00089 extern MagickExport StringInfo
00090   *AcquireStringInfo(const size_t),
00091   *BlobToStringInfo(const void *,const size_t),
00092   *CloneStringInfo(const StringInfo *),
00093   *ConfigureFileToStringInfo(const char *),
00094   *DestroyStringInfo(StringInfo *),
00095   *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00096   *SplitStringInfo(StringInfo *,const size_t),
00097   *StringToStringInfo(const char *);
00098 
00099 extern MagickExport unsigned char
00100   *GetStringInfoDatum(const StringInfo *);
00101 
00102 extern MagickExport void
00103   ConcatenateStringInfo(StringInfo *,const StringInfo *)
00104     magick_attribute((__nonnull__)),
00105   PrintStringInfo(FILE *file,const char *,const StringInfo *),
00106   ResetStringInfo(StringInfo *),
00107   SetStringInfo(StringInfo *,const StringInfo *),
00108   SetStringInfoDatum(StringInfo *,const unsigned char *),
00109   SetStringInfoLength(StringInfo *,const size_t),
00110   SetStringInfoName(StringInfo *,const char *),
00111   SetStringInfoPath(StringInfo *,const char *),
00112   StripString(char *);
00113 
00114 #if defined(__cplusplus) || defined(c_plusplus)
00115 }
00116 #endif
00117 
00118 #endif

Generated on 17 Feb 2020 for MagickCore by  doxygen 1.6.1