Annotation of embedaddon/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.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_CONVERT_H
        !            32: #define MBFL_CONVERT_H
        !            33: 
        !            34: #include "mbfl_defs.h"
        !            35: #include "mbfl_encoding.h"
        !            36: #include "mbfl_memory_device.h"
        !            37: 
        !            38: typedef struct _mbfl_convert_filter mbfl_convert_filter;
        !            39: 
        !            40: struct _mbfl_convert_filter {
        !            41:        void (*filter_ctor)(mbfl_convert_filter *filter);
        !            42:        void (*filter_dtor)(mbfl_convert_filter *filter);
        !            43:        void (*filter_copy)(mbfl_convert_filter *src, mbfl_convert_filter *dest);
        !            44:        int (*filter_function)(int c, mbfl_convert_filter *filter);
        !            45:        int (*filter_flush)(mbfl_convert_filter *filter);
        !            46:        int (*output_function)(int c, void *data);
        !            47:        int (*flush_function)(void *data);
        !            48:        void *data;
        !            49:        int status;
        !            50:        int cache;
        !            51:        const mbfl_encoding *from;
        !            52:        const mbfl_encoding *to;
        !            53:        int illegal_mode;
        !            54:        int illegal_substchar;
        !            55:        int num_illegalchar;
        !            56:        void *opaque;
        !            57: };
        !            58: 
        !            59: struct mbfl_convert_vtbl {
        !            60:        enum mbfl_no_encoding from;
        !            61:        enum mbfl_no_encoding to;
        !            62:        void (*filter_ctor)(mbfl_convert_filter *filter);
        !            63:        void (*filter_dtor)(mbfl_convert_filter *filter);
        !            64:        int (*filter_function)(int c, mbfl_convert_filter *filter);
        !            65:        int (*filter_flush)(mbfl_convert_filter *filter);
        !            66:        void (*filter_copy)(mbfl_convert_filter *src, mbfl_convert_filter *dest);
        !            67: };
        !            68: 
        !            69: MBFLAPI extern const struct mbfl_convert_vtbl *mbfl_convert_filter_list[];
        !            70: 
        !            71: MBFLAPI extern mbfl_convert_filter *mbfl_convert_filter_new(
        !            72:     enum mbfl_no_encoding from,
        !            73:     enum mbfl_no_encoding to,
        !            74:     int (*output_function)(int, void *),
        !            75:     int (*flush_function)(void *),
        !            76:     void *data );
        !            77: MBFLAPI extern mbfl_convert_filter *mbfl_convert_filter_new2(
        !            78:        const struct mbfl_convert_vtbl *vtbl,
        !            79:     int (*output_function)(int, void *),
        !            80:     int (*flush_function)(void *),
        !            81:     void *data );
        !            82: MBFLAPI extern void mbfl_convert_filter_delete(mbfl_convert_filter *filter);
        !            83: MBFLAPI extern int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter);
        !            84: MBFLAPI extern int mbfl_convert_filter_flush(mbfl_convert_filter *filter);
        !            85: MBFLAPI extern void mbfl_convert_filter_reset(mbfl_convert_filter *filter, enum mbfl_no_encoding from, enum mbfl_no_encoding to);
        !            86: MBFLAPI extern void mbfl_convert_filter_copy(mbfl_convert_filter *src, mbfl_convert_filter *dist);
        !            87: MBFLAPI extern int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter);
        !            88: MBFLAPI extern const struct mbfl_convert_vtbl * mbfl_convert_filter_get_vtbl(enum mbfl_no_encoding from, enum mbfl_no_encoding to);
        !            89: 
        !            90: MBFLAPI extern void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter);
        !            91: MBFLAPI extern int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter);
        !            92: MBFLAPI extern void mbfl_filt_conv_common_dtor(mbfl_convert_filter *filter);
        !            93: 
        !            94: MBFLAPI extern int mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src);
        !            95: MBFLAPI extern int mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p);
        !            96: 
        !            97: #endif /* MBFL_CONVERT_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>