text.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id$
00005  begin       : Sat Jun 28 2003
00006  copyright   : (C) 2003 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
00025  *                                                                         *
00026  ***************************************************************************/
00027 
00028 
00029 
00030 #ifndef GWENHYWFAR_TEXT_H
00031 #define GWENHYWFAR_TEXT_H
00032 
00033 #include <gwenhywfar/gwenhywfarapi.h>
00034 #include <gwenhywfar/types.h>
00035 #include <gwenhywfar/logger.h>
00036 #include <gwenhywfar/buffer.h>
00037 #include <stdio.h>
00038 
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044 #define GWEN_TEXT_FUZZY_SHIFT               10
00045 
00046 
00047 #define GWEN_TEXT_FLAGS_DEL_LEADING_BLANKS  0x00000001
00048 #define GWEN_TEXT_FLAGS_DEL_TRAILING_BLANKS 0x00000002
00049 #define GWEN_TEXT_FLAGS_DEL_MULTIPLE_BLANKS 0x00000004
00050 #define GWEN_TEXT_FLAGS_NEED_DELIMITER      0x00000008
00051 #define GWEN_TEXT_FLAGS_NULL_IS_DELIMITER   0x00000010
00052 #define GWEN_TEXT_FLAGS_DEL_QUOTES          0x00000020
00053 #define GWEN_TEXT_FLAGS_CHECK_BACKSLASH     0x00000040
00054 
00055 
00072 GWENHYWFAR_API
00073 char *GWEN_Text_GetWord(const char *src,
00074                         const char *delims,
00075                         char *buffer,
00076                         unsigned int maxsize,
00077                         uint32_t flags,
00078                         const char **next);
00079 
00080 GWENHYWFAR_API
00081 int GWEN_Text_GetWordToBuffer(const char *src,
00082                               const char *delims,
00083                               GWEN_BUFFER *buf,
00084                               uint32_t flags,
00085                               const char **next);
00086 
00087 
00093 GWENHYWFAR_API
00094 char *GWEN_Text_Escape(const char *src,
00095                        char *buffer,
00096                        unsigned int maxsize);
00097 
00098 GWENHYWFAR_API
00099 char *GWEN_Text_Unescape(const char *src,
00100                          char *buffer,
00101                          unsigned int maxsize);
00102 
00103 GWENHYWFAR_API
00104 char *GWEN_Text_UnescapeN(const char *src,
00105                           unsigned int srclen,
00106                           char *buffer,
00107                           unsigned int maxsize);
00108 
00109 GWENHYWFAR_API
00110 char *GWEN_Text_EscapeTolerant(const char *src,
00111                                char *buffer,
00112                                unsigned int maxsize);
00113 
00114 GWENHYWFAR_API
00115 char *GWEN_Text_UnescapeTolerant(const char *src,
00116                                  char *buffer,
00117                                  unsigned int maxsize);
00118 
00119 GWENHYWFAR_API
00120 char *GWEN_Text_UnescapeTolerantN(const char *src,
00121                                   unsigned int srclen,
00122                                   char *buffer,
00123                                   unsigned int maxsize);
00124 
00125 
00126 GWENHYWFAR_API
00127 int GWEN_Text_EscapeToBuffer(const char *src, GWEN_BUFFER *buf);
00128 
00129 GWENHYWFAR_API
00130 int GWEN_Text_UnescapeToBuffer(const char *src, GWEN_BUFFER *buf);
00131 
00137 GWENHYWFAR_API
00138 int GWEN_Text_EscapeToBufferTolerant(const char *src, GWEN_BUFFER *buf);
00139 
00140 GWENHYWFAR_API
00141 int GWEN_Text_EscapeToBufferTolerant2(GWEN_BUFFER *src, GWEN_BUFFER *buf);
00142 
00143 
00148 GWENHYWFAR_API
00149 int GWEN_Text_UnescapeToBufferTolerant(const char *src, GWEN_BUFFER *buf);
00150 
00151 
00152 GWENHYWFAR_API
00153 char *GWEN_Text_ToHex(const char *src, unsigned l, char *buffer,
00154                       unsigned int maxsize);
00155 
00163 GWENHYWFAR_API
00164 int GWEN_Text_ToHexBuffer(const char *src, unsigned l,
00165                           GWEN_BUFFER *buf,
00166                           unsigned int groupsize,
00167                           char delimiter,
00168                           int skipLeadingZeroes);
00169 
00174 GWENHYWFAR_API
00175 char *GWEN_Text_ToHexGrouped(const char *src,
00176                              unsigned l,
00177                              char *buffer,
00178                              unsigned maxsize,
00179                              unsigned int groupsize,
00180                              char delimiter,
00181                              int skipLeadingZeros);
00182 
00183 GWENHYWFAR_API
00184 int GWEN_Text_FromHex(const char *src, char *buffer, unsigned maxsize);
00185 
00189 GWENHYWFAR_API
00190 int GWEN_Text_FromHexBuffer(const char *src, GWEN_BUFFER *buf);
00191 
00192 
00196 GWENHYWFAR_API
00197 int GWEN_Text_FromBcdBuffer(const char *src, GWEN_BUFFER *buf);
00198 
00199 
00207 GWENHYWFAR_API
00208 int GWEN_Text_ToBcdBuffer(const char *src, unsigned l,
00209                           GWEN_BUFFER *buf,
00210                           unsigned int groupsize,
00211                           char delimiter,
00212                           int skipLeadingZeroes);
00213 
00214 
00220 GWENHYWFAR_API
00221 int GWEN_Text_NumToString(int num, char *buffer, unsigned int bufsize,
00222                           int fillchar);
00223 
00230 GWENHYWFAR_API
00231 int GWEN_Text_DoubleToBuffer(double num, GWEN_BUFFER *buf);
00232 
00239 GWENHYWFAR_API
00240 int GWEN_Text_StringToDouble(const char *s, double *num);
00241 
00242 
00249 GWENHYWFAR_API
00250 int GWEN_Text_Compare(const char *s1, const char *s2, int ign);
00251 
00252 
00260 GWENHYWFAR_API
00261 int GWEN_Text_ComparePattern(const char *w, const char *p, int sensecase);
00262 
00263 
00268 GWENHYWFAR_API
00269 void GWEN_Text_DumpString(const char *s, unsigned int l, FILE *f,
00270                           unsigned int insert);
00271 
00272 
00273 GWENHYWFAR_API
00274 void GWEN_Text_DumpString2Buffer(const char *s, unsigned int l,
00275                                  GWEN_BUFFER *mbuf,
00276                                  unsigned int insert);
00277 
00278 GWENHYWFAR_API
00279 void GWEN_Text_LogString(const char *s, unsigned int l,
00280                          const char *logDomain,
00281                          GWEN_LOGGER_LEVEL lv);
00282 
00283 
00288 GWENHYWFAR_API
00289   void GWEN_Text_CondenseBuffer(GWEN_BUFFER *buf);
00290 
00291 
00298 GWENHYWFAR_API
00299   int GWEN_Text_CountUtf8Chars(const char *s, int len);
00300 
00301 
00306 GWENHYWFAR_API
00307 int GWEN_Text_EscapeXmlToBuffer(const char *src, GWEN_BUFFER *buf);
00308 
00312 GWENHYWFAR_API
00313 int GWEN_Text_UnescapeXmlToBuffer(const char *src, GWEN_BUFFER *buf);
00314 
00315 
00331 GWENHYWFAR_API
00332   double GWEN_Text_CheckSimilarity(const char *s1, const char *s2, int ign);
00333 
00334 
00335 
00336 #ifdef __cplusplus
00337 }
00338 #endif
00339 
00340 
00341 #endif
00342 
00343 
00344 

Generated on Thu Aug 20 13:54:39 2009 for gwenhywfar by  doxygen 1.5.9