# string_.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2008 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.
    00006   obtain a copy of the License at
    00007
    00008     http://www.wizards-toolkit.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   Wizard's Toolkit string methods.
    00017 */
    00018 #ifndef _WIZARDS_TOOLKIT_STRING_H_
    00019 #define _WIZARDS_TOOLKIT_STRING_H_
    00020
    00021 #if defined(__cplusplus) || defined(c_plusplus)
    00022 extern "C" {
    00023 #endif
    00024
    00025 #include <stdarg.h>
    00026 #include "wizard/exception.h"
    00027
    00028 typedef struct _StringInfo
    00029   StringInfo;
    00030
    00031 extern WizardExport char
    00032   *AcquireString(const char *),
    00033   *CloneString(char **,const char *),
    00034   *ConstantString(const char *),
    00035   *DestroyString(char *),
    00036   **DestroyStringList(char **),
    00037   *FileToString(const char *,const size_t,ExceptionInfo *),
    00038   *GetEnvironmentValue(const char *),
    00039   *StringInfoToHexString(const StringInfo *),
    00040   *StringInfoToString(const StringInfo *),
    00041   **StringToArgv(const char *,int *);
    00042
    00043 extern WizardExport const char
    00044   *GetStringInfoPath(const StringInfo *);
    00045
    00046 extern WizardExport int
    00047   CompareStringInfo(const StringInfo *,const StringInfo *);
    00048
    00049 extern WizardExport size_t
    00050   ConcatenateWizardString(char *,const char *,const size_t),
    00051   CopyWizardString(char *,const char *,const size_t);
    00052
    00053 extern WizardExport long
    00054   FormatWizardSize(const WizardSizeType,char *),
    00055   FormatWizardString(char *,const size_t,const char *,...)
    00056     wizard_attribute((format (printf,3,4))),
    00057   FormatWizardStringList(char *,const size_t,const char *,va_list),
    00058   PrintWizardString(int,const char *,...)
    00059     wizard_attribute((format (printf,2,3))),
    00060   FormatWizardTime(const time_t,const size_t,char *),
    00061   LocaleCompare(const char *,const char *),
    00062   LocaleNCompare(const char *,const char *,const size_t);
    00063
    00064 extern WizardExport size_t
    00065   GetStringInfoLength(const StringInfo *);
    00066
    00067 extern WizardExport StringInfo
    00068   *AcquireStringInfo(const size_t),
    00069   *CloneStringInfo(const StringInfo *),
    00070   *ConfigureFileToStringInfo(const char *),
    00071   *DestroyStringInfo(StringInfo *),
    00072   *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
    00073   *HexStringToStringInfo(const char *),
    00074   *SplitStringInfo(StringInfo *,const size_t),
    00075   *StringToStringInfo(const char *);
    00076
    00077 extern WizardExport unsigned char
    00078   *GetStringInfoDatum(const StringInfo *);
    00079
    00080 extern WizardExport WizardBooleanType
    00081   ConcatenateString(char **,const char *),
    00082   SubstituteString(char **,const char *,const char *);
    00083
    00084 extern WizardExport WizardSizeType
    00085   GetStringInfoCRC(const StringInfo *);
    00086
    00087 extern WizardExport void
    00088   ConcatenateStringInfo(StringInfo *,const StringInfo *),
    00089   LocaleLower(char *),
    00090   PrintStringInfo(const char *,const StringInfo *),
    00091   ResetStringInfo(StringInfo *),
    00092   SetStringInfoDatum(StringInfo *,const unsigned char *),
    00093   SetStringInfo(StringInfo *,const StringInfo *),
    00094   SetStringInfoLength(StringInfo *,const size_t),
    00095   SetStringInfoPath(StringInfo *,const char *),
    00096   StripString(char *);
    00097
    00098 #if defined(__cplusplus) || defined(c_plusplus)
    00099 }
    00100 #endif
    00101
    00102 #endif