00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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