|
WizardsToolkit
1.0.7
|
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