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