|
DAAP - Content Codes RequestThis request serves to return the list of content codes in use by the server. This allows the server to be updated to contain new fields and older clients can still connect without trouble. In fact, this also allowed us to decode the entirety of the protocol very easily. Back to URI List. Sample RequestGET /content-codes HTTP/1.1 Host: daap.example.com Client-DAAP-Version: 1.0 User-Agent: iTunes/4.0 (Macintosh; N; PPC) Accept-Language: en-us, en;q=0.93, [many more] Accept-Encoding: gzip Sample ResponseHTTP/1.1 200 OK Date: Thu, 01 May 2003 18:00:29 GMT DAAP-Server: iTunes/4.0 (Mac OS X) Content-Type: application/x-dmap-tagged Content-Length: 1208 Content-Encoding: gzip Content CodesThe Each of the dmap.dictionary chunks contains the following chunks:
*the content types actually dictate that we show the dmap.contentcodesresponse = { dmap.status = 200 dmap.dictionary = { dmap.contentcodesnumber = "miid" dmap.contentcodesname = "dmap.itemid" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "minm" dmap.contentcodesname = "dmap.itemname" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "mikd" dmap.contentcodesname = "dmap.itemkind" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mper" dmap.contentcodesname = "dmap.persistentid" dmap.contentcodestype = 7 } dmap.dictionary = { dmap.contentcodesnumber = "mcon" dmap.contentcodesname = "dmap.container" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mcti" dmap.contentcodesname = "dmap.containeritemid" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mpco" dmap.contentcodesname = "dmap.parentcontainerid" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mstt" dmap.contentcodesname = "dmap.status" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "msts" dmap.contentcodesname = "dmap.statusstring" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "mimc" dmap.contentcodesname = "dmap.itemcount" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mctc" dmap.contentcodesname = "dmap.containercount" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mrco" dmap.contentcodesname = "dmap.returnedcount" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mtco" dmap.contentcodesname = "dmap.specifiedtotalcount" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mlcl" dmap.contentcodesname = "dmap.listing" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mlit" dmap.contentcodesname = "dmap.listingitem" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mbcl" dmap.contentcodesname = "dmap.bag" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mdcl" dmap.contentcodesname = "dmap.dictionary" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "msrv" dmap.contentcodesname = "dmap.serverinforesponse" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "msau" dmap.contentcodesname = "dmap.authenticationmethod" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mslr" dmap.contentcodesname = "dmap.loginrequired" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mpro" dmap.contentcodesname = "dmap.protocolversion" dmap.contentcodestype = 11 } dmap.dictionary = { dmap.contentcodesnumber = "msal" dmap.contentcodesname = "dmap.supportsautologout" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msup" dmap.contentcodesname = "dmap.supportsupdate" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mspi" dmap.contentcodesname = "dmap.supportspersistentids" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msex" dmap.contentcodesname = "dmap.supportsextensions" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msbr" dmap.contentcodesname = "dmap.supportsbrowse" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msqy" dmap.contentcodesname = "dmap.supportsquery" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msix" dmap.contentcodesname = "dmap.supportsindex" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "msrs" dmap.contentcodesname = "dmap.supportsresolve" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mstm" dmap.contentcodesname = "dmap.timeoutinterval" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "msdc" dmap.contentcodesname = "dmap.databasescount" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mlog" dmap.contentcodesname = "dmap.loginresponse" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mlid" dmap.contentcodesname = "dmap.sessionid" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mupd" dmap.contentcodesname = "dmap.updateresponse" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "musr" dmap.contentcodesname = "dmap.serverrevision" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "muty" dmap.contentcodesname = "dmap.updatetype" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "mudl" dmap.contentcodesname = "dmap.deletedidlisting" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mccr" dmap.contentcodesname = "dmap.contentcodesresponse" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "mcnm" dmap.contentcodesname = "dmap.contentcodesnumber" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "mcna" dmap.contentcodesname = "dmap.contentcodesname" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "mcty" dmap.contentcodesname = "dmap.contentcodestype" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "apro" dmap.contentcodesname = "daap.protocolversion" dmap.contentcodestype = 11 } dmap.dictionary = { dmap.contentcodesnumber = "avdb" dmap.contentcodesname = "daap.serverdatabases" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abro" dmap.contentcodesname = "daap.databasebrowse" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abal" dmap.contentcodesname = "daap.browsealbumlisting" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abar" dmap.contentcodesname = "daap.browseartistlisting" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abcp" dmap.contentcodesname = "daap.browsecomposerlisting" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abgn" dmap.contentcodesname = "daap.browsegenrelisting" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "adbs" dmap.contentcodesname = "daap.databasesongs" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "asal" dmap.contentcodesname = "daap.songalbum" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asar" dmap.contentcodesname = "daap.songartist" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asbt" dmap.contentcodesname = "daap.songbeatsperminute" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "asbr" dmap.contentcodesname = "daap.songbitrate" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "ascm" dmap.contentcodesname = "daap.songcomment" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asco" dmap.contentcodesname = "daap.songcompilation" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "ascp" dmap.contentcodesname = "daap.songcomposer" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asda" dmap.contentcodesname = "daap.songdateadded" dmap.contentcodestype = 10 } dmap.dictionary = { dmap.contentcodesnumber = "asdm" dmap.contentcodesname = "daap.songdatemodified" dmap.contentcodestype = 10 } dmap.dictionary = { dmap.contentcodesnumber = "asdc" dmap.contentcodesname = "daap.songdisccount" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "asdn" dmap.contentcodesname = "daap.songdiscnumber" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "asdb" dmap.contentcodesname = "daap.songdisabled" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "aseq" dmap.contentcodesname = "daap.songeqpreset" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asfm" dmap.contentcodesname = "daap.songformat" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asgn" dmap.contentcodesname = "daap.songgenre" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asdt" dmap.contentcodesname = "daap.songdescription" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "asrv" dmap.contentcodesname = "daap.songrelativevolume" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "assr" dmap.contentcodesname = "daap.songsamplerate" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "assz" dmap.contentcodesname = "daap.songsize" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "asst" dmap.contentcodesname = "daap.songstarttime" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "assp" dmap.contentcodesname = "daap.songstoptime" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "astm" dmap.contentcodesname = "daap.songtime" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "astc" dmap.contentcodesname = "daap.songtrackcount" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "astn" dmap.contentcodesname = "daap.songtracknumber" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "asur" dmap.contentcodesname = "daap.songuserrating" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "asyr" dmap.contentcodesname = "daap.songyear" dmap.contentcodestype = 3 } dmap.dictionary = { dmap.contentcodesnumber = "asdk" dmap.contentcodesname = "daap.songdatakind" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "asul" dmap.contentcodesname = "daap.songdataurl" dmap.contentcodestype = 9 } dmap.dictionary = { dmap.contentcodesnumber = "aply" dmap.contentcodesname = "daap.databaseplaylists" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "abpl" dmap.contentcodesname = "daap.baseplaylist" dmap.contentcodestype = 1 } dmap.dictionary = { dmap.contentcodesnumber = "apso" dmap.contentcodesname = "daap.playlistsongs" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "arsv" dmap.contentcodesname = "daap.resolve" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "arif" dmap.contentcodesname = "daap.resolveinfo" dmap.contentcodestype = 12 } dmap.dictionary = { dmap.contentcodesnumber = "aeNV" dmap.contentcodesname = "com.apple.itunes.norm-volume" dmap.contentcodestype = 5 } dmap.dictionary = { dmap.contentcodesnumber = "aeSP" dmap.contentcodesname = "com.apple.itunes.smart-playlist" dmap.contentcodestype = 1 } } Content TypesThe following table describes the type numbers as provided in the above:
|