1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #ifndef MBFL_MEMORY_DEVICE_H
32 #define MBFL_MEMORY_DEVICE_H
33
34 #include "mbfl_defs.h"
35 #include "mbfl_string.h"
36
37 #define MBFL_MEMORY_DEVICE_ALLOC_SIZE 64
38
39 typedef struct _mbfl_memory_device {
40 unsigned char *buffer;
41 int length;
42 int pos;
43 int allocsz;
44 } mbfl_memory_device;
45
46 typedef struct _mbfl_wchar_device {
47 unsigned int *buffer;
48 int length;
49 int pos;
50 int allocsz;
51 } mbfl_wchar_device;
52
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);
65
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);
69
70
71
72 #endif
73