WizardsToolkit  1.0.7
string_.h
Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2011 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 _WIZARDSTOOLKIT_STRING_H_
00019 #define _WIZARDSTOOLKIT_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 double
00047   InterpretSiPrefixValue(const char *restrict,char **restrict);
00048 
00049 extern WizardExport int
00050   CompareStringInfo(const StringInfo *,const StringInfo *),
00051   LocaleCompare(const char *,const char *),
00052   LocaleNCompare(const char *,const char *,const size_t);
00053 
00054 extern WizardExport size_t
00055   ConcatenateWizardString(char *,const char *,const size_t)
00056     wizard_attribute((nonnull)),
00057   CopyWizardString(char *,const char *,const size_t)
00058     wizard_attribute((nonnull));
00059 
00060 extern WizardExport ssize_t
00061   FormatWizardSize(const WizardSizeType,const WizardBooleanType,char *),
00062   FormatLocaleString(char *,const size_t,const char *,...)
00063     wizard_attribute((format (printf,3,4))),
00064   FormatLocaleStringList(char *,const size_t,const char *,va_list),
00065   PrintWizardString(FILE *,const char *,...)
00066     wizard_attribute((format (printf,2,3))),
00067   FormatWizardTime(const time_t,const size_t,char *);
00068 
00069 extern WizardExport size_t
00070   GetStringInfoLength(const StringInfo *);
00071 
00072 extern WizardExport StringInfo
00073   *AcquireStringInfo(const size_t),
00074   *BlobToStringInfo(const void *,const size_t),
00075   *CloneStringInfo(const StringInfo *),
00076   *ConfigureFileToStringInfo(const char *),
00077   *DestroyStringInfo(StringInfo *),
00078   *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00079   *HexStringToStringInfo(const char *),
00080   *SplitStringInfo(StringInfo *,const size_t),
00081   *StringToStringInfo(const char *);
00082 
00083 extern WizardExport unsigned char
00084   *GetStringInfoDatum(const StringInfo *);
00085 
00086 extern WizardExport WizardBooleanType
00087   ConcatenateString(char **,const char *) wizard_attribute((nonnull)),
00088   SubstituteString(char **,const char *,const char *);
00089 
00090 extern WizardExport WizardSizeType
00091   GetStringInfoCRC(const StringInfo *);
00092 
00093 extern WizardExport void
00094   ConcatenateStringInfo(StringInfo *,const StringInfo *)
00095     wizard_attribute((nonnull)),
00096   LocaleLower(char *),
00097   PrintStringInfo(FILE *,const char *,const StringInfo *),
00098   ResetStringInfo(StringInfo *),
00099   SetStringInfoDatum(StringInfo *,const unsigned char *),
00100   SetStringInfo(StringInfo *,const StringInfo *),
00101   SetStringInfoLength(StringInfo *,const size_t),
00102   SetStringInfoPath(StringInfo *,const char *),
00103   StripString(char *);
00104 
00105 #if defined(__cplusplus) || defined(c_plusplus)
00106 }
00107 #endif
00108 
00109 #endif