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 
00061 extern MagickExport const char
00062   *GetStringInfoName(const StringInfo *),
00063   *GetStringInfoPath(const StringInfo *);
00064 
00065 extern MagickExport double
00066   InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
00067   *StringToArrayOfDoubles(const char *,ssize_t *, ExceptionInfo *);
00068 
00069 extern MagickExport int
00070   CompareStringInfo(const StringInfo *,const StringInfo *);
00071 
00072 extern MagickExport MagickBooleanType
00073   ConcatenateString(char **magick_restrict,const char *magick_restrict),
00074   IsStringTrue(const char *) magick_attribute((__pure__)),
00075   IsStringNotFalse(const char *) magick_attribute((__pure__)),
00076   SubstituteString(char **,const char *,const char *);
00077 
00078 extern MagickExport size_t
00079   ConcatenateMagickString(char *magick_restrict,const char *magick_restrict,
00080     const size_t) magick_attribute((__nonnull__)),
00081   CopyMagickString(char *magick_restrict,const char *magick_restrict,
00082     const size_t) magick_attribute((__nonnull__)),
00083   GetStringInfoLength(const StringInfo *);
00084 
00085 extern MagickExport ssize_t
00086   FormatMagickSize(const MagickSizeType,const MagickBooleanType,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

Generated on 6 Jan 2020 for MagickCore by  doxygen 1.6.1