51
51
int reg[8]; /* CCL registers, reg[7] is used for
52
52
condition flag of relational
54
int private_state; /* CCL instruction may use this
55
for private use, mainly for saving
56
internal states on suspending.
57
This variable is set to 0 when ccl is
59
int last_block; /* Set to 1 while processing the last
61
54
int status; /* Exit status of the CCL program. */
62
55
int buf_magnification; /* Output buffer magnification. How
63
56
many times bigger the output buffer
64
57
should be than the input buffer. */
65
58
int stack_idx; /* How deep the call of CCL_Call is nested. */
66
int src_multibyte; /* 1 if the input buffer is multibyte. */
67
int dst_multibyte; /* 1 if the output buffer is multibyte. */
68
int cr_consumed; /* Flag for encoding DOS-like EOL
69
format when the CCL program is used
70
for encoding by a coding
74
int suppress_error; /* If nonzero, don't insert error
75
message in the output. */
76
int eight_bit_control; /* If nonzero, ccl_driver counts all
77
eight-bit-control bytes written by
78
CCL_WRITE_CHAR. After execution,
79
if no such byte is written, set
80
this value to zero. */
81
int quit_silently; /* If nonzero, don't append "CCL:
61
bool_bf last_block : 1; /* Set to true while processing the last
63
bool_bf quit_silently : 1; /* If true, don't append "CCL:
82
64
Quitted" to the generated text when
83
65
CCL program is quitted. */
90
72
struct ccl_program ccl;
91
int cr_carryover; /* CR carryover flag. */
92
unsigned char eight_bit_carryover[MAX_MULTIBYTE_LENGTH];
95
75
#define CODING_SPEC_CCL_PROGRAM(coding) ((coding)->spec.ccl.ccl)
97
77
/* Setup fields of the structure pointed by CCL appropriately for the
98
78
execution of ccl program CCL_PROG (symbol or vector). */
99
extern int setup_ccl_program (struct ccl_program *, Lisp_Object);
79
extern bool setup_ccl_program (struct ccl_program *, Lisp_Object);
101
81
extern void ccl_driver (struct ccl_program *, int *, int *, int, int,