Return to mbfl_encoding.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / mbstring / libmbfl / mbfl |
1.1 misho 1: /* 2: * "streamable kanji code filter and converter" 3: * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. 4: * 5: * LICENSE NOTICES 6: * 7: * This file is part of "streamable kanji code filter and converter", 8: * which is distributed under the terms of GNU Lesser General Public 9: * License (version 2) as published by the Free Software Foundation. 10: * 11: * This software is distributed in the hope that it will be useful, 12: * but WITHOUT ANY WARRANTY; without even the implied warranty of 13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14: * GNU Lesser General Public License for more details. 15: * 16: * You should have received a copy of the GNU Lesser General Public 17: * License along with "streamable kanji code filter and converter"; 18: * if not, write to the Free Software Foundation, Inc., 59 Temple Place, 19: * Suite 330, Boston, MA 02111-1307 USA 20: * 21: * The author of this file: 22: * 23: */ 24: /* 25: * The source code included in this files was separated from mbfilter.h 26: * by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file 27: * mbfilter.h is included in this package . 28: * 29: */ 30: 31: #ifndef MBFL_ENCODING_H 32: #define MBFL_ENCODING_H 33: 34: #include "mbfl_defs.h" 35: 36: enum mbfl_no_encoding { 37: mbfl_no_encoding_invalid = -1, 38: mbfl_no_encoding_pass, 39: mbfl_no_encoding_auto, 40: mbfl_no_encoding_wchar, 41: mbfl_no_encoding_byte2be, 42: mbfl_no_encoding_byte2le, 43: mbfl_no_encoding_byte4be, 44: mbfl_no_encoding_byte4le, 45: mbfl_no_encoding_base64, 46: mbfl_no_encoding_uuencode, 47: mbfl_no_encoding_html_ent, 48: mbfl_no_encoding_qprint, 49: mbfl_no_encoding_7bit, 50: mbfl_no_encoding_8bit, 51: mbfl_no_encoding_charset_min, 52: mbfl_no_encoding_ucs4, 53: mbfl_no_encoding_ucs4be, 54: mbfl_no_encoding_ucs4le, 55: mbfl_no_encoding_ucs2, 56: mbfl_no_encoding_ucs2be, 57: mbfl_no_encoding_ucs2le, 58: mbfl_no_encoding_utf32, 59: mbfl_no_encoding_utf32be, 60: mbfl_no_encoding_utf32le, 61: mbfl_no_encoding_utf16, 62: mbfl_no_encoding_utf16be, 63: mbfl_no_encoding_utf16le, 64: mbfl_no_encoding_utf8, 65: mbfl_no_encoding_utf7, 66: mbfl_no_encoding_utf7imap, 67: mbfl_no_encoding_ascii, 68: mbfl_no_encoding_euc_jp, 69: mbfl_no_encoding_sjis, 70: mbfl_no_encoding_eucjp_win, 71: mbfl_no_encoding_sjis_open, 72: mbfl_no_encoding_cp932, 73: mbfl_no_encoding_cp51932, 74: mbfl_no_encoding_jis, 75: mbfl_no_encoding_2022jp, 76: mbfl_no_encoding_2022jpms, 77: mbfl_no_encoding_cp1252, 78: mbfl_no_encoding_cp1254, 79: mbfl_no_encoding_8859_1, 80: mbfl_no_encoding_8859_2, 81: mbfl_no_encoding_8859_3, 82: mbfl_no_encoding_8859_4, 83: mbfl_no_encoding_8859_5, 84: mbfl_no_encoding_8859_6, 85: mbfl_no_encoding_8859_7, 86: mbfl_no_encoding_8859_8, 87: mbfl_no_encoding_8859_9, 88: mbfl_no_encoding_8859_10, 89: mbfl_no_encoding_8859_13, 90: mbfl_no_encoding_8859_14, 91: mbfl_no_encoding_8859_15, 92: mbfl_no_encoding_euc_cn, 93: mbfl_no_encoding_cp936, 94: mbfl_no_encoding_euc_tw, 95: mbfl_no_encoding_big5, 96: mbfl_no_encoding_euc_kr, 97: mbfl_no_encoding_2022kr, 98: mbfl_no_encoding_uhc, 99: mbfl_no_encoding_hz, 100: mbfl_no_encoding_cp1251, 101: mbfl_no_encoding_cp866, 102: mbfl_no_encoding_koi8r, 103: mbfl_no_encoding_koi8u, 104: mbfl_no_encoding_8859_16, 105: mbfl_no_encoding_armscii8, 106: mbfl_no_encoding_cp850, 107: mbfl_no_encoding_jis_ms, 108: mbfl_no_encoding_cp50220, 109: mbfl_no_encoding_cp50220raw, 110: mbfl_no_encoding_cp50221, 111: mbfl_no_encoding_cp50222, 112: mbfl_no_encoding_charset_max 113: }; 114: 115: typedef enum mbfl_no_encoding mbfl_encoding_id; 116: 117: /* 118: * encoding 119: */ 120: typedef struct _mbfl_encoding { 121: enum mbfl_no_encoding no_encoding; 122: const char *name; 123: const char *mime_name; 124: const char *(*aliases)[]; 125: const unsigned char *mblen_table; 126: unsigned int flag; 127: } mbfl_encoding; 128: 129: MBFLAPI extern const mbfl_encoding * mbfl_name2encoding(const char *name); 130: MBFLAPI extern const mbfl_encoding * mbfl_no2encoding(enum mbfl_no_encoding no_encoding); 131: MBFLAPI extern enum mbfl_no_encoding mbfl_name2no_encoding(const char *name); 132: MBFLAPI extern const mbfl_encoding ** mbfl_get_supported_encodings(); 133: MBFLAPI extern const char * mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding); 134: MBFLAPI extern const char * mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding); 135: MBFLAPI extern int mbfl_is_support_encoding(const char *name); 136: 137: 138: #endif /* MBFL_ENCODING_H */