19
19
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
/* $XFree86: xc/programs/luit/iso2022.h,v 1.4 2002/07/01 02:25:59 tsi Exp $ */
23
#ifndef LUIT_ISO2022_H
24
#define LUIT_ISO2022_H 1
35
39
#define LS1R_7 0x7E
36
40
#define LS2R_7 0x7D
37
41
#define LS3R_7 0x7C
39
43
#define IS_FINAL_ESC(x) (((x) & 0xF0 ) != 0x20)
40
#define IS_FINAL_CSI(x) (((x) & 0xF0 ) != 0x20 && (((x) & 0xF0 ) != 0x30))
44
#define IS_FINAL_CSI(x) (((x) & 0xF0 ) != 0x20 && (((x) & 0xF0 ) != 0x30))
52
56
#define IF_EIGHTBIT 4
58
62
#define OF_PASSTHRU 8
60
64
typedef struct _Iso2022 {
61
CharsetPtr *glp, *grp;
65
const CharsetRec **glp;
66
const CharsetRec **grp;
67
const CharsetRec *g[4];
68
const CharsetRec *other;
68
73
unsigned char *buffered;
75
size_t buffered_count;
72
77
unsigned char *outbuf;
74
79
} Iso2022Rec, *Iso2022Ptr;
76
81
#define GL(i) (*(i)->glp)
86
91
Iso2022Ptr allocIso2022(void);
87
92
void destroyIso2022(Iso2022Ptr);
88
int initIso2022(char *, char *, Iso2022Ptr);
93
int initIso2022(const char *, const char *, Iso2022Ptr);
89
94
int mergeIso2022(Iso2022Ptr, Iso2022Ptr);
90
95
void reportIso2022(Iso2022Ptr);
91
96
void terminate(Iso2022Ptr, int);
92
void terminateEsc(Iso2022Ptr, int, unsigned char*, int);
93
void copyIn(Iso2022Ptr, int, unsigned char*, int);
94
void copyOut(Iso2022Ptr, int, unsigned char*, int);
97
void terminateEsc(Iso2022Ptr, int, unsigned char *, unsigned);
98
void copyIn(Iso2022Ptr, int, unsigned char *, int);
99
void copyOut(Iso2022Ptr, int, unsigned char *, unsigned);
101
#endif /* LUIT_ISO2022_H */