| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
iana_charsets.h
Go to the documentation of this file.
1
18#ifndef __IANA_CHARSETS_H__
19#define __IANA_CHARSETS_H__
20
21/* Map a MIBenum code for a charset to a Wireshark string encoding. */
22WS_DLL_PUBLIC unsigned mibenum_charset_to_encoding (unsigned charset);
23
24/* value_string_ext table of names for MIBenum codes */
25WS_DLL_PUBLIC value_string_ext mibenum_vals_character_sets_ext;
26
27/* Basic macro for creating iana charset or Wireshark supported string encoding
28 * enumeration type, enum_val_t or value_string array.
29 *
30 * ZZZ is a record selection macro. If ZZZ is ICWE_SELECT_ALL then select all records,
31 * or ICWE_SELECT_N1 then select records marked with '1' and ignore all records
32 * marked with '0'. (The prefix of macro 'ICWE' is abrev of "IANA Charset and Wireshark Encoding")
33 *
34 * YYY is a column selection macro. For example, if YYY is ICWE_MAP_TO_VS_RECORD then choose
35 * column 1+2+3 for defining xxx_VALUE_STRING_LIST.
36 *
37 * XXX is the final macro to expand the VALUE_STRING, ENUM_VAL_T or other type records
38 * to enumeration type, value_string array, enum_val_t array or other codes.
39 *
40 * The fields of record "ZZZ(1, YYY(XXX, IANA_CS_US_ASCII, 3, "US-ASCII", ENC_NA|_DEFAULT_WS_ENC))"
41 * means:
42 * - "ZZZ(1..." -- means this is Wireshark supported charset encoding. 0 means not supported.
43 * This mark tag (or called group id) can be extended to support 0, 1, 2, 3,
44 * and etc, if we need to create more different value_string or enum_val_t
45 * array about the iana charsets in the future by defining selector like this:
46 * #define ICWE_SELECT_N1_N3(N, ...) ICWE_SELECT_N1_N2_##N(__VA_ARGS__)
47 * #define ICWE_SELECT_N1_N3_0(...)
48 * #define ICWE_SELECT_N1_N3_1(...) __VA_ARGS__
49 * #define ICWE_SELECT_N1_N3_2(...)
50 * #define ICWE_SELECT_N1_N3_3(...) __VA_ARGS__
51 * - IANA_CS_US_ASCII -- is the enumeration name.
52 * - 3 -- is the IANA enum number of "US-ASCII".
53 * - "US-ASCII" -- is the preferred name of IANA charset.
54 * - ENC_NA|_DEFAULT_WS_ENC -- is the corresponding Wireshark encoding.
55 *
56 * The IANA charset updated from 10/04/2012 version.
57 */
58#define _DEFAULT_WS_ENC ENC_ASCII
59#define IANA_CHARSETS_WS_ENCODING_MAP_LIST(XXX, YYY, ZZZ) \
60 ZZZ(1, YYY(XXX, IANA_CS_US_ASCII, 3, "US-ASCII", ENC_NA|ENC_ASCII)) \
61 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_1, 4, "ISO-8859-1", ENC_NA|ENC_ISO_8859_1)) \
62 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_2, 5, "ISO-8859-2", ENC_NA|ENC_ISO_8859_2)) \
63 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_3, 6, "ISO-8859-3", ENC_NA|ENC_ISO_8859_3)) \
64 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_4, 7, "ISO-8859-4", ENC_NA|ENC_ISO_8859_4)) \
65 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_5, 8, "ISO-8859-5", ENC_NA|ENC_ISO_8859_5)) \
66 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_6, 9, "ISO-8859-6", ENC_NA|ENC_ISO_8859_6)) \
67 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_7, 10, "ISO-8859-7", ENC_NA|ENC_ISO_8859_7)) \
68 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_8, 11, "ISO-8859-8", ENC_NA|ENC_ISO_8859_8)) \
69 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_9, 12, "ISO-8859-9", ENC_NA|ENC_ISO_8859_9)) \
70 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_10, 13, "ISO-8859-10", ENC_NA|ENC_ISO_8859_10)) \
71 ZZZ(0, YYY(XXX, IANA_CS_ISO_6937_2_ADD, 14, "ISO_6937-2-add", ENC_NA|_DEFAULT_WS_ENC)) \
72 ZZZ(0, YYY(XXX, IANA_CS_JIS_X0201, 15, "JIS_X0201", ENC_NA|_DEFAULT_WS_ENC)) \
73 ZZZ(0, YYY(XXX, IANA_CS_JIS_ENCODING, 16, "JIS_Encoding", ENC_NA|_DEFAULT_WS_ENC)) \
74 ZZZ(0, YYY(XXX, IANA_CS_SHIFT_JIS, 17, "Shift_JIS", ENC_NA|_DEFAULT_WS_ENC)) \
75 ZZZ(0, YYY(XXX, IANA_CS_EUC_JP, 18, "EUC-JP", ENC_NA|_DEFAULT_WS_ENC)) \
76 ZZZ(0, YYY(XXX, IANA_CS_EXTENDED_UNIX_CODE_FIXED_WIDTH_FOR_JAPANESE, 19, "Extended_UNIX_Code_Fixed_Width_for_Japanese", ENC_NA|_DEFAULT_WS_ENC)) \
77 ZZZ(0, YYY(XXX, IANA_CS_BS_4730, 20, "BS_4730", ENC_NA|_DEFAULT_WS_ENC)) \
78 ZZZ(0, YYY(XXX, IANA_CS_SEN_850200_C, 21, "SEN_850200_C", ENC_NA|_DEFAULT_WS_ENC)) \
79 ZZZ(0, YYY(XXX, IANA_CS_IT, 22, "IT", ENC_NA|_DEFAULT_WS_ENC)) \
80 ZZZ(0, YYY(XXX, IANA_CS_ES, 23, "ES", ENC_NA|_DEFAULT_WS_ENC)) \
81 ZZZ(0, YYY(XXX, IANA_CS_DIN_66003, 24, "DIN_66003", ENC_NA|_DEFAULT_WS_ENC)) \
82 ZZZ(0, YYY(XXX, IANA_CS_NS_4551_1, 25, "NS_4551-1", ENC_NA|_DEFAULT_WS_ENC)) \
83 ZZZ(0, YYY(XXX, IANA_CS_NF_Z_62_010, 26, "NF_Z_62-010", ENC_NA|_DEFAULT_WS_ENC)) \
84 ZZZ(0, YYY(XXX, IANA_CS_ISO_10646_UTF_1, 27, "ISO-10646-UTF-1", ENC_NA|_DEFAULT_WS_ENC)) \
85 ZZZ(0, YYY(XXX, IANA_CS_ISO_646_BASIC_1983, 28, "ISO_646.basic:1983", ENC_NA|_DEFAULT_WS_ENC)) \
86 ZZZ(0, YYY(XXX, IANA_CS_INVARIANT, 29, "INVARIANT", ENC_NA|_DEFAULT_WS_ENC)) \
87 ZZZ(0, YYY(XXX, IANA_CS_ISO_646_IRV_1983, 30, "ISO_646.irv:1983", ENC_NA|_DEFAULT_WS_ENC)) \
88 ZZZ(0, YYY(XXX, IANA_CS_NATS_SEFI, 31, "NATS-SEFI", ENC_NA|_DEFAULT_WS_ENC)) \
89 ZZZ(0, YYY(XXX, IANA_CS_NATS_SEFI_ADD, 32, "NATS-SEFI-ADD", ENC_NA|_DEFAULT_WS_ENC)) \
90 ZZZ(0, YYY(XXX, IANA_CS_NATS_DANO, 33, "NATS-DANO", ENC_NA|_DEFAULT_WS_ENC)) \
91 ZZZ(0, YYY(XXX, IANA_CS_NATS_DANO_ADD, 34, "NATS-DANO-ADD", ENC_NA|_DEFAULT_WS_ENC)) \
92 ZZZ(0, YYY(XXX, IANA_CS_SEN_850200_B, 35, "SEN_850200_B", ENC_NA|_DEFAULT_WS_ENC)) \
93 ZZZ(0, YYY(XXX, IANA_CS_KS_C_5601_1987, 36, "KS_C_5601-1987", ENC_NA|_DEFAULT_WS_ENC)) \
94 ZZZ(0, YYY(XXX, IANA_CS_ISO_2022_KR, 37, "ISO-2022-KR", ENC_NA|_DEFAULT_WS_ENC)) \
95 ZZZ(1, YYY(XXX, IANA_CS_EUC_KR, 38, "EUC-KR", ENC_NA|ENC_EUC_KR)) \
96 ZZZ(0, YYY(XXX, IANA_CS_ISO_2022_JP, 39, "ISO-2022-JP", ENC_NA|_DEFAULT_WS_ENC)) \
97 ZZZ(0, YYY(XXX, IANA_CS_ISO_2022_JP_2, 40, "ISO-2022-JP-2", ENC_NA|_DEFAULT_WS_ENC)) \
98 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6220_1969_JP, 41, "JIS_C6220-1969-jp", ENC_NA|_DEFAULT_WS_ENC)) \
99 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6220_1969_RO, 42, "JIS_C6220-1969-ro", ENC_NA|_DEFAULT_WS_ENC)) \
100 ZZZ(0, YYY(XXX, IANA_CS_PT, 43, "PT", ENC_NA|_DEFAULT_WS_ENC)) \
101 ZZZ(0, YYY(XXX, IANA_CS_GREEK7_OLD, 44, "greek7-old", ENC_NA|_DEFAULT_WS_ENC)) \
102 ZZZ(0, YYY(XXX, IANA_CS_LATIN_GREEK, 45, "latin-greek", ENC_NA|_DEFAULT_WS_ENC)) \
103 ZZZ(0, YYY(XXX, IANA_CS_NF_Z_62_010_1973, 46, "NF_Z_62-010_(1973)", ENC_NA|_DEFAULT_WS_ENC)) \
104 ZZZ(0, YYY(XXX, IANA_CS_LATIN_GREEK_1, 47, "Latin-greek-1", ENC_NA|_DEFAULT_WS_ENC)) \
105 ZZZ(0, YYY(XXX, IANA_CS_ISO_5427, 48, "ISO_5427", ENC_NA|_DEFAULT_WS_ENC)) \
106 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6226_1978, 49, "JIS_C6226-1978", ENC_NA|_DEFAULT_WS_ENC)) \
107 ZZZ(0, YYY(XXX, IANA_CS_BS_VIEWDATA, 50, "BS_viewdata", ENC_NA|_DEFAULT_WS_ENC)) \
108 ZZZ(0, YYY(XXX, IANA_CS_INIS, 51, "INIS", ENC_NA|_DEFAULT_WS_ENC)) \
109 ZZZ(0, YYY(XXX, IANA_CS_INIS_8, 52, "INIS-8", ENC_NA|_DEFAULT_WS_ENC)) \
110 ZZZ(0, YYY(XXX, IANA_CS_INIS_CYRILLIC, 53, "INIS-cyrillic", ENC_NA|_DEFAULT_WS_ENC)) \
111 ZZZ(0, YYY(XXX, IANA_CS_ISO_5427_1981, 54, "ISO_5427:1981", ENC_NA|_DEFAULT_WS_ENC)) \
112 ZZZ(0, YYY(XXX, IANA_CS_ISO_5428_1980, 55, "ISO_5428:1980", ENC_NA|_DEFAULT_WS_ENC)) \
113 ZZZ(0, YYY(XXX, IANA_CS_GB_1988_80, 56, "GB_1988-80", ENC_NA|_DEFAULT_WS_ENC)) \
114 ZZZ(0, YYY(XXX, IANA_CS_GB_2312_80, 57, "GB_2312-80", ENC_NA|_DEFAULT_WS_ENC)) \
115 ZZZ(0, YYY(XXX, IANA_CS_NS_4551_2, 58, "NS_4551-2", ENC_NA|_DEFAULT_WS_ENC)) \
116 ZZZ(0, YYY(XXX, IANA_CS_VIDEOTEX_SUPPL, 59, "videotex-suppl", ENC_NA|_DEFAULT_WS_ENC)) \
117 ZZZ(0, YYY(XXX, IANA_CS_PT2, 60, "PT2", ENC_NA|_DEFAULT_WS_ENC)) \
118 ZZZ(0, YYY(XXX, IANA_CS_ES2, 61, "ES2", ENC_NA|_DEFAULT_WS_ENC)) \
119 ZZZ(0, YYY(XXX, IANA_CS_MSZ_7795_3, 62, "MSZ_7795.3", ENC_NA|_DEFAULT_WS_ENC)) \
120 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6226_1983, 63, "JIS_C6226-1983", ENC_NA|_DEFAULT_WS_ENC)) \
121 ZZZ(0, YYY(XXX, IANA_CS_GREEK7, 64, "greek7", ENC_NA|_DEFAULT_WS_ENC)) \
122 ZZZ(0, YYY(XXX, IANA_CS_ASMO_449, 65, "ASMO_449", ENC_NA|_DEFAULT_WS_ENC)) \
123 ZZZ(0, YYY(XXX, IANA_CS_ISO_IR_90, 66, "iso-ir-90", ENC_NA|_DEFAULT_WS_ENC)) \
124 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_A, 67, "JIS_C6229-1984-a", ENC_NA|_DEFAULT_WS_ENC)) \
125 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_B, 68, "JIS_C6229-1984-b", ENC_NA|_DEFAULT_WS_ENC)) \
126 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_B_ADD, 69, "JIS_C6229-1984-b-add",ENC_NA|_DEFAULT_WS_ENC)) \
127 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_HAND, 70, "JIS_C6229-1984-hand", ENC_NA|_DEFAULT_WS_ENC)) \
128 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_HAND_ADD, 71, "JIS_C6229-1984-hand-add", ENC_NA|_DEFAULT_WS_ENC)) \
129 ZZZ(0, YYY(XXX, IANA_CS_JIS_C6229_1984_KANA, 72, "JIS_C6229-1984-kana", ENC_NA|_DEFAULT_WS_ENC)) \
130 ZZZ(0, YYY(XXX, IANA_CS_ISO_2033_1983, 73, "ISO_2033-1983", ENC_NA|_DEFAULT_WS_ENC)) \
131 ZZZ(0, YYY(XXX, IANA_CS_ANSI_X3_110_1983, 74, "ANSI_X3.110-1983", ENC_NA|_DEFAULT_WS_ENC)) \
132 ZZZ(0, YYY(XXX, IANA_CS_T_61_7BIT, 75, "T.61-7bit", ENC_NA|_DEFAULT_WS_ENC)) \
133 ZZZ(0, YYY(XXX, IANA_CS_T_61_8BIT, 76, "T.61-8bit", ENC_NA|_DEFAULT_WS_ENC)) \
134 ZZZ(0, YYY(XXX, IANA_CS_ECMA_CYRILLIC, 77, "ECMA-cyrillic", ENC_NA|_DEFAULT_WS_ENC)) \
135 ZZZ(0, YYY(XXX, IANA_CS_CSA_Z243_4_1985_1, 78, "CSA_Z243.4-1985-1", ENC_NA|_DEFAULT_WS_ENC)) \
136 ZZZ(0, YYY(XXX, IANA_CS_CSA_Z243_4_1985_2, 79, "CSA_Z243.4-1985-2", ENC_NA|_DEFAULT_WS_ENC)) \
137 ZZZ(0, YYY(XXX, IANA_CS_CSA_Z243_4_1985_GR, 80, "CSA_Z243.4-1985-gr", ENC_NA|_DEFAULT_WS_ENC)) \
138 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_6_E, 81, "ISO-8859-6-E", ENC_NA|_DEFAULT_WS_ENC)) \
139 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_6_I, 82, "ISO-8859-6-I", ENC_NA|_DEFAULT_WS_ENC)) \
140 ZZZ(0, YYY(XXX, IANA_CS_T_101_G2, 83, "T.101-G2", ENC_NA|_DEFAULT_WS_ENC)) \
141 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_8_E, 84, "ISO-8859-8-E", ENC_NA|_DEFAULT_WS_ENC)) \
142 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_8_I, 85, "ISO-8859-8-I", ENC_NA|_DEFAULT_WS_ENC)) \
143 ZZZ(0, YYY(XXX, IANA_CS_CSN_369103, 86, "CSN_369103", ENC_NA|_DEFAULT_WS_ENC)) \
144 ZZZ(0, YYY(XXX, IANA_CS_JUS_I_B1_002, 87, "JUS_I.B1.002", ENC_NA|_DEFAULT_WS_ENC)) \
145 ZZZ(0, YYY(XXX, IANA_CS_IEC_P27_1, 88, "IEC_P27-1", ENC_NA|_DEFAULT_WS_ENC)) \
146 ZZZ(0, YYY(XXX, IANA_CS_JUS_I_B1_003_SERB, 89, "JUS_I.B1.003-serb", ENC_NA|_DEFAULT_WS_ENC)) \
147 ZZZ(0, YYY(XXX, IANA_CS_JUS_I_B1_003_MAC, 90, "JUS_I.B1.003-mac", ENC_NA|_DEFAULT_WS_ENC)) \
148 ZZZ(0, YYY(XXX, IANA_CS_GREEK_CCITT, 91, "greek-ccitt", ENC_NA|_DEFAULT_WS_ENC)) \
149 ZZZ(0, YYY(XXX, IANA_CS_NC_NC00_10_81, 92, "NC_NC00-10:81", ENC_NA|_DEFAULT_WS_ENC)) \
150 ZZZ(0, YYY(XXX, IANA_CS_ISO_6937_2_25, 93, "ISO_6937-2-25", ENC_NA|_DEFAULT_WS_ENC)) \
151 ZZZ(0, YYY(XXX, IANA_CS_GOST_19768_74, 94, "GOST_19768-74", ENC_NA|_DEFAULT_WS_ENC)) \
152 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_SUPP, 95, "ISO_8859-supp", ENC_NA|_DEFAULT_WS_ENC)) \
153 ZZZ(0, YYY(XXX, IANA_CS_ISO_10367_BOX, 96, "ISO_10367-box", ENC_NA|_DEFAULT_WS_ENC)) \
154 ZZZ(0, YYY(XXX, IANA_CS_LATIN_LAP, 97, "latin-lap", ENC_NA|_DEFAULT_WS_ENC)) \
155 ZZZ(0, YYY(XXX, IANA_CS_JIS_X0212_1990, 98, "JIS_X0212-1990", ENC_NA|_DEFAULT_WS_ENC)) \
156 ZZZ(0, YYY(XXX, IANA_CS_DS_2089, 99, "DS_2089", ENC_NA|_DEFAULT_WS_ENC)) \
157 ZZZ(0, YYY(XXX, IANA_CS_US_DK, 100, "us-dk", ENC_NA|_DEFAULT_WS_ENC)) \
158 ZZZ(0, YYY(XXX, IANA_CS_DK_US, 101, "dk-us", ENC_NA|_DEFAULT_WS_ENC)) \
159 ZZZ(0, YYY(XXX, IANA_CS_KSC5636, 102, "KSC5636", ENC_NA|_DEFAULT_WS_ENC)) \
160 ZZZ(0, YYY(XXX, IANA_CS_UNICODE_1_1_UTF_7, 103, "UNICODE-1-1-UTF-7", ENC_NA|_DEFAULT_WS_ENC)) \
161 ZZZ(0, YYY(XXX, IANA_CS_ISO_2022_CN, 104, "ISO-2022-CN", ENC_NA|_DEFAULT_WS_ENC)) \
162 ZZZ(0, YYY(XXX, IANA_CS_ISO_2022_CN_EXT, 105, "ISO-2022-CN-EXT", ENC_NA|_DEFAULT_WS_ENC)) \
163 ZZZ(1, YYY(XXX, IANA_CS_UTF_8, 106, "UTF-8", ENC_NA|ENC_UTF_8)) \
164 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_13, 109, "ISO-8859-13", ENC_NA|ENC_ISO_8859_13)) \
165 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_14, 110, "ISO-8859-14", ENC_NA|ENC_ISO_8859_14)) \
166 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_15, 111, "ISO-8859-15", ENC_NA|ENC_ISO_8859_15)) \
167 ZZZ(1, YYY(XXX, IANA_CS_ISO_8859_16, 112, "ISO-8859-16", ENC_NA|ENC_ISO_8859_16)) \
168 ZZZ(1, YYY(XXX, IANA_CS_GBK, 113, "GBK", ENC_NA|ENC_GB18030)) \
169 ZZZ(1, YYY(XXX, IANA_CS_GB18030, 114, "GB18030", ENC_NA|ENC_GB18030)) \
170 ZZZ(0, YYY(XXX, IANA_CS_OSD_EBCDIC_DF04_15, 115, "OSD_EBCDIC_DF04_15", ENC_NA|_DEFAULT_WS_ENC)) \
171 ZZZ(0, YYY(XXX, IANA_CS_OSD_EBCDIC_DF03_IRV, 116, "OSD_EBCDIC_DF03_IRV", ENC_NA|_DEFAULT_WS_ENC)) \
172 ZZZ(0, YYY(XXX, IANA_CS_OSD_EBCDIC_DF04_1, 117, "OSD_EBCDIC_DF04_1", ENC_NA|_DEFAULT_WS_ENC)) \
173 ZZZ(0, YYY(XXX, IANA_CS_ISO_11548_1, 118, "ISO-11548-1", ENC_NA|_DEFAULT_WS_ENC)) \
174 ZZZ(0, YYY(XXX, IANA_CS_KZ_1048, 119, "KZ-1048", ENC_NA|_DEFAULT_WS_ENC)) \
175 ZZZ(1, YYY(XXX, IANA_CS_ISO_10646_UCS_2, 1000, "ISO-10646-UCS-2", ENC_BIG_ENDIAN|ENC_UCS_2)) \
176 ZZZ(1, YYY(XXX, IANA_CS_ISO_10646_UCS_4, 1001, "ISO-10646-UCS-4", ENC_BIG_ENDIAN|ENC_UCS_4)) \
177 ZZZ(0, YYY(XXX, IANA_CS_ISO_10646_UCS_BASIC, 1002, "ISO-10646-UCS-Basic", ENC_NA|_DEFAULT_WS_ENC)) \
178 ZZZ(0, YYY(XXX, IANA_CS_ISO_10646_UNICODE_LATIN1, 1003, "ISO-10646-Unicode-Latin1", ENC_NA|_DEFAULT_WS_ENC)) \
179 ZZZ(0, YYY(XXX, IANA_CS_ISO_10646_J_1, 1004, "ISO-10646-J-1", ENC_NA|_DEFAULT_WS_ENC)) \
180 ZZZ(0, YYY(XXX, IANA_CS_ISO_UNICODE_IBM_1261, 1005, "ISO-Unicode-IBM-1261",ENC_NA|_DEFAULT_WS_ENC)) \
181 ZZZ(0, YYY(XXX, IANA_CS_ISO_UNICODE_IBM_1268, 1006, "ISO-Unicode-IBM-1268",ENC_NA|_DEFAULT_WS_ENC)) \
182 ZZZ(0, YYY(XXX, IANA_CS_ISO_UNICODE_IBM_1276, 1007, "ISO-Unicode-IBM-1276",ENC_NA|_DEFAULT_WS_ENC)) \
183 ZZZ(0, YYY(XXX, IANA_CS_ISO_UNICODE_IBM_1264, 1008, "ISO-Unicode-IBM-1264",ENC_NA|_DEFAULT_WS_ENC)) \
184 ZZZ(0, YYY(XXX, IANA_CS_ISO_UNICODE_IBM_1265, 1009, "ISO-Unicode-IBM-1265",ENC_NA|_DEFAULT_WS_ENC)) \
185 ZZZ(0, YYY(XXX, IANA_CS_UNICODE_1_1, 1010, "UNICODE-1-1", ENC_NA|_DEFAULT_WS_ENC)) \
186 ZZZ(0, YYY(XXX, IANA_CS_SCSU, 1011, "SCSU", ENC_NA|_DEFAULT_WS_ENC)) \
187 ZZZ(0, YYY(XXX, IANA_CS_UTF_7, 1012, "UTF-7", ENC_NA|_DEFAULT_WS_ENC)) \
188 ZZZ(1, YYY(XXX, IANA_CS_UTF_16BE, 1013, "UTF-16BE", ENC_BIG_ENDIAN|ENC_UTF_16)) \
189 ZZZ(1, YYY(XXX, IANA_CS_UTF_16LE, 1014, "UTF-16LE", ENC_LITTLE_ENDIAN|ENC_UTF_16)) \
190 ZZZ(1, YYY(XXX, IANA_CS_UTF_16, 1015, "UTF-16", ENC_LITTLE_ENDIAN|ENC_BOM|ENC_UTF_16)) \
191 ZZZ(0, YYY(XXX, IANA_CS_CESU_8, 1016, "CESU-8", ENC_NA|_DEFAULT_WS_ENC)) \
192 ZZZ(0, YYY(XXX, IANA_CS_UTF_32, 1017, "UTF-32", ENC_NA|_DEFAULT_WS_ENC)) \
193 ZZZ(0, YYY(XXX, IANA_CS_UTF_32BE, 1018, "UTF-32BE", ENC_NA|_DEFAULT_WS_ENC)) \
194 ZZZ(0, YYY(XXX, IANA_CS_UTF_32LE, 1019, "UTF-32LE", ENC_NA|_DEFAULT_WS_ENC)) \
195 ZZZ(0, YYY(XXX, IANA_CS_BOCU_1, 1020, "BOCU-1", ENC_NA|_DEFAULT_WS_ENC)) \
196 ZZZ(0, YYY(XXX, IANA_CS_UTF_7_IMAP, 1021, "UTF-7-IMAP", ENC_NA|_DEFAULT_WS_ENC)) \
197 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_1_WINDOWS_3_0_LATIN_1, 2000, "ISO-8859-1-Windows-3.0-Latin-1", ENC_NA|_DEFAULT_WS_ENC)) \
198 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_1_WINDOWS_3_1_LATIN_1, 2001, "ISO-8859-1-Windows-3.1-Latin-1", ENC_NA|_DEFAULT_WS_ENC)) \
199 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_2_WINDOWS_LATIN_2,2002, "ISO-8859-2-Windows-Latin-2", ENC_NA|_DEFAULT_WS_ENC)) \
200 ZZZ(0, YYY(XXX, IANA_CS_ISO_8859_9_WINDOWS_LATIN_5,2003, "ISO-8859-9-Windows-Latin-5", ENC_NA|_DEFAULT_WS_ENC)) \
201 ZZZ(0, YYY(XXX, IANA_CS_HP_ROMAN8, 2004, "hp-roman8", ENC_NA|_DEFAULT_WS_ENC)) \
202 ZZZ(0, YYY(XXX, IANA_CS_ADOBE_STANDARD_ENCODING, 2005, "Adobe-Standard-Encoding", ENC_NA|_DEFAULT_WS_ENC)) \
203 ZZZ(0, YYY(XXX, IANA_CS_VENTURA_US, 2006, "Ventura-US", ENC_NA|_DEFAULT_WS_ENC)) \
204 ZZZ(0, YYY(XXX, IANA_CS_VENTURA_INTERNATIONAL, 2007, "Ventura-International", ENC_NA|_DEFAULT_WS_ENC)) \
205 ZZZ(0, YYY(XXX, IANA_CS_DEC_MCS, 2008, "DEC-MCS", ENC_NA|_DEFAULT_WS_ENC)) \
206 ZZZ(0, YYY(XXX, IANA_CS_IBM850, 2009, "IBM850", ENC_NA|_DEFAULT_WS_ENC)) \
207 ZZZ(0, YYY(XXX, IANA_CS_IBM852, 2010, "IBM852", ENC_NA|_DEFAULT_WS_ENC)) \
208 ZZZ(1, YYY(XXX, IANA_CS_IBM437, 2011, "IBM437", ENC_NA|ENC_CP437)) \
209 ZZZ(0, YYY(XXX, IANA_CS_PC8_DANISH_NORWEGIAN, 2012, "PC8-Danish-Norwegian",ENC_NA|_DEFAULT_WS_ENC)) \
210 ZZZ(0, YYY(XXX, IANA_CS_IBM862, 2013, "IBM862", ENC_NA|_DEFAULT_WS_ENC)) \
211 ZZZ(0, YYY(XXX, IANA_CS_PC8_TURKISH, 2014, "PC8-Turkish", ENC_NA|_DEFAULT_WS_ENC)) \
212 ZZZ(0, YYY(XXX, IANA_CS_IBM_SYMBOLS, 2015, "IBM-Symbols", ENC_NA|_DEFAULT_WS_ENC)) \
213 ZZZ(0, YYY(XXX, IANA_CS_IBM_THAI, 2016, "IBM-Thai", ENC_NA|_DEFAULT_WS_ENC)) \
214 ZZZ(0, YYY(XXX, IANA_CS_HP_LEGAL, 2017, "HP-Legal", ENC_NA|_DEFAULT_WS_ENC)) \
215 ZZZ(0, YYY(XXX, IANA_CS_HP_PI_FONT, 2018, "HP-Pi-font", ENC_NA|_DEFAULT_WS_ENC)) \
216 ZZZ(0, YYY(XXX, IANA_CS_HP_MATH8, 2019, "HP-Math8", ENC_NA|_DEFAULT_WS_ENC)) \
217 ZZZ(0, YYY(XXX, IANA_CS_ADOBE_SYMBOL_ENCODING, 2020, "Adobe-Symbol-Encoding", ENC_NA|_DEFAULT_WS_ENC)) \
218 ZZZ(0, YYY(XXX, IANA_CS_HP_DESKTOP, 2021, "HP-DeskTop", ENC_NA|_DEFAULT_WS_ENC)) \
219 ZZZ(0, YYY(XXX, IANA_CS_VENTURA_MATH, 2022, "Ventura-Math", ENC_NA|_DEFAULT_WS_ENC)) \
220 ZZZ(0, YYY(XXX, IANA_CS_MICROSOFT_PUBLISHING, 2023, "Microsoft-Publishing",ENC_NA|_DEFAULT_WS_ENC)) \
221 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_31J, 2024, "Windows-31J", ENC_NA|_DEFAULT_WS_ENC)) \
222 ZZZ(1, YYY(XXX, IANA_CS_GB2312, 2025, "GB2312", ENC_NA|ENC_GB18030)) \
223 ZZZ(0, YYY(XXX, IANA_CS_BIG5, 2026, "Big5", ENC_NA|_DEFAULT_WS_ENC)) \
224 ZZZ(0, YYY(XXX, IANA_CS_MACINTOSH, 2027, "macintosh", ENC_NA|_DEFAULT_WS_ENC)) \
225 ZZZ(1, YYY(XXX, IANA_CS_IBM037, 2028, "IBM037", ENC_NA|ENC_EBCDIC_CP037)) \
226 ZZZ(0, YYY(XXX, IANA_CS_IBM038, 2029, "IBM038", ENC_NA|_DEFAULT_WS_ENC)) \
227 ZZZ(0, YYY(XXX, IANA_CS_IBM273, 2030, "IBM273", ENC_NA|_DEFAULT_WS_ENC)) \
228 ZZZ(0, YYY(XXX, IANA_CS_IBM274, 2031, "IBM274", ENC_NA|_DEFAULT_WS_ENC)) \
229 ZZZ(0, YYY(XXX, IANA_CS_IBM275, 2032, "IBM275", ENC_NA|_DEFAULT_WS_ENC)) \
230 ZZZ(0, YYY(XXX, IANA_CS_IBM277, 2033, "IBM277", ENC_NA|_DEFAULT_WS_ENC)) \
231 ZZZ(0, YYY(XXX, IANA_CS_IBM278, 2034, "IBM278", ENC_NA|_DEFAULT_WS_ENC)) \
232 ZZZ(0, YYY(XXX, IANA_CS_IBM280, 2035, "IBM280", ENC_NA|_DEFAULT_WS_ENC)) \
233 ZZZ(0, YYY(XXX, IANA_CS_IBM281, 2036, "IBM281", ENC_NA|_DEFAULT_WS_ENC)) \
234 ZZZ(0, YYY(XXX, IANA_CS_IBM284, 2037, "IBM284", ENC_NA|_DEFAULT_WS_ENC)) \
235 ZZZ(0, YYY(XXX, IANA_CS_IBM285, 2038, "IBM285", ENC_NA|_DEFAULT_WS_ENC)) \
236 ZZZ(0, YYY(XXX, IANA_CS_IBM290, 2039, "IBM290", ENC_NA|_DEFAULT_WS_ENC)) \
237 ZZZ(0, YYY(XXX, IANA_CS_IBM297, 2040, "IBM297", ENC_NA|_DEFAULT_WS_ENC)) \
238 ZZZ(0, YYY(XXX, IANA_CS_IBM420, 2041, "IBM420", ENC_NA|_DEFAULT_WS_ENC)) \
239 ZZZ(0, YYY(XXX, IANA_CS_IBM423, 2042, "IBM423", ENC_NA|_DEFAULT_WS_ENC)) \
240 ZZZ(0, YYY(XXX, IANA_CS_IBM424, 2043, "IBM424", ENC_NA|_DEFAULT_WS_ENC)) \
241 ZZZ(1, YYY(XXX, IANA_CS_IBM500, 2044, "IBM500", ENC_NA|ENC_EBCDIC_CP500)) \
242 ZZZ(0, YYY(XXX, IANA_CS_IBM851, 2045, "IBM851", ENC_NA|_DEFAULT_WS_ENC)) \
243 ZZZ(1, YYY(XXX, IANA_CS_IBM855, 2046, "IBM855", ENC_NA|ENC_CP855)) \
244 ZZZ(0, YYY(XXX, IANA_CS_IBM857, 2047, "IBM857", ENC_NA|_DEFAULT_WS_ENC)) \
245 ZZZ(0, YYY(XXX, IANA_CS_IBM860, 2048, "IBM860", ENC_NA|_DEFAULT_WS_ENC)) \
246 ZZZ(0, YYY(XXX, IANA_CS_IBM861, 2049, "IBM861", ENC_NA|_DEFAULT_WS_ENC)) \
247 ZZZ(0, YYY(XXX, IANA_CS_IBM863, 2050, "IBM863", ENC_NA|_DEFAULT_WS_ENC)) \
248 ZZZ(0, YYY(XXX, IANA_CS_IBM864, 2051, "IBM864", ENC_NA|_DEFAULT_WS_ENC)) \
249 ZZZ(0, YYY(XXX, IANA_CS_IBM865, 2052, "IBM865", ENC_NA|_DEFAULT_WS_ENC)) \
250 ZZZ(0, YYY(XXX, IANA_CS_IBM868, 2053, "IBM868", ENC_NA|_DEFAULT_WS_ENC)) \
251 ZZZ(0, YYY(XXX, IANA_CS_IBM869, 2054, "IBM869", ENC_NA|_DEFAULT_WS_ENC)) \
252 ZZZ(0, YYY(XXX, IANA_CS_IBM870, 2055, "IBM870", ENC_NA|_DEFAULT_WS_ENC)) \
253 ZZZ(0, YYY(XXX, IANA_CS_IBM871, 2056, "IBM871", ENC_NA|_DEFAULT_WS_ENC)) \
254 ZZZ(0, YYY(XXX, IANA_CS_IBM880, 2057, "IBM880", ENC_NA|_DEFAULT_WS_ENC)) \
255 ZZZ(0, YYY(XXX, IANA_CS_IBM891, 2058, "IBM891", ENC_NA|_DEFAULT_WS_ENC)) \
256 ZZZ(0, YYY(XXX, IANA_CS_IBM903, 2059, "IBM903", ENC_NA|_DEFAULT_WS_ENC)) \
257 ZZZ(0, YYY(XXX, IANA_CS_IBM904, 2060, "IBM904", ENC_NA|_DEFAULT_WS_ENC)) \
258 ZZZ(0, YYY(XXX, IANA_CS_IBM905, 2061, "IBM905", ENC_NA|_DEFAULT_WS_ENC)) \
259 ZZZ(0, YYY(XXX, IANA_CS_IBM918, 2062, "IBM918", ENC_NA|_DEFAULT_WS_ENC)) \
260 ZZZ(0, YYY(XXX, IANA_CS_IBM1026, 2063, "IBM1026", ENC_NA|_DEFAULT_WS_ENC)) \
261 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_AT_DE, 2064, "EBCDIC-AT-DE", ENC_NA|_DEFAULT_WS_ENC)) \
262 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_AT_DE_A, 2065, "EBCDIC-AT-DE-A", ENC_NA|_DEFAULT_WS_ENC)) \
263 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_CA_FR, 2066, "EBCDIC-CA-FR", ENC_NA|_DEFAULT_WS_ENC)) \
264 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_DK_NO, 2067, "EBCDIC-DK-NO", ENC_NA|_DEFAULT_WS_ENC)) \
265 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_DK_NO_A, 2068, "EBCDIC-DK-NO-A", ENC_NA|_DEFAULT_WS_ENC)) \
266 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_FI_SE, 2069, "EBCDIC-FI-SE", ENC_NA|_DEFAULT_WS_ENC)) \
267 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_FI_SE_A, 2070, "EBCDIC-FI-SE-A", ENC_NA|_DEFAULT_WS_ENC)) \
268 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_FR, 2071, "EBCDIC-FR", ENC_NA|_DEFAULT_WS_ENC)) \
269 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_IT, 2072, "EBCDIC-IT", ENC_NA|_DEFAULT_WS_ENC)) \
270 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_PT, 2073, "EBCDIC-PT", ENC_NA|_DEFAULT_WS_ENC)) \
271 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_ES, 2074, "EBCDIC-ES", ENC_NA|_DEFAULT_WS_ENC)) \
272 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_ES_A, 2075, "EBCDIC-ES-A", ENC_NA|_DEFAULT_WS_ENC)) \
273 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_ES_S, 2076, "EBCDIC-ES-S", ENC_NA|_DEFAULT_WS_ENC)) \
274 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_UK, 2077, "EBCDIC-UK", ENC_NA|_DEFAULT_WS_ENC)) \
275 ZZZ(0, YYY(XXX, IANA_CS_EBCDIC_US, 2078, "EBCDIC-US", ENC_NA|_DEFAULT_WS_ENC)) \
276 ZZZ(0, YYY(XXX, IANA_CS_UNKNOWN_8BIT, 2079, "UNKNOWN-8BIT", ENC_NA|_DEFAULT_WS_ENC)) \
277 ZZZ(0, YYY(XXX, IANA_CS_MNEMONIC, 2080, "MNEMONIC", ENC_NA|_DEFAULT_WS_ENC)) \
278 ZZZ(0, YYY(XXX, IANA_CS_MNEM, 2081, "MNEM", ENC_NA|_DEFAULT_WS_ENC)) \
279 ZZZ(0, YYY(XXX, IANA_CS_VISCII, 2082, "VISCII", ENC_NA|_DEFAULT_WS_ENC)) \
280 ZZZ(0, YYY(XXX, IANA_CS_VIQR, 2083, "VIQR", ENC_NA|_DEFAULT_WS_ENC)) \
281 ZZZ(0, YYY(XXX, IANA_CS_KOI8_R, 2084, "KOI8-R", ENC_NA|_DEFAULT_WS_ENC)) \
282 ZZZ(0, YYY(XXX, IANA_CS_HZ_GB_2312, 2085, "HZ-GB-2312", ENC_NA|_DEFAULT_WS_ENC)) \
283 ZZZ(1, YYY(XXX, IANA_CS_IBM866, 2086, "IBM866", ENC_NA|ENC_CP866)) \
284 ZZZ(0, YYY(XXX, IANA_CS_IBM775, 2087, "IBM775", ENC_NA|_DEFAULT_WS_ENC)) \
285 ZZZ(0, YYY(XXX, IANA_CS_KOI8_U, 2088, "KOI8-U", ENC_NA|_DEFAULT_WS_ENC)) \
286 ZZZ(0, YYY(XXX, IANA_CS_IBM00858, 2089, "IBM00858", ENC_NA|_DEFAULT_WS_ENC)) \
287 ZZZ(0, YYY(XXX, IANA_CS_IBM00924, 2090, "IBM00924", ENC_NA|_DEFAULT_WS_ENC)) \
288 ZZZ(0, YYY(XXX, IANA_CS_IBM01140, 2091, "IBM01140", ENC_NA|_DEFAULT_WS_ENC)) \
289 ZZZ(0, YYY(XXX, IANA_CS_IBM01141, 2092, "IBM01141", ENC_NA|_DEFAULT_WS_ENC)) \
290 ZZZ(0, YYY(XXX, IANA_CS_IBM01142, 2093, "IBM01142", ENC_NA|_DEFAULT_WS_ENC)) \
291 ZZZ(0, YYY(XXX, IANA_CS_IBM01143, 2094, "IBM01143", ENC_NA|_DEFAULT_WS_ENC)) \
292 ZZZ(0, YYY(XXX, IANA_CS_IBM01144, 2095, "IBM01144", ENC_NA|_DEFAULT_WS_ENC)) \
293 ZZZ(0, YYY(XXX, IANA_CS_IBM01145, 2096, "IBM01145", ENC_NA|_DEFAULT_WS_ENC)) \
294 ZZZ(0, YYY(XXX, IANA_CS_IBM01146, 2097, "IBM01146", ENC_NA|_DEFAULT_WS_ENC)) \
295 ZZZ(0, YYY(XXX, IANA_CS_IBM01147, 2098, "IBM01147", ENC_NA|_DEFAULT_WS_ENC)) \
296 ZZZ(0, YYY(XXX, IANA_CS_IBM01148, 2099, "IBM01148", ENC_NA|_DEFAULT_WS_ENC)) \
297 ZZZ(0, YYY(XXX, IANA_CS_IBM01149, 2100, "IBM01149", ENC_NA|_DEFAULT_WS_ENC)) \
298 ZZZ(0, YYY(XXX, IANA_CS_BIG5_HKSCS, 2101, "Big5-HKSCS", ENC_NA|_DEFAULT_WS_ENC)) \
299 ZZZ(0, YYY(XXX, IANA_CS_IBM1047, 2102, "IBM1047", ENC_NA|_DEFAULT_WS_ENC)) \
300 ZZZ(0, YYY(XXX, IANA_CS_PTCP154, 2103, "PTCP154", ENC_NA|_DEFAULT_WS_ENC)) \
301 ZZZ(0, YYY(XXX, IANA_CS_AMIGA_1251, 2104, "Amiga-1251", ENC_NA|_DEFAULT_WS_ENC)) \
302 ZZZ(0, YYY(XXX, IANA_CS_KOI7_SWITCHED, 2105, "KOI7-switched", ENC_NA|_DEFAULT_WS_ENC)) \
303 ZZZ(0, YYY(XXX, IANA_CS_BRF, 2106, "BRF", ENC_NA|_DEFAULT_WS_ENC)) \
304 ZZZ(0, YYY(XXX, IANA_CS_TSCII, 2107, "TSCII", ENC_NA|_DEFAULT_WS_ENC)) \
305 ZZZ(0, YYY(XXX, IANA_CS_CP51932, 2108, "CP51932", ENC_NA|_DEFAULT_WS_ENC)) \
306 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_874, 2109, "windows-874", ENC_NA|_DEFAULT_WS_ENC)) \
307 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1250, 2250, "windows-1250", ENC_NA|_DEFAULT_WS_ENC)) \
308 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1251, 2251, "windows-1251", ENC_NA|_DEFAULT_WS_ENC)) \
309 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1252, 2252, "windows-1252", ENC_NA|_DEFAULT_WS_ENC)) \
310 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1253, 2253, "windows-1253", ENC_NA|_DEFAULT_WS_ENC)) \
311 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1254, 2254, "windows-1254", ENC_NA|_DEFAULT_WS_ENC)) \
312 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1255, 2255, "windows-1255", ENC_NA|_DEFAULT_WS_ENC)) \
313 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1256, 2256, "windows-1256", ENC_NA|_DEFAULT_WS_ENC)) \
314 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1257, 2257, "windows-1257", ENC_NA|_DEFAULT_WS_ENC)) \
315 ZZZ(0, YYY(XXX, IANA_CS_WINDOWS_1258, 2258, "windows-1258", ENC_NA|_DEFAULT_WS_ENC)) \
316 ZZZ(1, YYY(XXX, IANA_CS_TIS_620, 2259, "TIS-620", ENC_NA|ENC_ISO_8859_11)) \
317 ZZZ(0, YYY(XXX, IANA_CS_CP50220, 2260, "CP50220", ENC_NA|_DEFAULT_WS_ENC))
318/* ZZZ(Mark,....., IANA_ENUM, IANA_VAL, IANA_NAME, WIRESHARK_ENCODING */
319
320/* RFC 2781 suggests that 1015 "UTF-16" (UTF-16 with BOM) SHOULD be
321 * interpreted as ENC_BIG_ENDIAN if the BOM is missing, but in practice
322 * it's more common to see the encoding as Little Endian, especially if
323 * a BOM is expected.
324 */
325
326/* select all records */
327#define ICWE_SELECT_ALL(N, ...) ICWE_SELECT_ALL_##N(__VA_ARGS__)
328#define ICWE_SELECT_ALL_0(...) __VA_ARGS__
329#define ICWE_SELECT_ALL_1(...) __VA_ARGS__
330
331/* ignore records marked 0 and only select records marked 1 */
332#define ICWE_SELECT_N1(N, ...) ICWE_SELECT_N1_##N(__VA_ARGS__)
333#define ICWE_SELECT_N1_0(...)
334#define ICWE_SELECT_N1_1(...) __VA_ARGS__
335
336/* convert iana charset and Wireshark encoding map to value_string macro record and passing to XXX macro */
337#define ICWE_MAP_TO_VS_RECORD(XXX, ic_enum_name, ic_enum_val, ic_name, ws_enc) XXX(ic_enum_name, ic_enum_val, ic_name)
338
339/* convert iana charset and Wireshark encoding map to enum_val_t macro record and passing to XXX macro */
340#define ICWE_MAP_TO_EV_RECORD(XXX, ic_enum_name, ic_enum_val, ic_name, ws_enc) XXX(ic_enum_name, ic_enum_val, ic_name, ic_name)
341
342/* convert iana charset and Wireshark encoding map to enum value only map and passing to XXX macro */
343#define ICWE_MAP_TO_ENUM_MAP_ONLY(XXX, ic_enum_name, ic_enum_val, ic_name, ws_enc) XXX(ic_enum_val, ws_enc)
344
345/* macro used for creating iana charset enumeration type, value_string array and enum_val_t array */
346#define mibenum_vals_character_sets_VALUE_STRING_LIST(XXX) IANA_CHARSETS_WS_ENCODING_MAP_LIST(XXX, ICWE_MAP_TO_VS_RECORD, ICWE_SELECT_ALL)
347
348/* macro used for creating Wireshark supported displaying iana charset enum_val_t array */
349#define ws_supported_mibenum_vals_character_sets_VALUE_STRING_LIST(XXX) IANA_CHARSETS_WS_ENCODING_MAP_LIST(XXX, ICWE_MAP_TO_VS_RECORD, ICWE_SELECT_N1)
350
351/* define iana charset enumeration type */
352typedef VALUE_STRING_ENUM(mibenum_vals_character_sets) mibenum_vals_character_sets_type_t;
353
354/* declare an iana charset enum_val_t array named mibenum_vals_character_sets_ev_array */
355VS_LIST_TO_ENUM_VAL_T_ARRAY_GLOBAL_DCL(mibenum_vals_character_sets_ev_array);
356
357/* declare an short and Wireshark supported iana charset enum_val_t array */
358VS_LIST_TO_ENUM_VAL_T_ARRAY_GLOBAL_DCL(ws_supported_mibenum_vals_character_sets_ev_array);
359
360#endif /* iana_charsets.h */
_value_string_ext
Extended metadata for a value_string array.
Definition value_string.h:325