1/* ANSI-C code produced by gperf version 3.0.4 */ 2/* Command-line: gperf dmap_fields.gperf */ 3/* Computed positions: -k'2,8,10,14,18,23' */ 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 13 "dmap_fields.gperf" 33 34/* Non-static fields are exported by dmap_common.h */ 35static const struct dmap_field_map dfm_dmap_miid = { dbmfi_offsetof(id), dbpli_offsetof(id), -1 }; 36static const struct dmap_field_map dfm_dmap_minm = { dbmfi_offsetof(title), dbpli_offsetof(title), dbgri_offsetof(itemname) }; 37static const struct dmap_field_map dfm_dmap_mikd = { dbmfi_offsetof(item_kind), -1, -1 }; 38static const struct dmap_field_map dfm_dmap_mper = { dbmfi_offsetof(id), dbpli_offsetof(id), dbgri_offsetof(persistentid) }; 39static const struct dmap_field_map dfm_dmap_mcon = { -1, -1, -1 }; 40static const struct dmap_field_map dfm_dmap_mcti = { dbmfi_offsetof(id), -1, -1 }; 41static const struct dmap_field_map dfm_dmap_mpco = { -1, -1, -1 }; 42static const struct dmap_field_map dfm_dmap_mstt = { -1, -1, -1 }; 43static const struct dmap_field_map dfm_dmap_msts = { -1, -1, -1 }; 44const struct dmap_field_map dfm_dmap_mimc = { dbmfi_offsetof(total_tracks), dbpli_offsetof(items), dbgri_offsetof(itemcount) }; 45static const struct dmap_field_map dfm_dmap_mctc = { -1, -1, -1 }; 46static const struct dmap_field_map dfm_dmap_mrco = { -1, -1, -1 }; 47static const struct dmap_field_map dfm_dmap_mtco = { -1, -1, -1 }; 48static const struct dmap_field_map dfm_dmap_mlcl = { -1, -1, -1 }; 49static const struct dmap_field_map dfm_dmap_mlit = { -1, -1, -1 }; 50static const struct dmap_field_map dfm_dmap_mbcl = { -1, -1, -1 }; 51static const struct dmap_field_map dfm_dmap_mdcl = { -1, -1, -1 }; 52static const struct dmap_field_map dfm_dmap_msrv = { -1, -1, -1 }; 53static const struct dmap_field_map dfm_dmap_msau = { -1, -1, -1 }; 54static const struct dmap_field_map dfm_dmap_mslr = { -1, -1, -1 }; 55static const struct dmap_field_map dfm_dmap_mpro = { -1, -1, -1 }; 56static const struct dmap_field_map dfm_dmap_msal = { -1, -1, -1 }; 57static const struct dmap_field_map dfm_dmap_msup = { -1, -1, -1 }; 58static const struct dmap_field_map dfm_dmap_mspi = { -1, -1, -1 }; 59static const struct dmap_field_map dfm_dmap_msex = { -1, -1, -1 }; 60static const struct dmap_field_map dfm_dmap_msbr = { -1, -1, -1 }; 61static const struct dmap_field_map dfm_dmap_msqy = { -1, -1, -1 }; 62static const struct dmap_field_map dfm_dmap_msix = { -1, -1, -1 }; 63static const struct dmap_field_map dfm_dmap_msrs = { -1, -1, -1 }; 64static const struct dmap_field_map dfm_dmap_mstm = { -1, -1, -1 }; 65static const struct dmap_field_map dfm_dmap_msdc = { -1, -1, -1 }; 66static const struct dmap_field_map dfm_dmap_mlog = { -1, -1, -1 }; 67static const struct dmap_field_map dfm_dmap_mlid = { -1, -1, -1 }; 68static const struct dmap_field_map dfm_dmap_mupd = { -1, -1, -1 }; 69static const struct dmap_field_map dfm_dmap_musr = { -1, -1, -1 }; 70static const struct dmap_field_map dfm_dmap_muty = { -1, -1, -1 }; 71static const struct dmap_field_map dfm_dmap_mudl = { -1, -1, -1 }; 72static const struct dmap_field_map dfm_dmap_mccr = { -1, -1, -1 }; 73static const struct dmap_field_map dfm_dmap_mcnm = { -1, -1, -1 }; 74static const struct dmap_field_map dfm_dmap_mcna = { -1, -1, -1 }; 75static const struct dmap_field_map dfm_dmap_mcty = { -1, -1, -1 }; 76static const struct dmap_field_map dfm_dmap_apro = { -1, -1, -1 }; 77static const struct dmap_field_map dfm_dmap_avdb = { -1, -1, -1 }; 78static const struct dmap_field_map dfm_dmap_abro = { -1, -1, -1 }; 79static const struct dmap_field_map dfm_dmap_abal = { -1, -1, -1 }; 80static const struct dmap_field_map dfm_dmap_abar = { -1, -1, -1 }; 81static const struct dmap_field_map dfm_dmap_abcp = { -1, -1, -1 }; 82static const struct dmap_field_map dfm_dmap_abgn = { -1, -1, -1 }; 83static const struct dmap_field_map dfm_dmap_adbs = { -1, -1, -1 }; 84static const struct dmap_field_map dfm_dmap_asal = { dbmfi_offsetof(album), -1, -1 }; 85static const struct dmap_field_map dfm_dmap_asai = { dbmfi_offsetof(songalbumid), -1, -1 }; 86static const struct dmap_field_map dfm_dmap_asaa = { dbmfi_offsetof(album_artist), -1, dbgri_offsetof(songalbumartist) }; 87static const struct dmap_field_map dfm_dmap_asar = { dbmfi_offsetof(artist), -1, -1 }; 88static const struct dmap_field_map dfm_dmap_asbt = { dbmfi_offsetof(bpm), -1, -1 }; 89static const struct dmap_field_map dfm_dmap_asbr = { dbmfi_offsetof(bitrate), -1, -1 }; 90static const struct dmap_field_map dfm_dmap_ascm = { dbmfi_offsetof(comment), -1, -1 }; 91static const struct dmap_field_map dfm_dmap_asco = { dbmfi_offsetof(compilation), -1, -1 }; 92static const struct dmap_field_map dfm_dmap_ascp = { dbmfi_offsetof(composer), -1, -1 }; 93static const struct dmap_field_map dfm_dmap_asda = { dbmfi_offsetof(time_added), -1, -1 }; 94static const struct dmap_field_map dfm_dmap_asdm = { dbmfi_offsetof(time_modified), -1, -1 }; 95static const struct dmap_field_map dfm_dmap_asdc = { dbmfi_offsetof(total_discs), -1, -1 }; 96static const struct dmap_field_map dfm_dmap_asdn = { dbmfi_offsetof(disc), -1, -1 }; 97static const struct dmap_field_map dfm_dmap_asdb = { dbmfi_offsetof(disabled), -1, -1 }; 98static const struct dmap_field_map dfm_dmap_aseq = { -1, -1, -1 }; 99static const struct dmap_field_map dfm_dmap_asfm = { dbmfi_offsetof(type), -1, -1 }; 100static const struct dmap_field_map dfm_dmap_asgn = { dbmfi_offsetof(genre), -1, -1 }; 101static const struct dmap_field_map dfm_dmap_asdt = { dbmfi_offsetof(description), -1, -1 }; 102static const struct dmap_field_map dfm_dmap_asrv = { -1, -1, -1 }; 103static const struct dmap_field_map dfm_dmap_assr = { dbmfi_offsetof(samplerate), -1, -1 }; 104static const struct dmap_field_map dfm_dmap_assz = { dbmfi_offsetof(file_size), -1, -1 }; 105static const struct dmap_field_map dfm_dmap_asst = { -1, -1, -1 }; 106static const struct dmap_field_map dfm_dmap_assp = { -1, -1, -1 }; 107static const struct dmap_field_map dfm_dmap_astm = { dbmfi_offsetof(song_length), -1, -1 }; 108static const struct dmap_field_map dfm_dmap_astc = { dbmfi_offsetof(total_tracks), -1, -1 }; 109static const struct dmap_field_map dfm_dmap_astn = { dbmfi_offsetof(track), -1, -1 }; 110static const struct dmap_field_map dfm_dmap_asur = { dbmfi_offsetof(rating), -1, -1 }; 111static const struct dmap_field_map dfm_dmap_asyr = { dbmfi_offsetof(year), -1, -1 }; 112static const struct dmap_field_map dfm_dmap_asdk = { dbmfi_offsetof(data_kind), -1, -1 }; 113static const struct dmap_field_map dfm_dmap_asul = { dbmfi_offsetof(url), -1, -1 }; 114static const struct dmap_field_map dfm_dmap_aply = { -1, -1, -1 }; 115static const struct dmap_field_map dfm_dmap_abpl = { -1, -1, -1 }; 116static const struct dmap_field_map dfm_dmap_apso = { -1, -1, -1 }; 117static const struct dmap_field_map dfm_dmap_arsv = { -1, -1, -1 }; 118static const struct dmap_field_map dfm_dmap_arif = { -1, -1, -1 }; 119static const struct dmap_field_map dfm_dmap_aeNV = { -1, -1, -1 }; 120const struct dmap_field_map dfm_dmap_aeSP = { -1, -1, -1 }; 121static const struct dmap_field_map dfm_dmap_aePS = { -1, -1, -1 }; 122static const struct dmap_field_map dfm_dmap_ascd = { dbmfi_offsetof(codectype), -1, -1 }; 123static const struct dmap_field_map dfm_dmap_ascs = { -1, -1, -1 }; 124static const struct dmap_field_map dfm_dmap_agrp = { dbmfi_offsetof(grouping), -1, -1 }; 125static const struct dmap_field_map dfm_dmap_aeSV = { -1, -1, -1 }; 126static const struct dmap_field_map dfm_dmap_aePI = { -1, -1, -1 }; 127static const struct dmap_field_map dfm_dmap_aeCI = { -1, -1, -1 }; 128static const struct dmap_field_map dfm_dmap_aeGI = { -1, -1, -1 }; 129static const struct dmap_field_map dfm_dmap_aeAI = { -1, -1, -1 }; 130static const struct dmap_field_map dfm_dmap_aeSI = { -1, -1, -1 }; 131static const struct dmap_field_map dfm_dmap_aeSF = { -1, -1, -1 }; 132static const struct dmap_field_map dfm_dmap_ascr = { dbmfi_offsetof(contentrating), -1, -1 }; 133static const struct dmap_field_map dfm_dmap_aeHV = { dbmfi_offsetof(has_video), -1, -1 }; 134static const struct dmap_field_map dfm_dmap_msas = { -1, -1, -1 }; 135static const struct dmap_field_map dfm_dmap_asct = { -1, -1, -1 }; 136static const struct dmap_field_map dfm_dmap_ascn = { -1, -1, -1 }; 137static const struct dmap_field_map dfm_dmap_aslc = { -1, -1, -1 }; 138static const struct dmap_field_map dfm_dmap_asky = { -1, -1, -1 }; 139static const struct dmap_field_map dfm_dmap_apsm = { -1, -1, -1 }; 140static const struct dmap_field_map dfm_dmap_aprm = { -1, -1, -1 }; 141static const struct dmap_field_map dfm_dmap_aePC = { -1, -1, -1 }; 142static const struct dmap_field_map dfm_dmap_aePP = { -1, -1, -1 }; 143static const struct dmap_field_map dfm_dmap_aeMK = { dbmfi_offsetof(media_kind), -1, -1 }; 144static const struct dmap_field_map dfm_dmap_aeMk = { dbmfi_offsetof(media_kind), -1, -1 }; 145static const struct dmap_field_map dfm_dmap_aeSN = { dbmfi_offsetof(tv_series_name), -1, -1 }; 146static const struct dmap_field_map dfm_dmap_aeNN = { dbmfi_offsetof(tv_network_name), -1, -1 }; 147static const struct dmap_field_map dfm_dmap_aeEN = { dbmfi_offsetof(tv_episode_num_str), -1, -1 }; 148static const struct dmap_field_map dfm_dmap_aeES = { dbmfi_offsetof(tv_episode_sort), -1, -1 }; 149static const struct dmap_field_map dfm_dmap_aeSU = { dbmfi_offsetof(tv_season_num), -1, -1 }; 150static const struct dmap_field_map dfm_dmap_assn = { dbmfi_offsetof(title_sort), -1, -1 }; 151static const struct dmap_field_map dfm_dmap_assa = { dbmfi_offsetof(artist_sort), -1, -1 }; 152static const struct dmap_field_map dfm_dmap_assu = { dbmfi_offsetof(album_sort), -1, -1 }; 153static const struct dmap_field_map dfm_dmap_assc = { dbmfi_offsetof(composer_sort), -1, -1 }; 154static const struct dmap_field_map dfm_dmap_assl = { dbmfi_offsetof(album_artist_sort), -1, -1 }; 155enum 156 { 157 TOTAL_KEYWORDS = 120, 158 MIN_WORD_LENGTH = 8, 159 MAX_WORD_LENGTH = 38, 160 MIN_HASH_VALUE = 18, 161 MAX_HASH_VALUE = 300 162 }; 163 164/* maximum key range = 283, duplicates = 0 */ 165 166#ifdef __GNUC__ 167__inline 168#else 169#ifdef __cplusplus 170inline 171#endif 172#endif 173static unsigned int 174dmap_hash_field (register const char *str, register unsigned int len) 175{ 176 static const unsigned short asso_values[] = 177 { 178 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 179 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 180 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 181 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 182 301, 301, 301, 301, 301, 10, 0, 301, 301, 301, 183 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 184 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 185 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 186 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 187 301, 301, 301, 301, 301, 301, 301, 20, 50, 40, 188 35, 0, 25, 85, 5, 45, 301, 85, 75, 0, 189 5, 55, 60, 30, 0, 5, 10, 65, 105, 301, 190 0, 25, 301, 301, 301, 301, 301, 301, 301, 301, 191 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 192 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 193 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 194 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 195 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 196 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 197 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 198 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 199 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 200 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 201 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 202 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 203 301, 301, 301, 301, 301, 301 204 }; 205 register int hval = len; 206 207 switch (hval) 208 { 209 default: 210 hval += asso_values[(unsigned char)str[22]]; 211 /*FALLTHROUGH*/ 212 case 22: 213 case 21: 214 case 20: 215 case 19: 216 case 18: 217 hval += asso_values[(unsigned char)str[17]]; 218 /*FALLTHROUGH*/ 219 case 17: 220 case 16: 221 case 15: 222 case 14: 223 hval += asso_values[(unsigned char)str[13]]; 224 /*FALLTHROUGH*/ 225 case 13: 226 case 12: 227 case 11: 228 case 10: 229 hval += asso_values[(unsigned char)str[9]]; 230 /*FALLTHROUGH*/ 231 case 9: 232 case 8: 233 hval += asso_values[(unsigned char)str[7]]; 234 /*FALLTHROUGH*/ 235 case 7: 236 case 6: 237 case 5: 238 case 4: 239 case 3: 240 case 2: 241 hval += asso_values[(unsigned char)str[1]]; 242 break; 243 } 244 return hval; 245} 246 247static const struct dmap_field dmap_fields[] = 248 { 249#line 228 "dmap_fields.gperf" 250 {"dmap.itemname", "minm", &dfm_dmap_minm, DMAP_TYPE_STRING}, 251#line 233 "dmap_fields.gperf" 252 {"dmap.parentcontainerid", "mpco", &dfm_dmap_mpco, DMAP_TYPE_UINT}, 253#line 203 "dmap_fields.gperf" 254 {"daap.sortname", "assn", &dfm_dmap_assn, DMAP_TYPE_STRING}, 255#line 220 "dmap_fields.gperf" 256 {"dmap.container", "mcon", &dfm_dmap_mcon, DMAP_TYPE_LIST}, 257#line 194 "dmap_fields.gperf" 258 {"daap.songeqpreset", "aseq", &dfm_dmap_aseq, DMAP_TYPE_STRING}, 259#line 208 "dmap_fields.gperf" 260 {"daap.songsize", "assz", &dfm_dmap_assz, DMAP_TYPE_UINT}, 261#line 222 "dmap_fields.gperf" 262 {"dmap.containeritemid", "mcti", &dfm_dmap_mcti, DMAP_TYPE_UINT}, 263#line 210 "dmap_fields.gperf" 264 {"daap.songtime", "astm", &dfm_dmap_astm, DMAP_TYPE_UINT}, 265#line 221 "dmap_fields.gperf" 266 {"dmap.containercount", "mctc", &dfm_dmap_mctc, DMAP_TYPE_UINT}, 267#line 248 "dmap_fields.gperf" 268 {"dmap.serverinforesponse", "msrv", &dfm_dmap_msrv, DMAP_TYPE_LIST}, 269#line 207 "dmap_fields.gperf" 270 {"daap.sortalbum", "assu", &dfm_dmap_assu, DMAP_TYPE_STRING}, 271#line 215 "dmap_fields.gperf" 272 {"daap.serverdatabases", "avdb", &dfm_dmap_avdb, DMAP_TYPE_LIST}, 273#line 225 "dmap_fields.gperf" 274 {"dmap.itemid", "miid", &dfm_dmap_miid, DMAP_TYPE_UINT}, 275#line 204 "dmap_fields.gperf" 276 {"daap.songstoptime", "assp", &dfm_dmap_assp, DMAP_TYPE_UINT}, 277#line 206 "dmap_fields.gperf" 278 {"daap.songstarttime", "asst", &dfm_dmap_asst, DMAP_TYPE_UINT}, 279#line 175 "dmap_fields.gperf" 280 {"daap.songalbum", "asal", &dfm_dmap_asal, DMAP_TYPE_STRING}, 281#line 200 "dmap_fields.gperf" 282 {"daap.sortartist", "assa", &dfm_dmap_assa, DMAP_TYPE_STRING}, 283#line 174 "dmap_fields.gperf" 284 {"daap.songalbumid", "asai", &dfm_dmap_asai, DMAP_TYPE_ULONG}, 285#line 229 "dmap_fields.gperf" 286 {"dmap.listing", "mlcl", &dfm_dmap_mlcl, DMAP_TYPE_LIST}, 287#line 214 "dmap_fields.gperf" 288 {"daap.songyear", "asyr", &dfm_dmap_asyr, DMAP_TYPE_USHORT}, 289#line 227 "dmap_fields.gperf" 290 {"dmap.itemcount", "mimc", &dfm_dmap_mimc, DMAP_TYPE_UINT}, 291#line 176 "dmap_fields.gperf" 292 {"daap.songartist", "asar", &dfm_dmap_asar, DMAP_TYPE_STRING}, 293#line 234 "dmap_fields.gperf" 294 {"dmap.persistentid", "mper", &dfm_dmap_mper, DMAP_TYPE_ULONG}, 295#line 255 "dmap_fields.gperf" 296 {"dmap.updateresponse", "mupd", &dfm_dmap_mupd, DMAP_TYPE_LIST}, 297#line 231 "dmap_fields.gperf" 298 {"dmap.listingitem", "mlit", &dfm_dmap_mlit, DMAP_TYPE_LIST}, 299#line 236 "dmap_fields.gperf" 300 {"dmap.returnedcount", "mrco", &dfm_dmap_mrco, DMAP_TYPE_UINT}, 301#line 180 "dmap_fields.gperf" 302 {"daap.songcomment", "ascm", &dfm_dmap_ascm, DMAP_TYPE_STRING}, 303#line 192 "dmap_fields.gperf" 304 {"daap.songdiscnumber", "asdn", &dfm_dmap_asdn, DMAP_TYPE_USHORT}, 305#line 195 "dmap_fields.gperf" 306 {"daap.songformat", "asfm", &dfm_dmap_asfm, DMAP_TYPE_STRING}, 307#line 218 "dmap_fields.gperf" 308 {"dmap.contentcodesname", "mcna", &dfm_dmap_mcna, DMAP_TYPE_STRING}, 309#line 219 "dmap_fields.gperf" 310 {"dmap.contentcodesnumber", "mcnm", &dfm_dmap_mcnm, DMAP_TYPE_UINT}, 311#line 241 "dmap_fields.gperf" 312 {"dmap.databasescount", "msdc", &dfm_dmap_msdc, DMAP_TYPE_UINT}, 313#line 217 "dmap_fields.gperf" 314 {"dmap.contentcodesresponse", "mccr", &dfm_dmap_mccr, DMAP_TYPE_LIST}, 315#line 223 "dmap_fields.gperf" 316 {"dmap.contentcodestype", "mcty", &dfm_dmap_mcty, DMAP_TYPE_USHORT}, 317#line 216 "dmap_fields.gperf" 318 {"dmap.bag", "mbcl", &dfm_dmap_mbcl, DMAP_TYPE_LIST}, 319#line 251 "dmap_fields.gperf" 320 {"dmap.status", "mstt", &dfm_dmap_mstt, DMAP_TYPE_UINT}, 321#line 226 "dmap_fields.gperf" 322 {"dmap.itemkind", "mikd", &dfm_dmap_mikd, DMAP_TYPE_UBYTE}, 323#line 230 "dmap_fields.gperf" 324 {"dmap.sessionid", "mlid", &dfm_dmap_mlid, DMAP_TYPE_UINT}, 325#line 224 "dmap_fields.gperf" 326 {"dmap.dictionary", "mdcl", &dfm_dmap_mdcl, DMAP_TYPE_LIST}, 327#line 250 "dmap_fields.gperf" 328 {"dmap.statusstring", "msts", &dfm_dmap_msts, DMAP_TYPE_STRING}, 329#line 178 "dmap_fields.gperf" 330 {"daap.songbeatsperminute", "asbt", &dfm_dmap_asbt, DMAP_TYPE_USHORT}, 331#line 202 "dmap_fields.gperf" 332 {"daap.sortalbumartist", "assl", &dfm_dmap_assl, DMAP_TYPE_STRING}, 333#line 191 "dmap_fields.gperf" 334 {"daap.songdatemodified", "asdm", &dfm_dmap_asdm, DMAP_TYPE_DATE}, 335#line 184 "dmap_fields.gperf" 336 {"daap.songcontentrating", "ascr", &dfm_dmap_ascr, DMAP_TYPE_UBYTE}, 337#line 144 "dmap_fields.gperf" 338 {"daap.databasesongs", "adbs", &dfm_dmap_adbs, DMAP_TYPE_LIST}, 339#line 173 "dmap_fields.gperf" 340 {"daap.songalbumartist", "asaa", &dfm_dmap_asaa, DMAP_TYPE_STRING}, 341#line 177 "dmap_fields.gperf" 342 {"daap.songbitrate", "asbr", &dfm_dmap_asbr, DMAP_TYPE_USHORT}, 343#line 172 "dmap_fields.gperf" 344 {"daap.resolve", "arsv", &dfm_dmap_arsv, DMAP_TYPE_LIST}, 345#line 213 "dmap_fields.gperf" 346 {"daap.songuserrating", "asur", &dfm_dmap_asur, DMAP_TYPE_UBYTE}, 347#line 140 "dmap_fields.gperf" 348 {"daap.browsecomposerlisting", "abcp", &dfm_dmap_abcp, DMAP_TYPE_LIST}, 349#line 257 "dmap_fields.gperf" 350 {"dmap.updatetype", "muty", &dfm_dmap_muty, DMAP_TYPE_UBYTE}, 351#line 171 "dmap_fields.gperf" 352 {"daap.resolveinfo", "arif", &dfm_dmap_arif, DMAP_TYPE_LIST}, 353#line 179 "dmap_fields.gperf" 354 {"daap.songcodectype", "ascd", &dfm_dmap_ascd, DMAP_TYPE_UINT}, 355#line 196 "dmap_fields.gperf" 356 {"daap.songgenre", "asgn", &dfm_dmap_asgn, DMAP_TYPE_STRING}, 357#line 193 "dmap_fields.gperf" 358 {"daap.songdescription", "asdt", &dfm_dmap_asdt, DMAP_TYPE_STRING}, 359#line 188 "dmap_fields.gperf" 360 {"daap.songdisabled", "asdb", &dfm_dmap_asdb, DMAP_TYPE_UBYTE}, 361#line 189 "dmap_fields.gperf" 362 {"daap.songdisccount", "asdc", &dfm_dmap_asdc, DMAP_TYPE_USHORT}, 363#line 253 "dmap_fields.gperf" 364 {"dmap.specifiedtotalcount", "mtco", &dfm_dmap_mtco, DMAP_TYPE_UINT}, 365#line 238 "dmap_fields.gperf" 366 {"dmap.authenticationschemes", "msas", &dfm_dmap_msas, DMAP_TYPE_UINT}, 367#line 201 "dmap_fields.gperf" 368 {"daap.sortcomposer", "assc", &dfm_dmap_assc, DMAP_TYPE_STRING}, 369#line 187 "dmap_fields.gperf" 370 {"daap.songdateadded", "asda", &dfm_dmap_asda, DMAP_TYPE_DATE}, 371#line 205 "dmap_fields.gperf" 372 {"daap.songsamplerate", "assr", &dfm_dmap_assr, DMAP_TYPE_UINT}, 373#line 239 "dmap_fields.gperf" 374 {"dmap.authenticationmethod", "msau", &dfm_dmap_msau, DMAP_TYPE_UBYTE}, 375#line 185 "dmap_fields.gperf" 376 {"daap.songcodecsubtype", "ascs", &dfm_dmap_ascs, DMAP_TYPE_UINT}, 377#line 183 "dmap_fields.gperf" 378 {"daap.songcomposer", "ascp", &dfm_dmap_ascp, DMAP_TYPE_STRING}, 379#line 212 "dmap_fields.gperf" 380 {"daap.songdataurl", "asul", &dfm_dmap_asul, DMAP_TYPE_STRING}, 381#line 170 "dmap_fields.gperf" 382 {"daap.playlistsongs", "apso", &dfm_dmap_apso, DMAP_TYPE_LIST}, 383#line 209 "dmap_fields.gperf" 384 {"daap.songtrackcount", "astc", &dfm_dmap_astc, DMAP_TYPE_USHORT}, 385#line 242 "dmap_fields.gperf" 386 {"dmap.supportsextensions", "msex", &dfm_dmap_msex, DMAP_TYPE_UBYTE}, 387#line 254 "dmap_fields.gperf" 388 {"dmap.deletedidlisting", "mudl", &dfm_dmap_mudl, DMAP_TYPE_LIST}, 389#line 181 "dmap_fields.gperf" 390 {"daap.songcontentdescription", "ascn", &dfm_dmap_ascn, DMAP_TYPE_STRING}, 391#line 143 "dmap_fields.gperf" 392 {"daap.databasebrowse", "abro", &dfm_dmap_abro, DMAP_TYPE_LIST}, 393#line 167 "dmap_fields.gperf" 394 {"daap.playlistrepeatmode", "aprm", &dfm_dmap_aprm, DMAP_TYPE_UBYTE}, 395#line 190 "dmap_fields.gperf" 396 {"daap.songdatakind", "asdk", &dfm_dmap_asdk, DMAP_TYPE_UBYTE}, 397#line 199 "dmap_fields.gperf" 398 {"daap.songrelativevolume", "asrv", &dfm_dmap_asrv, DMAP_TYPE_BYTE}, 399#line 186 "dmap_fields.gperf" 400 {"daap.songcategory", "asct", &dfm_dmap_asct, DMAP_TYPE_STRING}, 401#line 232 "dmap_fields.gperf" 402 {"dmap.loginresponse", "mlog", &dfm_dmap_mlog, DMAP_TYPE_LIST}, 403#line 153 "dmap_fields.gperf" 404 {"com.apple.itunes.network-name", "aeNN", &dfm_dmap_aeNN, DMAP_TYPE_STRING}, 405#line 163 "dmap_fields.gperf" 406 {"com.apple.itunes.season-num", "aeSU", &dfm_dmap_aeSU, DMAP_TYPE_UINT}, 407#line 161 "dmap_fields.gperf" 408 {"com.apple.itunes.series-name", "aeSN", &dfm_dmap_aeSN, DMAP_TYPE_STRING}, 409#line 182 "dmap_fields.gperf" 410 {"daap.songcompilation", "asco", &dfm_dmap_asco, DMAP_TYPE_UBYTE}, 411#line 198 "dmap_fields.gperf" 412 {"daap.songlongcontentdescription", "aslc", &dfm_dmap_aslc, DMAP_TYPE_STRING}, 413#line 142 "dmap_fields.gperf" 414 {"daap.baseplaylist", "abpl", &dfm_dmap_abpl, DMAP_TYPE_UBYTE}, 415#line 243 "dmap_fields.gperf" 416 {"dmap.supportsindex", "msix", &dfm_dmap_msix, DMAP_TYPE_UBYTE}, 417#line 256 "dmap_fields.gperf" 418 {"dmap.serverrevision", "musr", &dfm_dmap_musr, DMAP_TYPE_UINT}, 419#line 162 "dmap_fields.gperf" 420 {"com.apple.itunes.smart-playlist", "aeSP", &dfm_dmap_aeSP, DMAP_TYPE_UBYTE}, 421#line 197 "dmap_fields.gperf" 422 {"daap.songkeywords", "asky", &dfm_dmap_asky, DMAP_TYPE_STRING}, 423#line 164 "dmap_fields.gperf" 424 {"com.apple.itunes.music-sharing-version", "aeSV", &dfm_dmap_aeSV, DMAP_TYPE_UINT}, 425#line 249 "dmap_fields.gperf" 426 {"dmap.timeoutinterval", "mstm", &dfm_dmap_mstm, DMAP_TYPE_UINT}, 427#line 165 "dmap_fields.gperf" 428 {"daap.songgrouping", "agrp", &dfm_dmap_agrp, DMAP_TYPE_STRING}, 429#line 246 "dmap_fields.gperf" 430 {"dmap.supportsquery", "msqy", &dfm_dmap_msqy, DMAP_TYPE_UBYTE}, 431#line 240 "dmap_fields.gperf" 432 {"dmap.supportsbrowse", "msbr", &dfm_dmap_msbr, DMAP_TYPE_UBYTE}, 433#line 211 "dmap_fields.gperf" 434 {"daap.songtracknumber", "astn", &dfm_dmap_astn, DMAP_TYPE_USHORT}, 435#line 158 "dmap_fields.gperf" 436 {"com.apple.itunes.special-playlist", "aePS", &dfm_dmap_aePS, DMAP_TYPE_UBYTE}, 437#line 139 "dmap_fields.gperf" 438 {"daap.browseartistlisting", "abar", &dfm_dmap_abar, DMAP_TYPE_LIST}, 439#line 148 "dmap_fields.gperf" 440 {"com.apple.itunes.episode-sort", "aeES", &dfm_dmap_aeES, DMAP_TYPE_UINT}, 441#line 147 "dmap_fields.gperf" 442 {"com.apple.itunes.episode-num-str", "aeEN", &dfm_dmap_aeEN, DMAP_TYPE_STRING}, 443#line 169 "dmap_fields.gperf" 444 {"daap.playlistshufflemode", "apsm", &dfm_dmap_apsm, DMAP_TYPE_UBYTE}, 445#line 151 "dmap_fields.gperf" 446 {"com.apple.itunes.extended-media-kind", "aeMk", &dfm_dmap_aeMk, DMAP_TYPE_UINT}, 447#line 244 "dmap_fields.gperf" 448 {"dmap.loginrequired", "mslr", &dfm_dmap_mslr, DMAP_TYPE_UBYTE}, 449#line 252 "dmap_fields.gperf" 450 {"dmap.supportsupdate", "msup", &dfm_dmap_msup, DMAP_TYPE_UBYTE}, 451#line 247 "dmap_fields.gperf" 452 {"dmap.supportsresolve", "msrs", &dfm_dmap_msrs, DMAP_TYPE_UBYTE}, 453#line 150 "dmap_fields.gperf" 454 {"com.apple.itunes.has-video", "aeHV", &dfm_dmap_aeHV, DMAP_TYPE_UBYTE}, 455#line 160 "dmap_fields.gperf" 456 {"com.apple.itunes.itms-songid", "aeSI", &dfm_dmap_aeSI, DMAP_TYPE_UINT}, 457#line 159 "dmap_fields.gperf" 458 {"com.apple.itunes.itms-storefrontid", "aeSF", &dfm_dmap_aeSF, DMAP_TYPE_UINT}, 459#line 145 "dmap_fields.gperf" 460 {"com.apple.itunes.itms-artistid", "aeAI", &dfm_dmap_aeAI, DMAP_TYPE_UINT}, 461#line 166 "dmap_fields.gperf" 462 {"daap.databaseplaylists", "aply", &dfm_dmap_aply, DMAP_TYPE_LIST}, 463#line 141 "dmap_fields.gperf" 464 {"daap.browsegenrelisting", "abgn", &dfm_dmap_abgn, DMAP_TYPE_LIST}, 465#line 155 "dmap_fields.gperf" 466 {"com.apple.itunes.is-podcast", "aePC", &dfm_dmap_aePC, DMAP_TYPE_UBYTE}, 467#line 237 "dmap_fields.gperf" 468 {"dmap.supportsautologout", "msal", &dfm_dmap_msal, DMAP_TYPE_UBYTE}, 469#line 152 "dmap_fields.gperf" 470 {"com.apple.itunes.mediakind", "aeMK", &dfm_dmap_aeMK, DMAP_TYPE_UBYTE}, 471#line 157 "dmap_fields.gperf" 472 {"com.apple.itunes.is-podcast-playlist", "aePP", &dfm_dmap_aePP, DMAP_TYPE_UBYTE}, 473#line 146 "dmap_fields.gperf" 474 {"com.apple.itunes.itms-composerid", "aeCI", &dfm_dmap_aeCI, DMAP_TYPE_UINT}, 475#line 245 "dmap_fields.gperf" 476 {"dmap.supportspersistentids", "mspi", &dfm_dmap_mspi, DMAP_TYPE_UBYTE}, 477#line 156 "dmap_fields.gperf" 478 {"com.apple.itunes.itms-playlistid", "aePI", &dfm_dmap_aePI, DMAP_TYPE_UINT}, 479#line 154 "dmap_fields.gperf" 480 {"com.apple.itunes.norm-volume", "aeNV", &dfm_dmap_aeNV, DMAP_TYPE_UINT}, 481#line 235 "dmap_fields.gperf" 482 {"dmap.protocolversion", "mpro", &dfm_dmap_mpro, DMAP_TYPE_VERSION}, 483#line 138 "dmap_fields.gperf" 484 {"daap.browsealbumlisting", "abal", &dfm_dmap_abal, DMAP_TYPE_LIST}, 485#line 149 "dmap_fields.gperf" 486 {"com.apple.itunes.itms-genreid", "aeGI", &dfm_dmap_aeGI, DMAP_TYPE_UINT}, 487#line 168 "dmap_fields.gperf" 488 {"daap.protocolversion", "apro", &dfm_dmap_apro, DMAP_TYPE_VERSION} 489 }; 490 491#ifdef __GNUC__ 492__inline 493#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ 494__attribute__ ((__gnu_inline__)) 495#endif 496#endif 497const struct dmap_field * 498dmap_find_field (register const char *str, register unsigned int len) 499{ 500 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 501 { 502 register int key = dmap_hash_field (str, len); 503 504 if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) 505 { 506 register const struct dmap_field *resword; 507 508 switch (key - 18) 509 { 510 case 0: 511 if (len == 13) 512 { 513 resword = &dmap_fields[0]; 514 goto compare; 515 } 516 break; 517 case 19: 518 if (len == 22) 519 { 520 resword = &dmap_fields[1]; 521 goto compare; 522 } 523 break; 524 case 20: 525 if (len == 13) 526 { 527 resword = &dmap_fields[2]; 528 goto compare; 529 } 530 break; 531 case 21: 532 if (len == 14) 533 { 534 resword = &dmap_fields[3]; 535 goto compare; 536 } 537 break; 538 case 24: 539 if (len == 17) 540 { 541 resword = &dmap_fields[4]; 542 goto compare; 543 } 544 break; 545 case 25: 546 if (len == 13) 547 { 548 resword = &dmap_fields[5]; 549 goto compare; 550 } 551 break; 552 case 27: 553 if (len == 20) 554 { 555 resword = &dmap_fields[6]; 556 goto compare; 557 } 558 break; 559 case 30: 560 if (len == 13) 561 { 562 resword = &dmap_fields[7]; 563 goto compare; 564 } 565 break; 566 case 31: 567 if (len == 19) 568 { 569 resword = &dmap_fields[8]; 570 goto compare; 571 } 572 break; 573 case 35: 574 if (len == 23) 575 { 576 resword = &dmap_fields[9]; 577 goto compare; 578 } 579 break; 580 case 36: 581 if (len == 14) 582 { 583 resword = &dmap_fields[10]; 584 goto compare; 585 } 586 break; 587 case 37: 588 if (len == 20) 589 { 590 resword = &dmap_fields[11]; 591 goto compare; 592 } 593 break; 594 case 38: 595 if (len == 11) 596 { 597 resword = &dmap_fields[12]; 598 goto compare; 599 } 600 break; 601 case 39: 602 if (len == 17) 603 { 604 resword = &dmap_fields[13]; 605 goto compare; 606 } 607 break; 608 case 40: 609 if (len == 18) 610 { 611 resword = &dmap_fields[14]; 612 goto compare; 613 } 614 break; 615 case 41: 616 if (len == 14) 617 { 618 resword = &dmap_fields[15]; 619 goto compare; 620 } 621 break; 622 case 42: 623 if (len == 15) 624 { 625 resword = &dmap_fields[16]; 626 goto compare; 627 } 628 break; 629 case 43: 630 if (len == 16) 631 { 632 resword = &dmap_fields[17]; 633 goto compare; 634 } 635 break; 636 case 44: 637 if (len == 12) 638 { 639 resword = &dmap_fields[18]; 640 goto compare; 641 } 642 break; 643 case 45: 644 if (len == 13) 645 { 646 resword = &dmap_fields[19]; 647 goto compare; 648 } 649 break; 650 case 46: 651 if (len == 14) 652 { 653 resword = &dmap_fields[20]; 654 goto compare; 655 } 656 break; 657 case 47: 658 if (len == 15) 659 { 660 resword = &dmap_fields[21]; 661 goto compare; 662 } 663 break; 664 case 49: 665 if (len == 17) 666 { 667 resword = &dmap_fields[22]; 668 goto compare; 669 } 670 break; 671 case 56: 672 if (len == 19) 673 { 674 resword = &dmap_fields[23]; 675 goto compare; 676 } 677 break; 678 case 58: 679 if (len == 16) 680 { 681 resword = &dmap_fields[24]; 682 goto compare; 683 } 684 break; 685 case 60: 686 if (len == 18) 687 { 688 resword = &dmap_fields[25]; 689 goto compare; 690 } 691 break; 692 case 63: 693 if (len == 16) 694 { 695 resword = &dmap_fields[26]; 696 goto compare; 697 } 698 break; 699 case 66: 700 if (len == 19) 701 { 702 resword = &dmap_fields[27]; 703 goto compare; 704 } 705 break; 706 case 67: 707 if (len == 15) 708 { 709 resword = &dmap_fields[28]; 710 goto compare; 711 } 712 break; 713 case 68: 714 if (len == 21) 715 { 716 resword = &dmap_fields[29]; 717 goto compare; 718 } 719 break; 720 case 70: 721 if (len == 23) 722 { 723 resword = &dmap_fields[30]; 724 goto compare; 725 } 726 break; 727 case 71: 728 if (len == 19) 729 { 730 resword = &dmap_fields[31]; 731 goto compare; 732 } 733 break; 734 case 72: 735 if (len == 25) 736 { 737 resword = &dmap_fields[32]; 738 goto compare; 739 } 740 break; 741 case 73: 742 if (len == 21) 743 { 744 resword = &dmap_fields[33]; 745 goto compare; 746 } 747 break; 748 case 75: 749 if (len == 8) 750 { 751 resword = &dmap_fields[34]; 752 goto compare; 753 } 754 break; 755 case 78: 756 if (len == 11) 757 { 758 resword = &dmap_fields[35]; 759 goto compare; 760 } 761 break; 762 case 80: 763 if (len == 13) 764 { 765 resword = &dmap_fields[36]; 766 goto compare; 767 } 768 break; 769 case 81: 770 if (len == 14) 771 { 772 resword = &dmap_fields[37]; 773 goto compare; 774 } 775 break; 776 case 82: 777 if (len == 15) 778 { 779 resword = &dmap_fields[38]; 780 goto compare; 781 } 782 break; 783 case 84: 784 if (len == 17) 785 { 786 resword = &dmap_fields[39]; 787 goto compare; 788 } 789 break; 790 case 85: 791 if (len == 23) 792 { 793 resword = &dmap_fields[40]; 794 goto compare; 795 } 796 break; 797 case 87: 798 if (len == 20) 799 { 800 resword = &dmap_fields[41]; 801 goto compare; 802 } 803 break; 804 case 88: 805 if (len == 21) 806 { 807 resword = &dmap_fields[42]; 808 goto compare; 809 } 810 break; 811 case 89: 812 if (len == 22) 813 { 814 resword = &dmap_fields[43]; 815 goto compare; 816 } 817 break; 818 case 90: 819 if (len == 18) 820 { 821 resword = &dmap_fields[44]; 822 goto compare; 823 } 824 break; 825 case 92: 826 if (len == 20) 827 { 828 resword = &dmap_fields[45]; 829 goto compare; 830 } 831 break; 832 case 93: 833 if (len == 16) 834 { 835 resword = &dmap_fields[46]; 836 goto compare; 837 } 838 break; 839 case 94: 840 if (len == 12) 841 { 842 resword = &dmap_fields[47]; 843 goto compare; 844 } 845 break; 846 case 96: 847 if (len == 19) 848 { 849 resword = &dmap_fields[48]; 850 goto compare; 851 } 852 break; 853 case 98: 854 if (len == 26) 855 { 856 resword = &dmap_fields[49]; 857 goto compare; 858 } 859 break; 860 case 102: 861 if (len == 15) 862 { 863 resword = &dmap_fields[50]; 864 goto compare; 865 } 866 break; 867 case 103: 868 if (len == 16) 869 { 870 resword = &dmap_fields[51]; 871 goto compare; 872 } 873 break; 874 case 105: 875 if (len == 18) 876 { 877 resword = &dmap_fields[52]; 878 goto compare; 879 } 880 break; 881 case 106: 882 if (len == 14) 883 { 884 resword = &dmap_fields[53]; 885 goto compare; 886 } 887 break; 888 case 107: 889 if (len == 20) 890 { 891 resword = &dmap_fields[54]; 892 goto compare; 893 } 894 break; 895 case 109: 896 if (len == 17) 897 { 898 resword = &dmap_fields[55]; 899 goto compare; 900 } 901 break; 902 case 110: 903 if (len == 18) 904 { 905 resword = &dmap_fields[56]; 906 goto compare; 907 } 908 break; 909 case 111: 910 if (len == 24) 911 { 912 resword = &dmap_fields[57]; 913 goto compare; 914 } 915 break; 916 case 113: 917 if (len == 26) 918 { 919 resword = &dmap_fields[58]; 920 goto compare; 921 } 922 break; 923 case 114: 924 if (len == 17) 925 { 926 resword = &dmap_fields[59]; 927 goto compare; 928 } 929 break; 930 case 115: 931 if (len == 18) 932 { 933 resword = &dmap_fields[60]; 934 goto compare; 935 } 936 break; 937 case 116: 938 if (len == 19) 939 { 940 resword = &dmap_fields[61]; 941 goto compare; 942 } 943 break; 944 case 117: 945 if (len == 25) 946 { 947 resword = &dmap_fields[62]; 948 goto compare; 949 } 950 break; 951 case 118: 952 if (len == 21) 953 { 954 resword = &dmap_fields[63]; 955 goto compare; 956 } 957 break; 958 case 119: 959 if (len == 17) 960 { 961 resword = &dmap_fields[64]; 962 goto compare; 963 } 964 break; 965 case 123: 966 if (len == 16) 967 { 968 resword = &dmap_fields[65]; 969 goto compare; 970 } 971 break; 972 case 125: 973 if (len == 18) 974 { 975 resword = &dmap_fields[66]; 976 goto compare; 977 } 978 break; 979 case 126: 980 if (len == 19) 981 { 982 resword = &dmap_fields[67]; 983 goto compare; 984 } 985 break; 986 case 130: 987 if (len == 23) 988 { 989 resword = &dmap_fields[68]; 990 goto compare; 991 } 992 break; 993 case 133: 994 if (len == 21) 995 { 996 resword = &dmap_fields[69]; 997 goto compare; 998 } 999 break; 1000 case 134: 1001 if (len == 27) 1002 { 1003 resword = &dmap_fields[70]; 1004 goto compare; 1005 } 1006 break; 1007 case 136: 1008 if (len == 19) 1009 { 1010 resword = &dmap_fields[71]; 1011 goto compare; 1012 } 1013 break; 1014 case 140: 1015 if (len == 23) 1016 { 1017 resword = &dmap_fields[72]; 1018 goto compare; 1019 } 1020 break; 1021 case 144: 1022 if (len == 17) 1023 { 1024 resword = &dmap_fields[73]; 1025 goto compare; 1026 } 1027 break; 1028 case 145: 1029 if (len == 23) 1030 { 1031 resword = &dmap_fields[74]; 1032 goto compare; 1033 } 1034 break; 1035 case 149: 1036 if (len == 17) 1037 { 1038 resword = &dmap_fields[75]; 1039 goto compare; 1040 } 1041 break; 1042 case 150: 1043 if (len == 18) 1044 { 1045 resword = &dmap_fields[76]; 1046 goto compare; 1047 } 1048 break; 1049 case 151: 1050 if (len == 29) 1051 { 1052 resword = &dmap_fields[77]; 1053 goto compare; 1054 } 1055 break; 1056 case 154: 1057 if (len == 27) 1058 { 1059 resword = &dmap_fields[78]; 1060 goto compare; 1061 } 1062 break; 1063 case 155: 1064 if (len == 28) 1065 { 1066 resword = &dmap_fields[79]; 1067 goto compare; 1068 } 1069 break; 1070 case 157: 1071 if (len == 20) 1072 { 1073 resword = &dmap_fields[80]; 1074 goto compare; 1075 } 1076 break; 1077 case 158: 1078 if (len == 31) 1079 { 1080 resword = &dmap_fields[81]; 1081 goto compare; 1082 } 1083 break; 1084 case 159: 1085 if (len == 17) 1086 { 1087 resword = &dmap_fields[82]; 1088 goto compare; 1089 } 1090 break; 1091 case 160: 1092 if (len == 18) 1093 { 1094 resword = &dmap_fields[83]; 1095 goto compare; 1096 } 1097 break; 1098 case 161: 1099 if (len == 19) 1100 { 1101 resword = &dmap_fields[84]; 1102 goto compare; 1103 } 1104 break; 1105 case 163: 1106 if (len == 31) 1107 { 1108 resword = &dmap_fields[85]; 1109 goto compare; 1110 } 1111 break; 1112 case 164: 1113 if (len == 17) 1114 { 1115 resword = &dmap_fields[86]; 1116 goto compare; 1117 } 1118 break; 1119 case 165: 1120 if (len == 38) 1121 { 1122 resword = &dmap_fields[87]; 1123 goto compare; 1124 } 1125 break; 1126 case 167: 1127 if (len == 20) 1128 { 1129 resword = &dmap_fields[88]; 1130 goto compare; 1131 } 1132 break; 1133 case 169: 1134 if (len == 17) 1135 { 1136 resword = &dmap_fields[89]; 1137 goto compare; 1138 } 1139 break; 1140 case 170: 1141 if (len == 18) 1142 { 1143 resword = &dmap_fields[90]; 1144 goto compare; 1145 } 1146 break; 1147 case 171: 1148 if (len == 19) 1149 { 1150 resword = &dmap_fields[91]; 1151 goto compare; 1152 } 1153 break; 1154 case 172: 1155 if (len == 20) 1156 { 1157 resword = &dmap_fields[92]; 1158 goto compare; 1159 } 1160 break; 1161 case 175: 1162 if (len == 33) 1163 { 1164 resword = &dmap_fields[93]; 1165 goto compare; 1166 } 1167 break; 1168 case 176: 1169 if (len == 24) 1170 { 1171 resword = &dmap_fields[94]; 1172 goto compare; 1173 } 1174 break; 1175 case 181: 1176 if (len == 29) 1177 { 1178 resword = &dmap_fields[95]; 1179 goto compare; 1180 } 1181 break; 1182 case 184: 1183 if (len == 32) 1184 { 1185 resword = &dmap_fields[96]; 1186 goto compare; 1187 } 1188 break; 1189 case 186: 1190 if (len == 24) 1191 { 1192 resword = &dmap_fields[97]; 1193 goto compare; 1194 } 1195 break; 1196 case 188: 1197 if (len == 36) 1198 { 1199 resword = &dmap_fields[98]; 1200 goto compare; 1201 } 1202 break; 1203 case 190: 1204 if (len == 18) 1205 { 1206 resword = &dmap_fields[99]; 1207 goto compare; 1208 } 1209 break; 1210 case 191: 1211 if (len == 19) 1212 { 1213 resword = &dmap_fields[100]; 1214 goto compare; 1215 } 1216 break; 1217 case 192: 1218 if (len == 20) 1219 { 1220 resword = &dmap_fields[101]; 1221 goto compare; 1222 } 1223 break; 1224 case 193: 1225 if (len == 26) 1226 { 1227 resword = &dmap_fields[102]; 1228 goto compare; 1229 } 1230 break; 1231 case 195: 1232 if (len == 28) 1233 { 1234 resword = &dmap_fields[103]; 1235 goto compare; 1236 } 1237 break; 1238 case 201: 1239 if (len == 34) 1240 { 1241 resword = &dmap_fields[104]; 1242 goto compare; 1243 } 1244 break; 1245 case 212: 1246 if (len == 30) 1247 { 1248 resword = &dmap_fields[105]; 1249 goto compare; 1250 } 1251 break; 1252 case 219: 1253 if (len == 22) 1254 { 1255 resword = &dmap_fields[106]; 1256 goto compare; 1257 } 1258 break; 1259 case 220: 1260 if (len == 23) 1261 { 1262 resword = &dmap_fields[107]; 1263 goto compare; 1264 } 1265 break; 1266 case 224: 1267 if (len == 27) 1268 { 1269 resword = &dmap_fields[108]; 1270 goto compare; 1271 } 1272 break; 1273 case 225: 1274 if (len == 23) 1275 { 1276 resword = &dmap_fields[109]; 1277 goto compare; 1278 } 1279 break; 1280 case 228: 1281 if (len == 26) 1282 { 1283 resword = &dmap_fields[110]; 1284 goto compare; 1285 } 1286 break; 1287 case 233: 1288 if (len == 36) 1289 { 1290 resword = &dmap_fields[111]; 1291 goto compare; 1292 } 1293 break; 1294 case 234: 1295 if (len == 32) 1296 { 1297 resword = &dmap_fields[112]; 1298 goto compare; 1299 } 1300 break; 1301 case 238: 1302 if (len == 26) 1303 { 1304 resword = &dmap_fields[113]; 1305 goto compare; 1306 } 1307 break; 1308 case 254: 1309 if (len == 32) 1310 { 1311 resword = &dmap_fields[114]; 1312 goto compare; 1313 } 1314 break; 1315 case 255: 1316 if (len == 28) 1317 { 1318 resword = &dmap_fields[115]; 1319 goto compare; 1320 } 1321 break; 1322 case 262: 1323 if (len == 20) 1324 { 1325 resword = &dmap_fields[116]; 1326 goto compare; 1327 } 1328 break; 1329 case 265: 1330 if (len == 23) 1331 { 1332 resword = &dmap_fields[117]; 1333 goto compare; 1334 } 1335 break; 1336 case 276: 1337 if (len == 29) 1338 { 1339 resword = &dmap_fields[118]; 1340 goto compare; 1341 } 1342 break; 1343 case 282: 1344 if (len == 20) 1345 { 1346 resword = &dmap_fields[119]; 1347 goto compare; 1348 } 1349 break; 1350 } 1351 return 0; 1352 compare: 1353 { 1354 register const char *s = resword->desc; 1355 1356 if (*str == *s && !memcmp (str + 1, s + 1, len - 1)) 1357 return resword; 1358 } 1359 } 1360 } 1361 return 0; 1362} 1363#line 258 "dmap_fields.gperf" 1364 1365/* Sort fields */ 1366/* 1367"dmap.sortingheaderlisting", "mshl", &dfm_dmap_mshl, DMAP_TYPE_UINT 1368"dmap.sortingheaderchar", "mshc", &dfm_dmap_mshc, DMAP_TYPE_SHORT 1369"dmap.sortingheaderindex", "mshi", &dfm_dmap_mshi, DMAP_TYPE_UINT 1370"dmap.sortingheadernumber", "mshn", &dfm_dmap_mshn, DMAP_TYPE_UINT 1371*/ 1372/* Unsupported DMAP fields */ 1373 1374/* 1375"com.apple.itunes.adam-ids-array", "aeAD", &dfm_dmap_aeAD, DMAP_TYPE_LIST 1376"com.apple.itunes.content-rating", "aeCR", &dfm_dmap_aeCR, DMAP_TYPE_STRING 1377"com.apple.itunes.drm-platform-id", "aeDP", &dfm_dmap_aeDP, DMAP_TYPE_UINT 1378"com.apple.itunes.drm-user-id", "aeDR", &dfm_dmap_aeDR, DMAP_TYPE_ULONG 1379"com.apple.itunes.drm-versions", "aeDV", &dfm_dmap_aeDV, DMAP_TYPE_UINT 1380"com.apple.itunes.gapless-enc-dr", "aeGD", &dfm_dmap_aeGD, DMAP_TYPE_UINT 1381"com.apple.itunes.gapless-enc-del", "aeGE", &dfm_dmap_aeGE, DMAP_TYPE_UINT 1382"com.apple.itunes.gapless-heur", "aeGH", &dfm_dmap_aeGH, DMAP_TYPE_UINT 1383"com.apple.itunes.gapless-resy", "aeGR", &dfm_dmap_aeGR, DMAP_TYPE_ULONG 1384"com.apple.itunes.gapless-dur", "aeGU", &dfm_dmap_aeGU, DMAP_TYPE_ULONG 1385"com.apple.itunes.is-hd-video", "aeHD", &dfm_dmap_aeHD, DMAP_TYPE_UBYTE 1386"com.apple.itunes.drm-key1-id", "aeK1", &dfm_dmap_aeK1, DMAP_TYPE_ULONG 1387"com.apple.itunes.drm-key2-id", "aeK2", &dfm_dmap_aeK2, DMAP_TYPE_ULONG 1388"com.apple.itunes.non-drm-user-id", "aeND", &dfm_dmap_aeND, DMAP_TYPE_ULONG 1389"com.apple.itunes.store-pers-id", "aeSE", &dfm_dmap_aeSE, DMAP_TYPE_ULONG 1390"com.apple.itunes.saved-genius", "aeSG", &dfm_dmap_aeSG, DMAP_TYPE_UBYTE 1391"com.apple.itunes.xid", "aeXD", &dfm_dmap_aeXD, DMAP_TYPE_STRING 1392"daap.bookmarkable", "asbk", &dfm_dmap_asbk, DMAP_TYPE_UBYTE 1393"daap.songbookmark", "asbo", &dfm_dmap_asbo, DMAP_TYPE_UINT 1394"daap.songdatepurchased", "asdp", &dfm_dmap_asdp, DMAP_TYPE_DATE 1395"daap.songdatereleased", "asdr", &dfm_dmap_asdr, DMAP_TYPE_DATE 1396"daap.songextradata", "ased", &dfm_dmap_ased, DMAP_TYPE_USHORT 1397"daap.songgapless", "asgp", &dfm_dmap_asgp, DMAP_TYPE_UBYTE 1398"daap.songhasbeenplayed", "ashp", &dfm_dmap_ashp, DMAP_TYPE_UBYTE 1399"daap.songlongsize", "asls", &dfm_dmap_asls, DMAP_TYPE_ULONG 1400"daap.songpodcasturl", "aspu", &dfm_dmap_aspu, DMAP_TYPE_STRING 1401"daap.sortseriesname", "asss", &dfm_dmap_asss, DMAP_TYPE_STRING 1402"daap.supportsextradata", "ated", &dfm_dmap_ated, DMAP_TYPE_USHORT 1403"com.apple.itunes.jukebox-client-vote", "ceJC", &dfm_dmap_ceJC, DMAP_TYPE_BYTE 1404"com.apple.itunes.jukebox-current", "ceJI", &dfm_dmap_ceJI, DMAP_TYPE_UINT 1405"com.apple.itunes.jukebox-score", "ceJS", &dfm_dmap_ceJS, DMAP_TYPE_SHORT 1406"com.apple.itunes.jukebox-vote", "ceJV", &dfm_dmap_ceJV, DMAP_TYPE_UINT 1407"dmap.editcommandssupported", "meds", &dfm_dmap_meds, DMAP_TYPE_UINT 1408"dmap.utctime", "mstc", &dfm_dmap_mstc, DMAP_TYPE_DATE 1409"dmap.utcoffset", "msto", &dfm_dmap_msto, DMAP_TYPE_INT 1410*/ 1411 1412/* DMAP test fields */ 1413/* 1414"test.container", "TEST", &dfm_dmap_TEST, DMAP_TYPE_LIST 1415"test.ubyte", "TST1", &dfm_dmap_TST1, DMAP_TYPE_UBYTE 1416"test.byte", "TST2", &dfm_dmap_TST2, DMAP_TYPE_BYTE 1417"test.ushort", "TST3", &dfm_dmap_TST3, DMAP_TYPE_USHORT 1418"test.short", "TST4", &dfm_dmap_TST4, DMAP_TYPE_SHORT 1419"test.uint", "TST5", &dfm_dmap_TST5, DMAP_TYPE_UINT 1420"test.int", "TST6", &dfm_dmap_TST6, DMAP_TYPE_INT 1421"test.ulong", "TST7", &dfm_dmap_TST7, DMAP_TYPE_ULONG 1422"test.long", "TST8", &dfm_dmap_TST8, DMAP_TYPE_LONG 1423"test.string", "TST9", &dfm_dmap_TST9, DMAP_TYPE_STRING 1424*/ 1425