Annotation of embedaddon/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h, revision 1.1
1.1 ! misho 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 void mbfl_identify_filter_delete(mbfl_identify_filter *filter);
! 62: MBFLAPI extern int mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding);
! 63: MBFLAPI void mbfl_identify_filter_cleanup(mbfl_identify_filter *filter);
! 64:
! 65: MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter);
! 66: MBFLAPI extern void mbfl_filt_ident_common_dtor(mbfl_identify_filter *filter);
! 67: MBFLAPI extern void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter);
! 68:
! 69: MBFLAPI extern int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter);
! 70: MBFLAPI extern int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter);
! 71:
! 72: #endif /* MBFL_IDENT_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>