1/* ANSI-C code produced by gperf version 3.0.3 */ 2/* Command-line: gperf -m 10 ./iconv_open-aix.gperf */ 3/* Computed positions: -k'4,$' */ 4 5#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ 8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ 9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ 10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ 11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ 12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ 13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ 14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ 15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ 16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ 17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ 18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ 19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ 20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ 21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ 22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ 23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ 24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ 25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ 26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ 27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) 28/* The character set is not based on ISO-646. */ 29#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." 30#endif 31 32#line 1 "./iconv_open-aix.gperf" 33struct mapping { int standard_name; const char vendor_name[10 + 1]; }; 34 35#define TOTAL_KEYWORDS 32 36#define MIN_WORD_LENGTH 4 37#define MAX_WORD_LENGTH 11 38#define MIN_HASH_VALUE 6 39#define MAX_HASH_VALUE 44 40/* maximum key range = 39, duplicates = 0 */ 41 42#ifdef __GNUC__ 43__inline 44#else 45#ifdef __cplusplus 46inline 47#endif 48#endif 49static unsigned int 50mapping_hash (register const char *str, register unsigned int len) 51{ 52 static const unsigned char asso_values[] = 53 { 54 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 55 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 56 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 57 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 58 45, 45, 45, 45, 45, 45, 45, 0, 4, 25, 59 0, 11, 24, 9, 17, 3, 14, 21, 45, 45, 60 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 62 3, 45, 1, 45, 45, 45, 45, 0, 45, 45, 63 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 64 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 65 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 66 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 68 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 69 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 70 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 71 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 72 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 73 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 74 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 75 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 76 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 77 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 78 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 79 45, 45, 45, 45, 45, 45, 45, 45 80 }; 81 return len + asso_values[(unsigned char)str[3]+2] + asso_values[(unsigned char)str[len - 1]]; 82} 83 84struct stringpool_t 85 { 86 char stringpool_str6[sizeof("EUC-TW")]; 87 char stringpool_str7[sizeof("EUC-KR")]; 88 char stringpool_str8[sizeof("CP852")]; 89 char stringpool_str9[sizeof("EUC-JP")]; 90 char stringpool_str10[sizeof("ISO-8859-2")]; 91 char stringpool_str11[sizeof("CP857")]; 92 char stringpool_str12[sizeof("CP850")]; 93 char stringpool_str13[sizeof("ISO-8859-7")]; 94 char stringpool_str14[sizeof("CP932")]; 95 char stringpool_str15[sizeof("GB2312")]; 96 char stringpool_str16[sizeof("BIG5")]; 97 char stringpool_str17[sizeof("CP437")]; 98 char stringpool_str19[sizeof("ISO-8859-5")]; 99 char stringpool_str20[sizeof("ISO-8859-15")]; 100 char stringpool_str21[sizeof("ISO-8859-3")]; 101 char stringpool_str22[sizeof("ISO-8859-13")]; 102 char stringpool_str23[sizeof("CP1046")]; 103 char stringpool_str24[sizeof("ISO-8859-8")]; 104 char stringpool_str25[sizeof("CP856")]; 105 char stringpool_str26[sizeof("CP1125")]; 106 char stringpool_str27[sizeof("ISO-8859-6")]; 107 char stringpool_str28[sizeof("CP865")]; 108 char stringpool_str29[sizeof("CP922")]; 109 char stringpool_str30[sizeof("CP1252")]; 110 char stringpool_str31[sizeof("ISO-8859-9")]; 111 char stringpool_str33[sizeof("CP943")]; 112 char stringpool_str34[sizeof("ISO-8859-4")]; 113 char stringpool_str35[sizeof("ISO-8859-1")]; 114 char stringpool_str38[sizeof("CP1129")]; 115 char stringpool_str40[sizeof("CP869")]; 116 char stringpool_str41[sizeof("CP1124")]; 117 char stringpool_str44[sizeof("CP861")]; 118 }; 119static const struct stringpool_t stringpool_contents = 120 { 121 "EUC-TW", 122 "EUC-KR", 123 "CP852", 124 "EUC-JP", 125 "ISO-8859-2", 126 "CP857", 127 "CP850", 128 "ISO-8859-7", 129 "CP932", 130 "GB2312", 131 "BIG5", 132 "CP437", 133 "ISO-8859-5", 134 "ISO-8859-15", 135 "ISO-8859-3", 136 "ISO-8859-13", 137 "CP1046", 138 "ISO-8859-8", 139 "CP856", 140 "CP1125", 141 "ISO-8859-6", 142 "CP865", 143 "CP922", 144 "CP1252", 145 "ISO-8859-9", 146 "CP943", 147 "ISO-8859-4", 148 "ISO-8859-1", 149 "CP1129", 150 "CP869", 151 "CP1124", 152 "CP861" 153 }; 154#define stringpool ((const char *) &stringpool_contents) 155 156static const struct mapping mappings[] = 157 { 158 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 159#line 43 "./iconv_open-aix.gperf" 160 {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"}, 161#line 42 "./iconv_open-aix.gperf" 162 {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"}, 163#line 25 "./iconv_open-aix.gperf" 164 {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"}, 165#line 41 "./iconv_open-aix.gperf" 166 {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"}, 167#line 14 "./iconv_open-aix.gperf" 168 {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"}, 169#line 27 "./iconv_open-aix.gperf" 170 {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"}, 171#line 24 "./iconv_open-aix.gperf" 172 {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"}, 173#line 19 "./iconv_open-aix.gperf" 174 {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"}, 175#line 33 "./iconv_open-aix.gperf" 176 {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"}, 177#line 40 "./iconv_open-aix.gperf" 178 {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"}, 179#line 44 "./iconv_open-aix.gperf" 180 {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"}, 181#line 23 "./iconv_open-aix.gperf" 182 {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"}, 183 {-1}, 184#line 17 "./iconv_open-aix.gperf" 185 {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"}, 186#line 22 "./iconv_open-aix.gperf" 187 {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"}, 188#line 15 "./iconv_open-aix.gperf" 189 {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"}, 190#line 31 "./iconv_open-aix.gperf" 191 {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"}, 192#line 35 "./iconv_open-aix.gperf" 193 {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"}, 194#line 20 "./iconv_open-aix.gperf" 195 {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"}, 196#line 26 "./iconv_open-aix.gperf" 197 {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"}, 198#line 37 "./iconv_open-aix.gperf" 199 {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"}, 200#line 18 "./iconv_open-aix.gperf" 201 {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, 202#line 29 "./iconv_open-aix.gperf" 203 {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"}, 204#line 32 "./iconv_open-aix.gperf" 205 {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"}, 206#line 39 "./iconv_open-aix.gperf" 207 {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"}, 208#line 21 "./iconv_open-aix.gperf" 209 {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"}, 210 {-1}, 211#line 34 "./iconv_open-aix.gperf" 212 {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"}, 213#line 16 "./iconv_open-aix.gperf" 214 {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"}, 215#line 13 "./iconv_open-aix.gperf" 216 {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"}, 217 {-1}, {-1}, 218#line 38 "./iconv_open-aix.gperf" 219 {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"}, 220 {-1}, 221#line 30 "./iconv_open-aix.gperf" 222 {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"}, 223#line 36 "./iconv_open-aix.gperf" 224 {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"}, 225 {-1}, {-1}, 226#line 28 "./iconv_open-aix.gperf" 227 {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"} 228 }; 229 230#ifdef __GNUC__ 231__inline 232#ifdef __GNUC_STDC_INLINE__ 233__attribute__ ((__gnu_inline__)) 234#endif 235#endif 236const struct mapping * 237mapping_lookup (register const char *str, register unsigned int len) 238{ 239 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 240 { 241 register int key = mapping_hash (str, len); 242 243 if (key <= MAX_HASH_VALUE && key >= 0) 244 { 245 register int o = mappings[key].standard_name; 246 if (o >= 0) 247 { 248 register const char *s = o + stringpool; 249 250 if (*str == *s && !strcmp (str + 1, s + 1)) 251 return &mappings[key]; 252 } 253 } 254 } 255 return 0; 256} 257