#define CODING_CATEGORY_IDX_ISO_8_ELSE 7
#define CODING_CATEGORY_IDX_CCL 8
#define CODING_CATEGORY_IDX_BIG5 9
-#define CODING_CATEGORY_IDX_RAW_TEXT 10
-#define CODING_CATEGORY_IDX_BINARY 11
-#define CODING_CATEGORY_IDX_MAX 12
+#define CODING_CATEGORY_IDX_UTF_8 10
+#define CODING_CATEGORY_IDX_UTF_16_BE 11
+#define CODING_CATEGORY_IDX_UTF_16_LE 12
+#define CODING_CATEGORY_IDX_RAW_TEXT 13
+#define CODING_CATEGORY_IDX_BINARY 14
+#define CODING_CATEGORY_IDX_MAX 15
/* Definitions of flag bits returned by the function
detect_coding_mask (). */
#define CODING_CATEGORY_MASK_ISO_8_ELSE (1 << CODING_CATEGORY_IDX_ISO_8_ELSE)
#define CODING_CATEGORY_MASK_CCL (1 << CODING_CATEGORY_IDX_CCL)
#define CODING_CATEGORY_MASK_BIG5 (1 << CODING_CATEGORY_IDX_BIG5)
+#define CODING_CATEGORY_MASK_UTF_8 (1 << CODING_CATEGORY_IDX_UTF_8)
+#define CODING_CATEGORY_MASK_UTF_16_BE (1 << CODING_CATEGORY_IDX_UTF_16_BE)
+#define CODING_CATEGORY_MASK_UTF_16_LE (1 << CODING_CATEGORY_IDX_UTF_16_LE)
#define CODING_CATEGORY_MASK_RAW_TEXT (1 << CODING_CATEGORY_IDX_RAW_TEXT)
#define CODING_CATEGORY_MASK_BINARY (1 << CODING_CATEGORY_IDX_BINARY)
| CODING_CATEGORY_MASK_ISO_7_ELSE \
| CODING_CATEGORY_MASK_ISO_8_ELSE \
| CODING_CATEGORY_MASK_CCL \
- | CODING_CATEGORY_MASK_BIG5)
+ | CODING_CATEGORY_MASK_BIG5 \
+ | CODING_CATEGORY_MASK_UTF_8 \
+ | CODING_CATEGORY_MASK_UTF_16_BE \
+ | CODING_CATEGORY_MASK_UTF_16_LE)
#define CODING_CATEGORY_MASK_ISO_7BIT \
(CODING_CATEGORY_MASK_ISO_7 | CODING_CATEGORY_MASK_ISO_7_TIGHT)
| CODING_CATEGORY_MASK_ISO_SHIFT \
| CODING_CATEGORY_MASK_ISO_8BIT)
+#define CODING_CATEGORY_MASK_UTF_16_BE_LE \
+ (CODING_CATEGORY_MASK_UTF_16_BE | CODING_CATEGORY_MASK_UTF_16_LE)
+
/* Macros to decode or encode a character of JISX0208 in SJIS. S1 and
S2 are the 1st and 2nd position-codes of JISX0208 in SJIS coding
system. C1 and C2 are the 1st and 2nd position codes of Emacs'