diff src/coding.h @ 89330:ee0338e83a2b

(struct coding_detection_info): New structure. (struct coding_system): Prototype of the member `detector' adjusted. (CODING_ANNOTATE_CHARSET_MASK): New macro.
author Kenichi Handa <handa@m17n.org>
date Mon, 06 Jan 2003 11:36:42 +0000
parents 0da59936bc31
children 95c081cdbd5f
line wrap: on
line diff
--- a/src/coding.h	Mon Jan 06 11:09:58 2003 +0000
+++ b/src/coding.h	Mon Jan 06 11:36:42 2003 +0000
@@ -291,6 +291,18 @@
   int surrogate;
 };
 
+struct coding_detection_info
+{
+  /* Values of these members are bitwise-OR of CATEGORY_MASK_XXXs.  */
+  /* Which categories are already checked.  */
+  int checked;
+  /* Which categories are strongly found.  */
+  int found;
+  /* Which categories are rejected.  */
+  int rejected;
+};
+
+
 struct coding_system
 {
   /* ID number of the coding system.  This is an index to
@@ -383,7 +395,8 @@
 
   int default_char;
 
-  int (*detector) P_ ((struct coding_system *, int *));
+  int (*detector) P_ ((struct coding_system *,
+		       struct coding_detection_info *));
   void (*decoder) P_ ((struct coding_system *));
   int (*encoder) P_ ((struct coding_system *));
 };
@@ -394,6 +407,7 @@
 #define CODING_ANNOTATION_MASK			0x00FF
 #define CODING_ANNOTATE_COMPOSITION_MASK	0x0001
 #define CODING_ANNOTATE_DIRECTION_MASK		0x0002
+#define CODING_ANNOTATE_CHARSET_MASK		0x0003
 #define CODING_FOR_UNIBYTE_MASK			0x0100
 #define CODING_REQUIRE_FLUSHING_MASK		0x0200
 #define CODING_REQUIRE_DECODING_MASK		0x0400