~ubuntu-branches/debian/sid/emacs24/sid

« back to all changes in this revision

Viewing changes to src/ccl.h

  • Committer: Package Import Robot
  • Author(s): Rob Browning
  • Date: 2014-10-25 14:37:43 UTC
  • mfrom: (13.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20141025143743-m9q5reoyyyjq3p2h
Tags: 24.4+1-4
Update emacsen-common dependency as per policy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
  int reg[8];                   /* CCL registers, reg[7] is used for
52
52
                                   condition flag of relational
53
53
                                   operations.  */
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
58
 
                                   set up.  */
59
 
  int last_block;               /* Set to 1 while processing the last
60
 
                                   block. */
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
71
 
                                   system.  */
72
59
  int consumed;
73
60
  int produced;
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
 
62
                                   block. */
 
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. */
84
66
};
88
70
 
89
71
struct ccl_spec {
90
72
  struct ccl_program ccl;
91
 
  int cr_carryover;             /* CR carryover flag.  */
92
 
  unsigned char eight_bit_carryover[MAX_MULTIBYTE_LENGTH];
93
73
};
94
74
 
95
75
#define CODING_SPEC_CCL_PROGRAM(coding) ((coding)->spec.ccl.ccl)
96
76
 
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);
100
80
 
101
81
extern void ccl_driver (struct ccl_program *, int *, int *, int, int,
102
82
                        Lisp_Object);
107
87
  do {                                          \
108
88
    if (NILP (Fccl_program_p (x)))              \
109
89
      wrong_type_argument (Qcclp, (x)); \
110
 
  } while (0);
 
90
  } while (false);
111
91
 
112
92
#endif /* EMACS_CCL_H */