diff options
author | Karl Heuer <kwzh@gnu.org> | 1997-02-20 07:02:49 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1997-02-20 07:02:49 +0000 |
commit | 4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1 (patch) | |
tree | 860ad83f81c8c630fe7051e3c5379ca8a9658f69 /src/ccl.h | |
parent | adb572fb93ddfee88f9c5e9681434517fd241232 (diff) | |
download | emacs-4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1.tar.gz |
Initial revision
Diffstat (limited to 'src/ccl.h')
-rw-r--r-- | src/ccl.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/ccl.h b/src/ccl.h new file mode 100644 index 00000000000..ebda0cc1595 --- /dev/null +++ b/src/ccl.h @@ -0,0 +1,53 @@ +/* Header for CCL (Code Conversion Language) interpreter. + + Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef _CCL_H +#define _CCL_H + +/* Structure to hold information about running CCL code. Read + comments in the file ccl.c for the detail of each field. */ +struct ccl_program { + int size; /* Size of the compiled code. */ + Lisp_Object *prog; /* Pointer into the compiled code. */ + int ic; /* Instruction Counter (index for PROG). */ + int eof_ic; /* Instruction Counter for end-of-file + processing code. */ + int reg[8]; /* CCL registers, reg[7] is used for + condition flag of relational + operations. */ + int last_block; /* Set to 1 while processing the last + block. */ + int status; /* Exit status of the CCL program. */ + int buf_magnification; /* Output buffer magnification. How + many times bigger the output buffer + should be than the input buffer. */ +}; + +/* This data type is used for the spec field of the structure + coding_system. */ + +struct ccl_spec { + struct ccl_program decoder; + struct ccl_program encoder; +}; + +/* Alist of fontname patterns vs corresponding CCL program. */ +extern Lisp_Object Vfont_ccl_encoder_alist; + +#endif /* _CCL_H */ |