/[emacs]/emacs/src/ccl.h
ViewVC logotype

Diff of /emacs/src/ccl.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.16 by handa, Tue Feb 27 03:29:08 2001 UTC revision 1.16.14.1 by handa, Fri Mar 1 01:14:37 2002 UTC
# Line 1  Line 1 
1  /* Header for CCL (Code Conversion Language) interpreter.  /* Header for CCL (Code Conversion Language) interpreter.
2     Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.     Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
3     Licensed to the Free Software Foundation.     Licensed to the Free Software Foundation.
4       Copyright (C) 2001, 2002
5         National Institute of Advanced Industrial Science and Technology (AIST)
6         Registration Number H13PRO009
7    
8  This file is part of GNU Emacs.  This file is part of GNU Emacs.
9    
# Line 53  struct ccl_program { Line 56  struct ccl_program {
56                                     many times bigger the output buffer                                     many times bigger the output buffer
57                                     should be than the input buffer.  */                                     should be than the input buffer.  */
58    int stack_idx;                /* How deep the call of CCL_Call is nested.  */    int stack_idx;                /* How deep the call of CCL_Call is nested.  */
59    int eol_type;                 /* When the CCL program is used for    int src_multibyte;            /* 1 if the input buffer is multibyte.  */
60                                     encoding by a coding system, set to    int dst_multibyte;            /* 1 if the output buffer is multibyte.  */
                                    the eol_type of the coding system.  
                                    In other cases, always  
                                    CODING_EOL_LF.  */  
   int multibyte;                /* 1 if the source text is multibyte.  */  
61    int cr_consumed;              /* Flag for encoding DOS-like EOL    int cr_consumed;              /* Flag for encoding DOS-like EOL
62                                     format when the CCL program is used                                     format when the CCL program is used
63                                     for encoding by a coding                                     for encoding by a coding
64                                     system.  */                                     system.  */
65      int consumed;
66      int produced;
67    int suppress_error;           /* If nonzero, don't insert error    int suppress_error;           /* If nonzero, don't insert error
68                                     message in the output.  */                                     message in the output.  */
69    int eight_bit_control;        /* Set to nonzero if CCL_WRITE_CHAR    int eight_bit_control;        /* Set to nonzero if CCL_WRITE_CHAR
# Line 73  struct ccl_program { Line 74  struct ccl_program {
74     coding_system.  */     coding_system.  */
75    
76  struct ccl_spec {  struct ccl_spec {
77    struct ccl_program decoder;    struct ccl_program ccl;
   struct ccl_program encoder;  
   unsigned char valid_codes[256];  
78    int cr_carryover;             /* CR carryover flag.  */    int cr_carryover;             /* CR carryover flag.  */
79    unsigned char eight_bit_carryover[MAX_MULTIBYTE_LENGTH];    unsigned char eight_bit_carryover[MAX_MULTIBYTE_LENGTH];
80  };  };
81    
82    #define CODING_SPEC_CCL_PROGRAM(coding) ((coding)->spec.ccl.ccl)
83    
84  /* Alist of fontname patterns vs corresponding CCL program.  */  /* Alist of fontname patterns vs corresponding CCL program.  */
85  extern Lisp_Object Vfont_ccl_encoder_alist;  extern Lisp_Object Vfont_ccl_encoder_alist;
86    
# Line 87  extern Lisp_Object Vfont_ccl_encoder_ali Line 88  extern Lisp_Object Vfont_ccl_encoder_ali
88     execution of ccl program CCL_PROG (symbol or vector).  */     execution of ccl program CCL_PROG (symbol or vector).  */
89  extern int setup_ccl_program P_ ((struct ccl_program *, Lisp_Object));  extern int setup_ccl_program P_ ((struct ccl_program *, Lisp_Object));
90    
91  extern int ccl_driver P_ ((struct ccl_program *, unsigned char *,  extern void ccl_driver P_ ((struct ccl_program *, int *, int *, int, int));
                            unsigned char *, int, int, int *));  
92    
93  /* Vector of CCL program names vs corresponding program data.  */  /* Vector of CCL program names vs corresponding program data.  */
94  extern Lisp_Object Vccl_program_table;  extern Lisp_Object Vccl_program_table;
# Line 97  extern Lisp_Object Vccl_program_table; Line 97  extern Lisp_Object Vccl_program_table;
97     is an index for Vccl_protram_table. */     is an index for Vccl_protram_table. */
98  extern Lisp_Object Qccl_program_idx;  extern Lisp_Object Qccl_program_idx;
99    
100    extern Lisp_Object Qccl, Qcclp;
101    
102    EXFUN (Fccl_program_p, 1);
103    
104    #define CHECK_CCL_PROGRAM(x)                    \
105      do {                                          \
106        if (NILP (Fccl_program_p (x)))              \
107          x = wrong_type_argument (Qcclp, (x));     \
108      } while (0);
109    
110  #endif /* EMACS_CCL_H */  #endif /* EMACS_CCL_H */

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.16.14.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26