owntone-server/src/dmap_fields.gperf

330 lines
31 KiB
Plaintext
Raw Normal View History

%language=ANSI-C
%readonly-tables
%enum
%switch=1
%compare-lengths
%define hash-function-name dmap_hash_field
%define lookup-function-name dmap_find_field
%define slot-name desc
%global-table
%define word-array-name dmap_fields
%struct-type
%omit-struct-type
%{
/* Non-static fields are exported by dmap_common.h */
static const struct dmap_field_map dfm_dmap_miid = { dbmfi_offsetof(id), dbpli_offsetof(id), -1 };
static const struct dmap_field_map dfm_dmap_minm = { dbmfi_offsetof(title), dbpli_offsetof(title), dbgri_offsetof(itemname) };
static const struct dmap_field_map dfm_dmap_mikd = { dbmfi_offsetof(item_kind), -1, -1 };
static const struct dmap_field_map dfm_dmap_mper = { dbmfi_offsetof(id), dbpli_offsetof(id), dbgri_offsetof(persistentid) };
static const struct dmap_field_map dfm_dmap_mcon = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mcti = { dbmfi_offsetof(id), -1, -1 };
static const struct dmap_field_map dfm_dmap_mpco = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mstt = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msts = { -1, -1, -1 };
const struct dmap_field_map dfm_dmap_mimc = { dbmfi_offsetof(total_tracks), dbpli_offsetof(items), dbgri_offsetof(itemcount) };
static const struct dmap_field_map dfm_dmap_mctc = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mrco = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mtco = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mlcl = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mlit = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mbcl = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mdcl = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msrv = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msau = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mslr = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mpro = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msal = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msup = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mspi = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msex = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msbr = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msqy = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msix = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msrs = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mstm = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_msdc = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mlog = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mlid = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mupd = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_musr = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_muty = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mudl = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mccr = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mcnm = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mcna = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_mcty = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_apro = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_avdb = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abro = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abal = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abar = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abcp = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abgn = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_adbs = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_asal = { dbmfi_offsetof(album), -1, -1 };
static const struct dmap_field_map dfm_dmap_asai = { dbmfi_offsetof(songalbumid), -1, -1 };
static const struct dmap_field_map dfm_dmap_asaa = { dbmfi_offsetof(album_artist), -1, dbgri_offsetof(songalbumartist) };
static const struct dmap_field_map dfm_dmap_asac = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_asar = { dbmfi_offsetof(artist), -1, -1 };
static const struct dmap_field_map dfm_dmap_asri = { dbmfi_offsetof(songartistid), -1, dbgri_offsetof(songartistid) };
static const struct dmap_field_map dfm_dmap_asbr = { dbmfi_offsetof(bitrate), -1, -1 };
static const struct dmap_field_map dfm_dmap_asbt = { dbmfi_offsetof(bpm), -1, -1 };
static const struct dmap_field_map dfm_dmap_ascm = { dbmfi_offsetof(comment), -1, -1 };
static const struct dmap_field_map dfm_dmap_asco = { dbmfi_offsetof(compilation), -1, -1 };
static const struct dmap_field_map dfm_dmap_ascp = { dbmfi_offsetof(composer), -1, -1 };
static const struct dmap_field_map dfm_dmap_asda = { dbmfi_offsetof(time_added), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdb = { dbmfi_offsetof(disabled), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdc = { dbmfi_offsetof(total_discs), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdm = { dbmfi_offsetof(time_modified), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdn = { dbmfi_offsetof(disc), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdk = { dbmfi_offsetof(data_kind), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdr = { dbmfi_offsetof(date_released), -1, -1 };
static const struct dmap_field_map dfm_dmap_asdt = { dbmfi_offsetof(description), -1, -1 };
static const struct dmap_field_map dfm_dmap_ased = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aseq = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_asfm = { dbmfi_offsetof(type), -1, -1 };
static const struct dmap_field_map dfm_dmap_asgn = { dbmfi_offsetof(genre), -1, -1 };
static const struct dmap_field_map dfm_dmap_ashp = { dbmfi_offsetof(play_count), -1, -1 };
static const struct dmap_field_map dfm_dmap_aspc = { dbmfi_offsetof(play_count), -1, -1 };
static const struct dmap_field_map dfm_dmap_assp = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_assr = { dbmfi_offsetof(samplerate), -1, -1 };
static const struct dmap_field_map dfm_dmap_asst = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_assz = { dbmfi_offsetof(file_size), -1, -1 };
static const struct dmap_field_map dfm_dmap_asrv = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_astc = { dbmfi_offsetof(total_tracks), -1, -1 };
static const struct dmap_field_map dfm_dmap_astm = { dbmfi_offsetof(song_length), -1, dbgri_offsetof(song_length) };
static const struct dmap_field_map dfm_dmap_astn = { dbmfi_offsetof(track), -1, -1 };
static const struct dmap_field_map dfm_dmap_asul = { dbmfi_offsetof(url), -1, -1 };
static const struct dmap_field_map dfm_dmap_asur = { dbmfi_offsetof(rating), -1, -1 };
static const struct dmap_field_map dfm_dmap_asyr = { dbmfi_offsetof(year), -1, -1 };
static const struct dmap_field_map dfm_dmap_aply = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_abpl = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_apso = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_arsv = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_arif = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeNV = { -1, -1, -1 };
const struct dmap_field_map dfm_dmap_aeSP = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aePS = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_ascd = { dbmfi_offsetof(codectype), -1, -1 };
static const struct dmap_field_map dfm_dmap_ascs = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_agac = { -1, -1, dbgri_offsetof(groupalbumcount) };
static const struct dmap_field_map dfm_dmap_agrp = { dbmfi_offsetof(grouping), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeSV = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aePI = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeCI = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeGI = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeAI = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeSI = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeSF = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_ascr = { dbmfi_offsetof(contentrating), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeHV = { dbmfi_offsetof(has_video), -1, -1 };
static const struct dmap_field_map dfm_dmap_msas = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_asct = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_ascn = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aslc = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_asky = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_apsm = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aprm = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aePC = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aePP = { -1, -1, -1 };
static const struct dmap_field_map dfm_dmap_aeMK = { dbmfi_offsetof(media_kind), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeMk = { dbmfi_offsetof(media_kind), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeSN = { dbmfi_offsetof(tv_series_name), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeNN = { dbmfi_offsetof(tv_network_name), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeEN = { dbmfi_offsetof(tv_episode_num_str), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeES = { dbmfi_offsetof(tv_episode_sort), -1, -1 };
static const struct dmap_field_map dfm_dmap_aeSU = { dbmfi_offsetof(tv_season_num), -1, -1 };
static const struct dmap_field_map dfm_dmap_assn = { dbmfi_offsetof(title_sort), -1, -1 };
static const struct dmap_field_map dfm_dmap_assa = { dbmfi_offsetof(artist_sort), -1, -1 };
static const struct dmap_field_map dfm_dmap_assu = { dbmfi_offsetof(album_sort), -1, -1 };
static const struct dmap_field_map dfm_dmap_assc = { dbmfi_offsetof(composer_sort), -1, -1 };
static const struct dmap_field_map dfm_dmap_assl = { dbmfi_offsetof(album_artist_sort), -1, -1 };
%}
struct dmap_field;
%%
"daap.browsealbumlisting", "abal", &dfm_dmap_abal, DMAP_TYPE_LIST
"daap.browseartistlisting", "abar", &dfm_dmap_abar, DMAP_TYPE_LIST
"daap.browsecomposerlisting", "abcp", &dfm_dmap_abcp, DMAP_TYPE_LIST
"daap.browsegenrelisting", "abgn", &dfm_dmap_abgn, DMAP_TYPE_LIST
"daap.baseplaylist", "abpl", &dfm_dmap_abpl, DMAP_TYPE_UBYTE
"daap.databasebrowse", "abro", &dfm_dmap_abro, DMAP_TYPE_LIST
"daap.databasesongs", "adbs", &dfm_dmap_adbs, DMAP_TYPE_LIST
"com.apple.itunes.itms-artistid", "aeAI", &dfm_dmap_aeAI, DMAP_TYPE_UINT
"com.apple.itunes.itms-composerid", "aeCI", &dfm_dmap_aeCI, DMAP_TYPE_UINT
"com.apple.itunes.episode-num-str", "aeEN", &dfm_dmap_aeEN, DMAP_TYPE_STRING
"com.apple.itunes.episode-sort", "aeES", &dfm_dmap_aeES, DMAP_TYPE_UINT
"com.apple.itunes.itms-genreid", "aeGI", &dfm_dmap_aeGI, DMAP_TYPE_UINT
"com.apple.itunes.has-video", "aeHV", &dfm_dmap_aeHV, DMAP_TYPE_UBYTE
"com.apple.itunes.extended-media-kind", "aeMk", &dfm_dmap_aeMk, DMAP_TYPE_UINT
"com.apple.itunes.mediakind", "aeMK", &dfm_dmap_aeMK, DMAP_TYPE_UBYTE
"com.apple.itunes.network-name", "aeNN", &dfm_dmap_aeNN, DMAP_TYPE_STRING
"com.apple.itunes.norm-volume", "aeNV", &dfm_dmap_aeNV, DMAP_TYPE_UINT
"com.apple.itunes.is-podcast", "aePC", &dfm_dmap_aePC, DMAP_TYPE_UBYTE
"com.apple.itunes.itms-playlistid", "aePI", &dfm_dmap_aePI, DMAP_TYPE_UINT
"com.apple.itunes.is-podcast-playlist", "aePP", &dfm_dmap_aePP, DMAP_TYPE_UBYTE
"com.apple.itunes.special-playlist", "aePS", &dfm_dmap_aePS, DMAP_TYPE_UBYTE
"com.apple.itunes.itms-storefrontid", "aeSF", &dfm_dmap_aeSF, DMAP_TYPE_UINT
"com.apple.itunes.itms-songid", "aeSI", &dfm_dmap_aeSI, DMAP_TYPE_UINT
"com.apple.itunes.series-name", "aeSN", &dfm_dmap_aeSN, DMAP_TYPE_STRING
"com.apple.itunes.smart-playlist", "aeSP", &dfm_dmap_aeSP, DMAP_TYPE_UBYTE
"com.apple.itunes.season-num", "aeSU", &dfm_dmap_aeSU, DMAP_TYPE_UINT
"com.apple.itunes.music-sharing-version", "aeSV", &dfm_dmap_aeSV, DMAP_TYPE_UINT
"daap.groupalbumcount", "agac", &dfm_dmap_agac, DMAP_TYPE_UINT
"daap.songgrouping", "agrp", &dfm_dmap_agrp, DMAP_TYPE_STRING
"daap.databaseplaylists", "aply", &dfm_dmap_aply, DMAP_TYPE_LIST
"daap.playlistrepeatmode", "aprm", &dfm_dmap_aprm, DMAP_TYPE_UBYTE
"daap.protocolversion", "apro", &dfm_dmap_apro, DMAP_TYPE_VERSION
"daap.playlistshufflemode", "apsm", &dfm_dmap_apsm, DMAP_TYPE_UBYTE
"daap.playlistsongs", "apso", &dfm_dmap_apso, DMAP_TYPE_LIST
"daap.resolveinfo", "arif", &dfm_dmap_arif, DMAP_TYPE_LIST
"daap.resolve", "arsv", &dfm_dmap_arsv, DMAP_TYPE_LIST
"daap.songalbumartist", "asaa", &dfm_dmap_asaa, DMAP_TYPE_STRING
"daap.songartworkcount", "asac", &dfm_dmap_asac, DMAP_TYPE_USHORT
"daap.songalbumid", "asai", &dfm_dmap_asai, DMAP_TYPE_ULONG
"daap.songalbum", "asal", &dfm_dmap_asal, DMAP_TYPE_STRING
"daap.songartist", "asar", &dfm_dmap_asar, DMAP_TYPE_STRING
2013-12-18 13:26:27 -05:00
"daap.songartistid", "asri", &dfm_dmap_asri, DMAP_TYPE_ULONG
"daap.songbitrate", "asbr", &dfm_dmap_asbr, DMAP_TYPE_USHORT
"daap.songbeatsperminute", "asbt", &dfm_dmap_asbt, DMAP_TYPE_USHORT
"daap.songcodectype", "ascd", &dfm_dmap_ascd, DMAP_TYPE_UINT
"daap.songcomment", "ascm", &dfm_dmap_ascm, DMAP_TYPE_STRING
"daap.songcontentdescription", "ascn", &dfm_dmap_ascn, DMAP_TYPE_STRING
"daap.songcompilation", "asco", &dfm_dmap_asco, DMAP_TYPE_UBYTE
"daap.songcomposer", "ascp", &dfm_dmap_ascp, DMAP_TYPE_STRING
"daap.songcontentrating", "ascr", &dfm_dmap_ascr, DMAP_TYPE_UBYTE
"daap.songcodecsubtype", "ascs", &dfm_dmap_ascs, DMAP_TYPE_UINT
"daap.songcategory", "asct", &dfm_dmap_asct, DMAP_TYPE_STRING
"daap.songdateadded", "asda", &dfm_dmap_asda, DMAP_TYPE_DATE
"daap.songdisabled", "asdb", &dfm_dmap_asdb, DMAP_TYPE_UBYTE
"daap.songdisccount", "asdc", &dfm_dmap_asdc, DMAP_TYPE_USHORT
"daap.songdatakind", "asdk", &dfm_dmap_asdk, DMAP_TYPE_UBYTE
"daap.songdatemodified", "asdm", &dfm_dmap_asdm, DMAP_TYPE_DATE
"daap.songdiscnumber", "asdn", &dfm_dmap_asdn, DMAP_TYPE_USHORT
"daap.songdatereleased", "asdr", &dfm_dmap_asdr, DMAP_TYPE_DATE
"daap.songdescription", "asdt", &dfm_dmap_asdt, DMAP_TYPE_STRING
"daap.songextradata", "ased", &dfm_dmap_ased, DMAP_TYPE_USHORT
"daap.songeqpreset", "aseq", &dfm_dmap_aseq, DMAP_TYPE_STRING
"daap.songformat", "asfm", &dfm_dmap_asfm, DMAP_TYPE_STRING
"daap.songgenre", "asgn", &dfm_dmap_asgn, DMAP_TYPE_STRING
"daap.songhasbeenplayed", "ashp", &dfm_dmap_ashp, DMAP_TYPE_UBYTE
"daap.songkeywords", "asky", &dfm_dmap_asky, DMAP_TYPE_STRING
"daap.songlongcontentdescription", "aslc", &dfm_dmap_aslc, DMAP_TYPE_STRING
"daap.songuserplaycount", "aspc", &dfm_dmap_aspc, DMAP_TYPE_UINT
"daap.songrelativevolume", "asrv", &dfm_dmap_asrv, DMAP_TYPE_BYTE
"daap.sortartist", "assa", &dfm_dmap_assa, DMAP_TYPE_STRING
"daap.sortcomposer", "assc", &dfm_dmap_assc, DMAP_TYPE_STRING
"daap.sortalbumartist", "assl", &dfm_dmap_assl, DMAP_TYPE_STRING
"daap.sortname", "assn", &dfm_dmap_assn, DMAP_TYPE_STRING
"daap.songstoptime", "assp", &dfm_dmap_assp, DMAP_TYPE_UINT
"daap.songsamplerate", "assr", &dfm_dmap_assr, DMAP_TYPE_UINT
"daap.songstarttime", "asst", &dfm_dmap_asst, DMAP_TYPE_UINT
"daap.sortalbum", "assu", &dfm_dmap_assu, DMAP_TYPE_STRING
"daap.songsize", "assz", &dfm_dmap_assz, DMAP_TYPE_UINT
"daap.songtrackcount", "astc", &dfm_dmap_astc, DMAP_TYPE_USHORT
"daap.songtime", "astm", &dfm_dmap_astm, DMAP_TYPE_UINT
"daap.songtracknumber", "astn", &dfm_dmap_astn, DMAP_TYPE_USHORT
"daap.songdataurl", "asul", &dfm_dmap_asul, DMAP_TYPE_STRING
"daap.songuserrating", "asur", &dfm_dmap_asur, DMAP_TYPE_UBYTE
"daap.songyear", "asyr", &dfm_dmap_asyr, DMAP_TYPE_USHORT
"daap.serverdatabases", "avdb", &dfm_dmap_avdb, DMAP_TYPE_LIST
"dmap.bag", "mbcl", &dfm_dmap_mbcl, DMAP_TYPE_LIST
"dmap.contentcodesresponse", "mccr", &dfm_dmap_mccr, DMAP_TYPE_LIST
"dmap.contentcodesname", "mcna", &dfm_dmap_mcna, DMAP_TYPE_STRING
"dmap.contentcodesnumber", "mcnm", &dfm_dmap_mcnm, DMAP_TYPE_UINT
"dmap.container", "mcon", &dfm_dmap_mcon, DMAP_TYPE_LIST
"dmap.containercount", "mctc", &dfm_dmap_mctc, DMAP_TYPE_UINT
"dmap.containeritemid", "mcti", &dfm_dmap_mcti, DMAP_TYPE_UINT
"dmap.contentcodestype", "mcty", &dfm_dmap_mcty, DMAP_TYPE_USHORT
"dmap.dictionary", "mdcl", &dfm_dmap_mdcl, DMAP_TYPE_LIST
"dmap.itemid", "miid", &dfm_dmap_miid, DMAP_TYPE_UINT
"dmap.itemkind", "mikd", &dfm_dmap_mikd, DMAP_TYPE_UBYTE
"dmap.itemcount", "mimc", &dfm_dmap_mimc, DMAP_TYPE_UINT
"dmap.itemname", "minm", &dfm_dmap_minm, DMAP_TYPE_STRING
"dmap.listing", "mlcl", &dfm_dmap_mlcl, DMAP_TYPE_LIST
"dmap.sessionid", "mlid", &dfm_dmap_mlid, DMAP_TYPE_UINT
"dmap.listingitem", "mlit", &dfm_dmap_mlit, DMAP_TYPE_LIST
"dmap.loginresponse", "mlog", &dfm_dmap_mlog, DMAP_TYPE_LIST
"dmap.parentcontainerid", "mpco", &dfm_dmap_mpco, DMAP_TYPE_UINT
"dmap.persistentid", "mper", &dfm_dmap_mper, DMAP_TYPE_ULONG
"dmap.protocolversion", "mpro", &dfm_dmap_mpro, DMAP_TYPE_VERSION
"dmap.returnedcount", "mrco", &dfm_dmap_mrco, DMAP_TYPE_UINT
"dmap.supportsautologout", "msal", &dfm_dmap_msal, DMAP_TYPE_UBYTE
"dmap.authenticationschemes", "msas", &dfm_dmap_msas, DMAP_TYPE_UINT
"dmap.authenticationmethod", "msau", &dfm_dmap_msau, DMAP_TYPE_UBYTE
"dmap.supportsbrowse", "msbr", &dfm_dmap_msbr, DMAP_TYPE_UBYTE
"dmap.databasescount", "msdc", &dfm_dmap_msdc, DMAP_TYPE_UINT
"dmap.supportsextensions", "msex", &dfm_dmap_msex, DMAP_TYPE_UBYTE
"dmap.supportsindex", "msix", &dfm_dmap_msix, DMAP_TYPE_UBYTE
"dmap.loginrequired", "mslr", &dfm_dmap_mslr, DMAP_TYPE_UBYTE
"dmap.supportspersistentids", "mspi", &dfm_dmap_mspi, DMAP_TYPE_UBYTE
"dmap.supportsquery", "msqy", &dfm_dmap_msqy, DMAP_TYPE_UBYTE
"dmap.supportsresolve", "msrs", &dfm_dmap_msrs, DMAP_TYPE_UBYTE
"dmap.serverinforesponse", "msrv", &dfm_dmap_msrv, DMAP_TYPE_LIST
"dmap.timeoutinterval", "mstm", &dfm_dmap_mstm, DMAP_TYPE_UINT
"dmap.statusstring", "msts", &dfm_dmap_msts, DMAP_TYPE_STRING
"dmap.status", "mstt", &dfm_dmap_mstt, DMAP_TYPE_UINT
"dmap.supportsupdate", "msup", &dfm_dmap_msup, DMAP_TYPE_UBYTE
"dmap.specifiedtotalcount", "mtco", &dfm_dmap_mtco, DMAP_TYPE_UINT
"dmap.deletedidlisting", "mudl", &dfm_dmap_mudl, DMAP_TYPE_LIST
"dmap.updateresponse", "mupd", &dfm_dmap_mupd, DMAP_TYPE_LIST
"dmap.serverrevision", "musr", &dfm_dmap_musr, DMAP_TYPE_UINT
"dmap.updatetype", "muty", &dfm_dmap_muty, DMAP_TYPE_UBYTE
%%
/* Sort fields */
/*
"dmap.sortingheaderlisting", "mshl", &dfm_dmap_mshl, DMAP_TYPE_UINT
"dmap.sortingheaderchar", "mshc", &dfm_dmap_mshc, DMAP_TYPE_SHORT
"dmap.sortingheaderindex", "mshi", &dfm_dmap_mshi, DMAP_TYPE_UINT
"dmap.sortingheadernumber", "mshn", &dfm_dmap_mshn, DMAP_TYPE_UINT
*/
/* Unsupported DMAP fields */
/*
"com.apple.itunes.adam-ids-array", "aeAD", &dfm_dmap_aeAD, DMAP_TYPE_LIST
"com.apple.itunes.content-rating", "aeCR", &dfm_dmap_aeCR, DMAP_TYPE_STRING
"com.apple.itunes.drm-platform-id", "aeDP", &dfm_dmap_aeDP, DMAP_TYPE_UINT
"com.apple.itunes.drm-user-id", "aeDR", &dfm_dmap_aeDR, DMAP_TYPE_ULONG
"com.apple.itunes.drm-versions", "aeDV", &dfm_dmap_aeDV, DMAP_TYPE_UINT
"com.apple.itunes.gapless-enc-dr", "aeGD", &dfm_dmap_aeGD, DMAP_TYPE_UINT
"com.apple.itunes.gapless-enc-del", "aeGE", &dfm_dmap_aeGE, DMAP_TYPE_UINT
"com.apple.itunes.gapless-heur", "aeGH", &dfm_dmap_aeGH, DMAP_TYPE_UINT
"com.apple.itunes.gapless-resy", "aeGR", &dfm_dmap_aeGR, DMAP_TYPE_ULONG
"com.apple.itunes.gapless-dur", "aeGU", &dfm_dmap_aeGU, DMAP_TYPE_ULONG
"com.apple.itunes.is-hd-video", "aeHD", &dfm_dmap_aeHD, DMAP_TYPE_UBYTE
"com.apple.itunes.drm-key1-id", "aeK1", &dfm_dmap_aeK1, DMAP_TYPE_ULONG
"com.apple.itunes.drm-key2-id", "aeK2", &dfm_dmap_aeK2, DMAP_TYPE_ULONG
"com.apple.itunes.non-drm-user-id", "aeND", &dfm_dmap_aeND, DMAP_TYPE_ULONG
"com.apple.itunes.store-pers-id", "aeSE", &dfm_dmap_aeSE, DMAP_TYPE_ULONG
"com.apple.itunes.saved-genius", "aeSG", &dfm_dmap_aeSG, DMAP_TYPE_UBYTE
"com.apple.itunes.xid", "aeXD", &dfm_dmap_aeXD, DMAP_TYPE_STRING
"daap.bookmarkable", "asbk", &dfm_dmap_asbk, DMAP_TYPE_UBYTE
"daap.songbookmark", "asbo", &dfm_dmap_asbo, DMAP_TYPE_UINT
"daap.songdatepurchased", "asdp", &dfm_dmap_asdp, DMAP_TYPE_DATE
"daap.songgapless", "asgp", &dfm_dmap_asgp, DMAP_TYPE_UBYTE
"daap.songlongsize", "asls", &dfm_dmap_asls, DMAP_TYPE_ULONG
"daap.songpodcasturl", "aspu", &dfm_dmap_aspu, DMAP_TYPE_STRING
"daap.sortseriesname", "asss", &dfm_dmap_asss, DMAP_TYPE_STRING
"daap.supportsextradata", "ated", &dfm_dmap_ated, DMAP_TYPE_USHORT
"com.apple.itunes.jukebox-client-vote", "ceJC", &dfm_dmap_ceJC, DMAP_TYPE_BYTE
"com.apple.itunes.jukebox-current", "ceJI", &dfm_dmap_ceJI, DMAP_TYPE_UINT
"com.apple.itunes.jukebox-score", "ceJS", &dfm_dmap_ceJS, DMAP_TYPE_SHORT
"com.apple.itunes.jukebox-vote", "ceJV", &dfm_dmap_ceJV, DMAP_TYPE_UINT
"dmap.editcommandssupported", "meds", &dfm_dmap_meds, DMAP_TYPE_UINT
"dmap.utctime", "mstc", &dfm_dmap_mstc, DMAP_TYPE_DATE
"dmap.utcoffset", "msto", &dfm_dmap_msto, DMAP_TYPE_INT
*/
/* DMAP test fields */
/*
"test.container", "TEST", &dfm_dmap_TEST, DMAP_TYPE_LIST
"test.ubyte", "TST1", &dfm_dmap_TST1, DMAP_TYPE_UBYTE
"test.byte", "TST2", &dfm_dmap_TST2, DMAP_TYPE_BYTE
"test.ushort", "TST3", &dfm_dmap_TST3, DMAP_TYPE_USHORT
"test.short", "TST4", &dfm_dmap_TST4, DMAP_TYPE_SHORT
"test.uint", "TST5", &dfm_dmap_TST5, DMAP_TYPE_UINT
"test.int", "TST6", &dfm_dmap_TST6, DMAP_TYPE_INT
"test.ulong", "TST7", &dfm_dmap_TST7, DMAP_TYPE_ULONG
"test.long", "TST8", &dfm_dmap_TST8, DMAP_TYPE_LONG
"test.string", "TST9", &dfm_dmap_TST9, DMAP_TYPE_STRING
*/