Commit | Line | Data |
2f2b4ff2 |
1 | #ifndef ENCODE_H |
2 | #define ENCODE_H |
017e2add |
3 | #ifndef U8 |
4 | typedef unsigned char U8; |
5 | #endif |
6 | |
7 | typedef struct encpage_s encpage_t; |
8 | |
9 | struct encpage_s |
10 | { |
11 | const U8 *seq; |
12 | encpage_t *next; |
13 | U8 min; |
14 | U8 max; |
15 | U8 dlen; |
16 | U8 slen; |
17 | }; |
18 | |
19 | typedef struct encode_s encode_t; |
20 | struct encode_s |
21 | { |
017e2add |
22 | encpage_t *t_utf8; |
23 | encpage_t *f_utf8; |
24 | const U8 *rep; |
25 | int replen; |
dcda1f94 |
26 | U8 min_el; |
27 | U8 max_el; |
28 | const char *name[2]; |
017e2add |
29 | }; |
30 | |
2f2b4ff2 |
31 | #ifdef U8 |
32 | extern int do_encode(encpage_t *enc, const U8 *src, STRLEN *slen, |
9b37254d |
33 | U8 *dst, STRLEN dlen, STRLEN *dout, int approx); |
2f2b4ff2 |
34 | |
35 | extern void Encode_DefineEncoding(encode_t *enc); |
36 | #endif |
37 | |
9b37254d |
38 | #define ENCODE_NOSPACE 1 |
39 | #define ENCODE_PARTIAL 2 |
40 | #define ENCODE_NOREP 3 |
41 | #define ENCODE_FALLBACK 4 |
2f2b4ff2 |
42 | #endif |