blob: aecc66eafe31c8ea7b3bf5e5d0cb1fcdf4405d98 (
plain)
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
32
33
34
35
36
37
38
39
40
41
42
|
#ifndef ENCODE_H
#define ENCODE_H
#ifndef U8
typedef unsigned char U8;
#endif
typedef struct encpage_s encpage_t;
struct encpage_s
{
const U8 *seq;
encpage_t *next;
U8 min;
U8 max;
U8 dlen;
U8 slen;
};
typedef struct encode_s encode_t;
struct encode_s
{
encpage_t *t_utf8;
encpage_t *f_utf8;
const U8 *rep;
int replen;
U8 min_el;
U8 max_el;
const char *name[2];
};
#ifdef U8
extern int do_encode(encpage_t *enc, const U8 *src, STRLEN *slen,
U8 *dst, STRLEN dlen, STRLEN *dout, int approx);
extern void Encode_DefineEncoding(encode_t *enc);
#endif
#define ENCODE_NOSPACE 1
#define ENCODE_PARTIAL 2
#define ENCODE_NOREP 3
#define ENCODE_FALLBACK 4
#endif
|