00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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 int
00047 CompareStringInfo(const StringInfo *,const StringInfo *),
00048 LocaleCompare(const char *,const char *),
00049 LocaleNCompare(const char *,const char *,const size_t);
00050
00051 extern WizardExport size_t
00052 ConcatenateWizardString(char *,const char *,const size_t)
00053 wizard_attribute((nonnull)),
00054 CopyWizardString(char *,const char *,const size_t)
00055 wizard_attribute((nonnull));
00056
00057 extern WizardExport ssize_t
00058 FormatWizardSize(const WizardSizeType,const WizardBooleanType,char *),
00059 FormatWizardString(char *,const size_t,const char *,...)
00060 wizard_attribute((format (printf,3,4))),
00061 FormatWizardStringList(char *,const size_t,const char *,va_list),
00062 PrintWizardString(FILE *,const char *,...)
00063 wizard_attribute((format (printf,2,3))),
00064 FormatWizardTime(const time_t,const size_t,char *);
00065
00066 extern WizardExport size_t
00067 GetStringInfoLength(const StringInfo *);
00068
00069 extern WizardExport StringInfo
00070 *AcquireStringInfo(const size_t),
00071 *CloneStringInfo(const StringInfo *),
00072 *ConfigureFileToStringInfo(const char *),
00073 *DestroyStringInfo(StringInfo *),
00074 *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
00075 *HexStringToStringInfo(const char *),
00076 *SplitStringInfo(StringInfo *,const size_t),
00077 *StringToStringInfo(const char *);
00078
00079 extern WizardExport unsigned char
00080 *GetStringInfoDatum(const StringInfo *);
00081
00082 extern WizardExport WizardBooleanType
00083 ConcatenateString(char **,const char *) wizard_attribute((nonnull)),
00084 SubstituteString(char **,const char *,const char *);
00085
00086 extern WizardExport WizardSizeType
00087 GetStringInfoCRC(const StringInfo *);
00088
00089 extern WizardExport void
00090 ConcatenateStringInfo(StringInfo *,const StringInfo *)
00091 wizard_attribute((nonnull)),
00092 LocaleLower(char *),
00093 PrintStringInfo(FILE *,const char *,const StringInfo *),
00094 ResetStringInfo(StringInfo *),
00095 SetStringInfoDatum(StringInfo *,const unsigned char *),
00096 SetStringInfo(StringInfo *,const StringInfo *),
00097 SetStringInfoLength(StringInfo *,const size_t),
00098 SetStringInfoPath(StringInfo *,const char *),
00099 StripString(char *);
00100
00101 #if defined(__cplusplus) || defined(c_plusplus)
00102 }
00103 #endif
00104
00105 #endif