root/ext/mbstring/libmbfl/mbfl/mbfl_ident.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * "streamable kanji code filter and converter"
   3  * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
   4  *
   5  * LICENSE NOTICES
   6  *
   7  * This file is part of "streamable kanji code filter and converter",
   8  * which is distributed under the terms of GNU Lesser General Public
   9  * License (version 2) as published by the Free Software Foundation.
  10  *
  11  * This software is distributed in the hope that it will be useful,
  12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14  * GNU Lesser General Public License for more details.
  15  *
  16  * You should have received a copy of the GNU Lesser General Public
  17  * License along with "streamable kanji code filter and converter";
  18  * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
  19  * Suite 330, Boston, MA  02111-1307  USA
  20  *
  21  * The author of this file:
  22  *
  23  */
  24 /*
  25  * The source code included in this files was separated from mbfilter.h
  26  * by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file
  27  * mbfilter.h is included in this package .
  28  *
  29  */
  30 
  31 #ifndef MBFL_IDENT_H
  32 #define MBFL_IDENT_H
  33 
  34 #include "mbfl_defs.h"
  35 #include "mbfl_encoding.h"
  36 
  37 /*
  38  * identify filter
  39  */
  40 typedef struct _mbfl_identify_filter mbfl_identify_filter;
  41 
  42 struct _mbfl_identify_filter {
  43         void (*filter_ctor)(mbfl_identify_filter *filter);
  44         void (*filter_dtor)(mbfl_identify_filter *filter);
  45         int (*filter_function)(int c, mbfl_identify_filter *filter);
  46         int status;
  47         int flag;
  48         int score;
  49         const mbfl_encoding *encoding;
  50 };
  51 
  52 struct mbfl_identify_vtbl {
  53         enum mbfl_no_encoding encoding;
  54         void (*filter_ctor)(mbfl_identify_filter *filter);
  55         void (*filter_dtor)(mbfl_identify_filter *filter);
  56         int (*filter_function)(int c, mbfl_identify_filter *filter);
  57 };
  58 
  59 MBFLAPI extern const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding);
  60 MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new(enum mbfl_no_encoding encoding);
  61 MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new2(const mbfl_encoding *encoding);
  62 MBFLAPI extern void mbfl_identify_filter_delete(mbfl_identify_filter *filter);
  63 MBFLAPI extern int mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding);
  64 MBFLAPI extern int mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding);
  65 MBFLAPI void mbfl_identify_filter_cleanup(mbfl_identify_filter *filter);
  66 
  67 MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter);
  68 MBFLAPI extern void mbfl_filt_ident_common_dtor(mbfl_identify_filter *filter);
  69 MBFLAPI extern void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter);
  70 
  71 MBFLAPI extern int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter);
  72 MBFLAPI extern int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter);
  73 
  74 #endif /* MBFL_IDENT_H */

/* [<][>][^][v][top][bottom][index][help] */