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 "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

Generated on 28 Apr 2020 for MagickCore by  doxygen 1.6.1