1 // 2 // This file is part of the aMule Project. 3 // 4 // Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org ) 5 // Copyright (c) 2002-2011 Merkur ( devs@emule-project.net / http://www.emule-project.net ) 6 // 7 // Any parts of this program derived from the xMule, lMule or eMule project, 8 // or contributed by third-party developers are copyrighted by their 9 // respective authors. 10 // 11 // This program is free software; you can redistribute it and/or modify 12 // it under the terms of the GNU General Public License as published by 13 // the Free Software Foundation; either version 2 of the License, or 14 // (at your option) any later version. 15 // 16 // This program is distributed in the hope that it will be useful, 17 // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 // GNU General Public License for more details. 20 // 21 // You should have received a copy of the GNU General Public License 22 // along with this program; if not, write to the Free Software 23 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 24 // 25 26 #ifndef FILETAGS_H 27 #define FILETAGS_H 28 29 // ED2K search + known.met + .part.met 30 #define FT_FILENAME 0x01 // <string> 31 #define FT_FILESIZE 0x02 // <uint32> 32 #define FT_FILESIZE_HI 0x3A // <uint32> 33 #define FT_FILETYPE 0x03 // <string> or <uint32> 34 #define FT_FILEFORMAT 0x04 // <string> 35 #define FT_LASTSEENCOMPLETE 0x05 // <uint32> 36 #define FT_TRANSFERRED 0x08 // <uint32> 37 #define FT_GAPSTART 0x09 // <uint32> 38 #define FT_GAPEND 0x0A // <uint32> 39 #define FT_PARTFILENAME 0x12 // <string> 40 #define FT_OLDDLPRIORITY 0x13 // Not used anymore 41 #define FT_STATUS 0x14 // <uint32> 42 #define FT_SOURCES 0x15 // <uint32> 43 #define FT_PERMISSIONS 0x16 // <uint32> 44 #define FT_OLDULPRIORITY 0x17 // Not used anymore 45 #define FT_DLPRIORITY 0x18 // Was 13 46 #define FT_ULPRIORITY 0x19 // Was 17 47 #define FT_KADLASTPUBLISHKEY 0x20 // <uint32> 48 #define FT_KADLASTPUBLISHSRC 0x21 // <uint32> 49 #define FT_FLAGS 0x22 // <uint32> 50 #define FT_DL_ACTIVE_TIME 0x23 // <uint32> 51 #define FT_CORRUPTEDPARTS 0x24 // <string> 52 #define FT_DL_PREVIEW 0x25 53 #define FT_KADLASTPUBLISHNOTES 0x26 // <uint32> 54 #define FT_AICH_HASH 0x27 55 #define FT_COMPLETE_SOURCES 0x30 // nr. of sources which share a 56 // complete version of the 57 // associated file (supported 58 // by eserver 16.46+) statistic 59 60 #define FT_PUBLISHINFO 0x33 // <uint32> 61 #define FT_ATTRANSFERRED 0x50 // <uint32> 62 #define FT_ATREQUESTED 0x51 // <uint32> 63 #define FT_ATACCEPTED 0x52 // <uint32> 64 #define FT_CATEGORY 0x53 // <uint32> 65 #define FT_ATTRANSFERREDHI 0x54 // <uint32> 66 #define FT_MEDIA_ARTIST 0xD0 // <string> 67 #define FT_MEDIA_ALBUM 0xD1 // <string> 68 #define FT_MEDIA_TITLE 0xD2 // <string> 69 #define FT_MEDIA_LENGTH 0xD3 // <uint32> !!! 70 #define FT_MEDIA_BITRATE 0xD4 // <uint32> 71 #define FT_MEDIA_CODEC 0xD5 // <string> 72 #define FT_FILERATING 0xF7 // <uint8> 73 74 75 // Kad search + some unused tags to mirror the ed2k ones. 76 #define TAG_FILENAME wxT("\x01") // <string> 77 #define TAG_FILESIZE wxT("\x02") // <uint32> 78 #define TAG_FILESIZE_HI wxT("\x3A") // <uint32> 79 #define TAG_FILETYPE wxT("\x03") // <string> 80 #define TAG_FILEFORMAT wxT("\x04") // <string> 81 #define TAG_COLLECTION wxT("\x05") 82 #define TAG_PART_PATH wxT("\x06") // <string> 83 #define TAG_PART_HASH wxT("\x07") 84 #define TAG_COPIED wxT("\x08") // <uint32> 85 #define TAG_GAP_START wxT("\x09") // <uint32> 86 #define TAG_GAP_END wxT("\x0A") // <uint32> 87 #define TAG_DESCRIPTION wxT("\x0B") // <string> 88 #define TAG_PING wxT("\x0C") 89 #define TAG_FAIL wxT("\x0D") 90 #define TAG_PREFERENCE wxT("\x0E") 91 #define TAG_PORT wxT("\x0F") 92 #define TAG_IP_ADDRESS wxT("\x10") 93 #define TAG_VERSION wxT("\x11") // <string> 94 #define TAG_TEMPFILE wxT("\x12") // <string> 95 #define TAG_PRIORITY wxT("\x13") // <uint32> 96 #define TAG_STATUS wxT("\x14") // <uint32> 97 #define TAG_SOURCES wxT("\x15") // <uint32> 98 #define TAG_AVAILABILITY wxT("\x15") // <uint32> 99 #define TAG_PERMISSIONS wxT("\x16") 100 #define TAG_QTIME wxT("\x16") 101 #define TAG_PARTS wxT("\x17") 102 #define TAG_PUBLISHINFO wxT("\x33") // <uint32> 103 #define TAG_MEDIA_ARTIST wxT("\xD0") // <string> 104 #define TAG_MEDIA_ALBUM wxT("\xD1") // <string> 105 #define TAG_MEDIA_TITLE wxT("\xD2") // <string> 106 #define TAG_MEDIA_LENGTH wxT("\xD3") // <uint32> !!! 107 #define TAG_MEDIA_BITRATE wxT("\xD4") // <uint32> 108 #define TAG_MEDIA_CODEC wxT("\xD5") // <string> 109 #define TAG_KADMISCOPTIONS wxT("\xF2") // <uint8> 110 #define TAG_ENCRYPTION wxT("\xF3") // <uint8> 111 #define TAG_FILERATING wxT("\xF7") // <uint8> 112 #define TAG_BUDDYHASH wxT("\xF8") // <string> 113 #define TAG_CLIENTLOWID wxT("\xF9") // <uint32> 114 #define TAG_SERVERPORT wxT("\xFA") // <uint16> 115 #define TAG_SERVERIP wxT("\xFB") // <uint32> 116 #define TAG_SOURCEUPORT wxT("\xFC") // <uint16> 117 #define TAG_SOURCEPORT wxT("\xFD") // <uint16> 118 #define TAG_SOURCEIP wxT("\xFE") // <uint32> 119 #define TAG_SOURCETYPE wxT("\xFF") // <uint8> 120 121 // Media values for FT_FILETYPE 122 #define ED2KFTSTR_AUDIO wxT("Audio") 123 #define ED2KFTSTR_VIDEO wxT("Video") 124 #define ED2KFTSTR_IMAGE wxT("Image") 125 #define ED2KFTSTR_DOCUMENT wxT("Doc") 126 #define ED2KFTSTR_PROGRAM wxT("Pro") 127 #define ED2KFTSTR_ARCHIVE wxT("Arc") // *Mule internal use only 128 #define ED2KFTSTR_CDIMAGE wxT("Iso") // *Mule internal use only 129 130 // Additional media meta data tags from eDonkeyHybrid (note also the uppercase/lowercase) 131 #define FT_ED2K_MEDIA_ARTIST "Artist" // <string> 132 #define FT_ED2K_MEDIA_ALBUM "Album" // <string> 133 #define FT_ED2K_MEDIA_TITLE "Title" // <string> 134 #define FT_ED2K_MEDIA_LENGTH "length" // <string> !!! 135 #define FT_ED2K_MEDIA_BITRATE "bitrate" // <uint32> 136 #define FT_ED2K_MEDIA_CODEC "codec" // <string> 137 138 #endif // FILETAGS_H 139