File: charconv.h

package info (click to toggle)
ifmail 2.14tx8.10-32
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,056 kB
  • sloc: ansic: 30,328; perl: 4,955; yacc: 839; makefile: 716; sh: 424; cpp: 235; lex: 206; awk: 24
file content (95 lines) | stat: -rw-r--r-- 3,600 bytes parent folder | download | duplicates (11)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#ifndef IFMAIL_CHARCONV_H
#define IFMAIL_CHARCONV_H

/* some special chars values */
#define NUL         0
#define NL          10
#define FF          12
#define CR          13
#define ESC         27
#define TRUE        1
#define FALSE       0
#ifndef SEEK_CUR
#define SEEK_CUR    1
#endif

/* ************ general functions ************* */
char *hdrconv(char *, int, int);
char *hdrnconv(char *, int, int, int);
char *strnkconv(const char *src, int incode, int outcode, int maxlen);
char *strkconv(const char *src, int incode, int outcode);
void kconv(char *src, char **dest, int incode, int outcode);

/* ************ 8 bit charsets **************** */
void noconv(char *in, char **out);
void eight2eight(char *in, char **out, char *filemap);
void utf7_to_eight(char *in, char **out,int *outcode);
void utf8_to_eight(char *in, char **out,int *outcode);

/* maptabs names */
#define CP424__CP862		"cp424__cp862"
#define CP424__ISO_8859_8	"cp424__iso-8859-8"
#define CP437__ISO_8859_1	"cp437__iso-8859-1"
#define CP437__MACINTOSH	"cp437__mac"
#define CP850__ISO_8859_1	"cp437__iso-8859-1"
#define CP850__MACINTOSH	"cp437__mac"
#define CP852__FIDOMAZOVIA	"cp852__fidomazovia"
#define CP852__ISO_8859_2	"cp852__iso-8859-2"
#define CP862__CP424		"cp862__cp424"
#define CP862__ISO_8859_8	"cp862__iso-8859-8"
#define CP866__ISO_8859_5	"mik__iso-8859-5"
#define CP866__KOI8		"cp866__koi8"
#define CP866__KOI8_R		"cp866__koi8-r"
#define CP895__CP437            "cp895__cp437"
#define CP895__ISO_8859_2       "cp895__iso-8859-2"
#define FIDOMAZOVIA__CP852	"fidomazovia__cp852"
#define FIDOMAZOVIA__ISO_8859_2	"fidomazovia__iso-8859-2"
#define ISO_11__ISO_8859_1	"iso-11__iso-8859-1"
#define ISO_4__ISO_8859_1	"iso-4__iso-8859-1"
#define ISO_60__ISO_8859_1	"iso-60__iso-8859-1"
#define ISO_8859_1__CP437	"iso-8859-1__cp437"
#define ISO_8859_1__MACINTOSH	"iso-8859-1__mac"
#define ISO_8859_1__CP850	"iso-8859-1__cp437"
#define ISO_8859_2__CP852	"iso-8859-2__cp852"
#define ISO_8859_2__CP895       "iso-8859-2__cp895"
#define ISO_8859_2__FIDOMAZOVIA	"iso-8859-2__fidomazovia"
#define ISO_8859_5__CP866	"iso-8859-5__mik"
#define ISO_8859_5__KOI8	"iso-8859-5__koi8"
#define ISO_8859_5__MIK_CYR	"iso-8859-5__mik"
#define ISO_8859_8__CP424	"iso-8859-8__cp424"
#define ISO_8859_8__CP862	"iso-8859-8__cp862"
#define KOI8__CP866		"koi8__cp866"
#define KOI8_R__CP866		"koi8-r__cp866"
#define KOI8__ISO_8859_5	"koi8__iso-8859-5"
#define KOI8__MIK_CYR		"koi8__mik"
#define MACINTOSH__CP437	"mac__cp437"
#define MACINTOSH__CP850	"mac__cp437"
#define MACINTOSH__ISO_8859_1	"mac__iso-8859-1"
#define MIK_CYR__ISO_8859_5	"mik__iso-8859-5"
#define MIK_CYR__KOI8		"mik__koi8"

/* ************ 16 bits charsets ************* */
/* japanese charsets */
void shift2seven(char *in,char **out,int incode,char ki[],char ko[]);
void shift2euc(char *in,char **out,int incode,int tofullsize);
void euc2seven(char *in,char **out,int incode,char ki[],char ko[]);
void euc2euc(char *in,char **out,int incode,int tofullsize);
void shift2shift(char *in,char **out,int incode,int tofullsize);
void euc2shift(char *in,char **out,int incode,int tofullsize);
void seven2shift(char *in,char **out);
void seven2euc(char *in,char **out);
void seven2seven(char *in,char **out,char ki[],char ko[]);

/* Chinese charsets */
void gb2hz(char *in,char **out);
void hz2gb(char *in,char **out);
void zw2hz(char *in,char **out);
void zw2gb(char *in,char **out);

/* ??? */
int toup(int data);
int SkipESCSeq(FILE *in,int temp,int *intwobyte);
int getkcode(int code,char ki[],char ko[]);
int iso2022_detectcode(char *in,int);

#endif /* IFMAIL_CHARCONV_H */