2
* "streamable kanji code filter and converter"
3
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
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.
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.
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
21
* The author of this file:
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 .
31
#ifndef MBFL_MEMORY_DEVICE_H
32
#define MBFL_MEMORY_DEVICE_H
34
#include "mbfl_defs.h"
35
#include "mbfl_string.h"
37
#define MBFL_MEMORY_DEVICE_ALLOC_SIZE 64
39
typedef struct _mbfl_memory_device {
40
unsigned char *buffer;
46
typedef struct _mbfl_wchar_device {
53
MBFLAPI extern void mbfl_memory_device_init(mbfl_memory_device *device, int initsz, int allocsz);
54
MBFLAPI extern void mbfl_memory_device_realloc(mbfl_memory_device *device, int initsz, int allocsz);
55
MBFLAPI extern void mbfl_memory_device_clear(mbfl_memory_device *device);
56
MBFLAPI extern void mbfl_memory_device_reset(mbfl_memory_device *device);
57
MBFLAPI extern mbfl_string * mbfl_memory_device_result(mbfl_memory_device *device, mbfl_string *result);
58
MBFLAPI extern void mbfl_memory_device_unput(mbfl_memory_device *device);
59
MBFLAPI extern int mbfl_memory_device_output(int c, void *data);
60
MBFLAPI extern int mbfl_memory_device_output2(int c, void *data);
61
MBFLAPI extern int mbfl_memory_device_output4(int c, void *data);
62
MBFLAPI extern int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc);
63
MBFLAPI extern int mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, int len);
64
MBFLAPI extern int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src);
66
MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device);
67
MBFLAPI extern int mbfl_wchar_device_output(int c, void *data);
68
MBFLAPI extern void mbfl_wchar_device_clear(mbfl_wchar_device *device);
72
#endif /* MBFL_MEMORY_DEVICE_H */