Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-03-13 09:14:28

0001 /*
0002   Copyright @ 2003 ImageMagick Studio LLC, a non-profit organization
0003   dedicated to making software imaging solutions freely available.
0004   
0005   You may not use this file except in compliance with the License.  You may
0006   obtain a copy of the License at
0007   
0008     https://imagemagick.org/script/license.php
0009   
0010   Unless required by applicable law or agreed to in writing, software
0011   distributed under the License is distributed on an "AS IS" BASIS,
0012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013   See the License for the specific language governing permissions and
0014   limitations under the License.
0015 
0016   MagickCore string methods.
0017 */
0018 #ifndef MAGICKCORE_STRING_H_
0019 #define MAGICKCORE_STRING_H_
0020 
0021 #include "MagickCore/exception.h"
0022 
0023 #if defined(__cplusplus) || defined(c_plusplus)
0024 extern "C" {
0025 #endif
0026 
0027 typedef struct _StringInfo
0028 {
0029   char
0030     *path;
0031 
0032   unsigned char
0033     *datum;
0034 
0035   size_t
0036     length,
0037     signature;
0038 
0039   char
0040     *name;
0041 } StringInfo;
0042 
0043 extern MagickExport char
0044   *AcquireString(const char *),
0045   *CloneString(char **,const char *),
0046   *ConstantString(const char *),
0047   *DestroyString(char *),
0048   **DestroyStringList(char **),
0049   *EscapeString(const char *,const char),
0050   *FileToString(const char *,const size_t,ExceptionInfo *),
0051   *GetEnvironmentValue(const char *),
0052   *SanitizeString(const char *),
0053   *StringInfoToDigest(const StringInfo *),
0054   *StringInfoToHexString(const StringInfo *),
0055   *StringInfoToString(const StringInfo *),
0056   **StringToArgv(const char *,int *),
0057   *StringToken(const char *,char **),
0058   **StringToList(const char *),
0059   **StringToStrings(const char *,size_t *);
0060 
0061 extern MagickExport const char
0062   *GetStringInfoName(const StringInfo *),
0063   *GetStringInfoPath(const StringInfo *);
0064 
0065 extern MagickExport double
0066   InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
0067   *StringToArrayOfDoubles(const char *,ssize_t *,ExceptionInfo *);
0068 
0069 extern MagickExport int
0070   CompareStringInfo(const StringInfo *,const StringInfo *);
0071 
0072 extern MagickExport MagickBooleanType
0073   ConcatenateString(char **magick_restrict,const char *magick_restrict),
0074   IsStringTrue(const char *) magick_attribute((__pure__)),
0075   IsStringFalse(const char *) magick_attribute((__pure__)),
0076   SubstituteString(char **,const char *,const char *);
0077 
0078 extern MagickExport size_t
0079   ConcatenateMagickString(char *magick_restrict,const char *magick_restrict,
0080     const size_t) magick_attribute((__nonnull__)),
0081   CopyMagickString(char *magick_restrict,const char *magick_restrict,
0082     const size_t) magick_attribute((__nonnull__)),
0083   GetStringInfoLength(const StringInfo *),
0084   StripMagickString(char *);
0085 
0086 extern MagickExport ssize_t
0087   FormatMagickSize(const MagickSizeType,const MagickBooleanType,const char *,
0088     const size_t,char *);
0089 
0090 extern MagickExport StringInfo
0091   *AcquireStringInfo(const size_t),
0092   *BlobToStringInfo(const void *,const size_t),
0093   *CloneStringInfo(const StringInfo *),
0094   *ConfigureFileToStringInfo(const char *),
0095   *DestroyStringInfo(StringInfo *),
0096   *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
0097   *SplitStringInfo(StringInfo *,const size_t),
0098   *StringToStringInfo(const char *);
0099 
0100 extern MagickExport unsigned char
0101   *GetStringInfoDatum(const StringInfo *);
0102 
0103 extern MagickExport void
0104   ConcatenateStringInfo(StringInfo *,const StringInfo *)
0105     magick_attribute((__nonnull__)),
0106   PrintStringInfo(FILE *file,const char *,const StringInfo *),
0107   ResetStringInfo(StringInfo *),
0108   SetStringInfo(StringInfo *,const StringInfo *),
0109   SetStringInfoDatum(StringInfo *,const unsigned char *),
0110   SetStringInfoLength(StringInfo *,const size_t),
0111   SetStringInfoName(StringInfo *,const char *),
0112   SetStringInfoPath(StringInfo *,const char *),
0113   StripString(char *);
0114 
0115 #if defined(__cplusplus) || defined(c_plusplus)
0116 }
0117 #endif
0118 
0119 #endif