//this file is part of eMule //Copyright (C)2002 Merkur ( merkur-@users.sourceforge.net / http://www.emule-project.net ) // //This program is free software; you can redistribute it and/or //modify it under the terms of the GNU General Public License //as published by the Free Software Foundation; either //version 2 of the License, or (at your option) any later version. // //This program is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. // //You should have received a copy of the GNU General Public License //along with this program; if not, write to the Free Software //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #pragma once #ifndef _DEBUG #define CURRENT_VERSION_LONG "0.26d [Maella v2.0 beta6 - 50msPyrix [vampire|v1e]" #else #define CURRENT_VERSION_LONG "0.26d [Maella v2.0 beta6 - 200ms] DEBUGPyrix [vampire|v1e]"" #endif // MOD Note: Do not change this part - Merkur #define CURRENT_VERSION_SHORT 0x26 #define CURRENT_VERSION_CHECK 0x26D #define EMULE_PROTOCOL 0x01 // MOD Note: end #define EDONKEYVERSION 0x3c #define PREFFILE_VERSION 0x14 //<<-- last change: reduced .dat, by using .ini #define PARTFILE_VERSION 0xe0 #define CREDITFILE_VERSION 0x11 #define COMPILE_DATE __DATE__ #define COMPILE_TIME __TIME__ #ifdef _DEBUG #define EMULE_GUID "EMULE-{4EADC6FC-516F-4b7c-9066-97D893649569}-DEBUG" #else #define EMULE_GUID "EMULE-{4EADC6FC-516F-4b7c-9066-97D893649569}" #endif // MOD Note: Do not change this part - Merkur #define UDPSEARCHSPEED 1000 // if this value is too low you will miss sources #define MAX_RESULTS 100 // max global search results #define MAX_CLIENTCONNECTIONTRY 2 #define CONNECTION_TIMEOUT 40000 // set his lower if you want less connections at once, set it higher if you have enough sockets (edonkey has its own timout too, so a very high value won't effect this) #define FILEREASKTIME 1300000 // ** #define SERVERREASKTIME 800000 // don't set this too low, it wont speed up anything, but it could kill emule or your internetconnection #define UDPSERVERREASKTIME 1300000 // *** #define SOURCECLIENTREASK 600000 #define MINCOMMONPENALTY 9 #define UDPSERVERSTATTIME 5000 #define UDPSERVSTATREASKTIME 14400000 #define UDPSERVERPORT 4665 // default udp port #define MIN_UP_CLIENTS_ALLOWED 3 // min. clients allowed to download regardless UPLOAD_CLIENT_DATARATE or any other factors. Don't set this too high // MOD Note: end #define MAXCONPER5SEC 2023 #define MAXCON5WIN9X 10 #define UPLOAD_CHECK_CLIENT_DR 1000 #define UPLOAD_LOW_CLIENT_DR 24003400 // uploadspeed per client in bytes - you may want to adjust this if you have a slow connection or T1-T3 ;) #define UPLOAD_CLIENT_DATARATE 30004200 #define MAX_UP_CLIENTS_ALLOWED 100 // max. clients allowed regardless UPLOAD_CLIENT_DATARATE or any other factors. Don't set this too low, use DATARATE to adjust uploadspeed per client #define DOWNLOADTIMEOUT 100000 #define CONSERVTIMEOUT 25000 // agelimit for pending connection attempts #define RARE_FILE 25 #define BADCLIENTBAN 3 #define MIN_REQUESTTIME 590000570000 #define MAX_PURGEQUEUETIME 36000003400000 #define CONNECTION_LATENCY 22050 // latency for responces #define SOURCESSLOTS 100 #define MINWAIT_BEFORE_DLDISPLAY_WINDOWUPDATE 1000 // you shouldn't change anything here if you are not really sure, or emule will probaly not work #define MAXFRAGSIZE 13001400 #define PARTSIZE 9728000 #define BLOCKSIZE 184320 #define OP_EDONKEYHEADER 0xE3 #define OP_EDONKEYPROT OP_EDONKEYHEADER #define OP_PACKEDPROT 0xD4 #define OP_EMULEPROT 0xC5 #define OP_MLDONKEYPROT 0x00 #define MET_HEADER 0x0E #define UNLIMITED 0xFFFF // client <-> server #define OP_LOGINREQUEST 0x01 //<HASH 16><ID 4><PORT 2><1 Tag_set> #define OP_REJECT 0x05 //(null) #define OP_GETSERVERLIST 0x14 //(null)client->server #define OP_OFFERFILES 0x15 // <count 4>(<HASH 16><ID 4><PORT 2><1 Tag_set>)[count] #define OP_SEARCHREQUEST 0x16 // <Query_Tree> #define OP_DISCONNECT 0x18 // (not verified) #define OP_GETSOURCES 0x19 // <HASH 16> #define OP_SEARCH_USER 0x1A // <Query_Tree> #define OP_CALLBACKREQUEST 0x1C // <ID 4> #define OP_QUERY_CHATS 0x1D // (deprecated not supported by server any longer) #define OP_CHAT_MESSAGE 0x1E // (deprecated not supported by server any longer) #define OP_JOIN_ROOM 0x1F // (deprecated not supported by server any longer) #define OP_QUERY_MORE_RESULT 0x21 // (null) #define OP_SERVERLIST 0x32 // <count 1>(<IP 4><PORT 2>)[count] server->client #define OP_SEARCHRESULT 0x33 // <count 4>(<HASH 16><ID 4><PORT 2><1 Tag_set>)[count] #define OP_SERVERSTATUS 0x34 // <USER 4><FILES 4> #define OP_CALLBACKREQUESTED 0x35 // <IP 4><PORT 2> #define OP_CALLBACK_FAIL 0x36 // (null notverified) #define OP_SERVERMESSAGE 0x38 // <len 2><Message len> #define OP_CHAT_ROOM_REQUEST 0x39 // (deprecated not supported by server any longer) #define OP_CHAT_BROADCAST 0x3A // (deprecated not supported by server any longer) #define OP_CHAT_USER_JOIN 0x3B // (deprecated not supported by server any longer) #define OP_CHAT_USER_LEAVE 0x3C // (deprecated not supported by server any longer) #define OP_CHAT_USER 0x3D // (deprecated not supported by server any longer) #define OP_IDCHANGE 0x40 // <NEW_ID 4> #define OP_SERVERIDENT 0x41 // <HASH 16><IP 4><PORT 2>{1 TAG_SET} #define OP_FOUNDSOURCES 0x42 // <HASH 16><count 1>(<ID 4><PORT 2>)[count] #define OP_USERS_LIST 0x43 // <count 4>(<HASH 16><ID 4><PORT 2><1 Tag_set>)[count] //client <-> UDP server #define OP_GLOBSERVSTATREQ 0x96 // (null) #define OP_GLOBSERVSTATRES 0x97 // <USER 4><FILES 4> #define OP_GLOBSEARCHREQ 0x98 // <search_tree> #define OP_GLOBSEARCHRES 0x99 // #define OP_GLOBGETSOURCES 0x9A // <HASH 16> #define OP_GLOBFOUNDSORUCES 0x9B // #define OP_GLOBCALLBACKREQ 0x9C // <ID 4> #define OP_UNKNOWN1 0xA2 // #define OP_UNKNOWN2 0xA4 // // client <-> client #define OP_HELLO 0x01 // 0x10<HASH 16><ID 4><PORT 2><1 Tag_set> #define OP_SENDINGPART 0x46 // <HASH 16><von 4><bis 4><Daten len:(von-bis)> #define OP_REQUESTPARTS 0x47 // <HASH 16><von[3] 4*3><bis[3] 4*3> #define OP_FILEREQANSNOFIL 0x48 // <HASH 16> #define OP_END_OF_DOWNLOAD 0x49 // <HASH 16> #define OP_ASKSHAREDFILES 0x4A // (null) #define OP_ASKSHAREDFILESANSWER 0x4B // <count 4>(<HASH 16><ID 4><PORT 2><1 Tag_set>)[count] #define OP_HELLOANSWER 0x4C // <HASH 16><ID 4><PORT 2><1 Tag_set><SERVER_IP 4><SERVER_PORT 2> #define OP_CHANGE_CLIENT_ID 0x4D // <ID_old 4><ID_new 4> #define OP_MESSAGE 0x4E // <len 2><Message len> #define OP_SETREQFILEID 0x4F // <HASH 16> #define OP_FILESTATUS 0x50 // <HASH 16><count 2><status(bit array) len:((count+7)/8)> #define OP_HASHSETREQUEST 0x51 // <HASH 16> #define OP_HASHSETANSWER 0x52 // <count 2><HASH[count] 16*count> #define OP_STARTUPLOADREQ 0x54 // <HASH 16> #define OP_ACCEPTUPLOADREQ 0x55 // (null) #define OP_CANCELTRANSFER 0x56 // (null) #define OP_OUTOFPARTREQS 0x57 // (null) #define OP_FILEREQUEST 0x58 // <HASH 16> (more correctly file_name_request) #define OP_FILEREQANSWER 0x59 // <HASH 16><len 4><NAME len> #define OP_CHANGE_SLOT 0x5B // <HASH 16> #define OP_QUEUERANK 0x5C // <wert 4> (slot index of the request) // extened prot client <-> extened prot client #define OP_EMULEINFO 0x01 // #define OP_EMULEINFOANSWER 0x02 // #define OP_COMPRESSEDPART 0x40 // #define OP_QUEUERANKING 0x60 // <RANG 2> #define OP_FILEDESC 0x61 // <len 2><NAME len> #define OP_VERIFYUPSREQ 0x71 // (never used) #define OP_VERIFYUPSANSWER 0x72 // (never used) #define OP_UDPVERIFYUPREQ 0x73 // (never used) #define OP_UDPVERIFYUPA 0x74 // (never used) #define OP_REQUESTSOURCES 0x81 // <HASH 16> #define OP_ANSWERSOURCES 0x82 // // extened prot client <-> extened prot client UDP #define OP_REASKFILEPING 0x90 // <HASH 16> #define OP_REASKACK 0x91 // <HASH 16> #define OP_FILENOTFOUND 0x92 #define OP_QUEUEFULL 0x93 // server.met #define ST_SERVERNAME 0x01 // <string> #define ST_DESCRIPTION 0x0B // <string> #define ST_PING 0x0C // <int> #define ST_PREFERENCE 0x0E // <int> #define ST_FAIL 0x0D // <int> #define ST_DYNIP 0x85 #define ST_LASTPING 0x86 // <int> #define ST_MAXUSERS 0x87 //file tags #define FT_FILENAME 0x01 #define FT_FILESIZE 0x02 // <int> #define FT_FILETYPE 0x03 // <string> #define FT_FILEFORMAT 0x04 // <string> #define FT_LASTSEENCOMPLETE 0x05 #define FT_TRANSFERED 0x08 // <int> #define FT_GAPSTART 0x09 #define FT_GAPEND 0x0A #define FT_PARTFILENAME 0x12 // <string> #define FT_PRIORITY 0x13 #define FT_STATUS 0x14 #define FT_SOURCES 0x15 #define FT_PERMISSIONS 0x16 #define FT_ULPRIORITY 0x17 // statistic #define FT_ATTRANSFERED 0x50 #define FT_ATREQUESTED 0x51 #define FT_ATACCEPTED 0x52 #define CT_NAME 0x01 #define CT_VERSION 0x11 #define CT_PORT 0x0f #define MP_MESSAGE 10102 #define MP_DETAIL 10103 #define MP_ADDFRIEND 10104 #define MP_REMOVEFRIEND 10105 #define MP_SHOWLIST 10106 #define MP_FRIENDSLOT 10107 #define MP_CANCEL 10201 #define MP_STOP 10202 #define MP_RESUME 10204 #define MP_PAUSE 10203 #define MP_CLEARCOMPLETED 10205 #define MP_OPEN 10206 #define MP_PREVIEW 10207 //For comments #define MP_CMT 10208 #define MP_SWITCHCTRL 10401 #define MP_PRIOVERYLOW 10300 #define MP_PRIOLOW 10301 #define MP_PRIONORMAL 10302 #define MP_PRIOHIGH 10303 #define MP_PRIOVERYHIGH 10304 #define MP_PRIOAUTO 10317 #define MP_GETED2KLINK 10305 #define MP_GETHTMLED2KLINK 10306 #define MP_GETSOURCEED2KLINK 10299 #define MP_METINFO 10307 #define MP_PERMALL 10308 #define MP_PERMFRIENDS 10309 #define MP_PERMNONE 10310 #define MP_CONNECTTO 10311 #define MP_REMOVE 10312 #define MP_REMOVEALL 10313 #define MP_REMOVESELECTED 10314 #define MP_UNBAN 10315 #define MP_ADDTOSTATIC 10316 #define MP_CLCOMMAND 10317 #define MP_REMOVEFROMSTATIC 10400 #define MP_VIEWFILECOMMENTS 10401 #define MP_VERSIONCHECK 10402 #define MP_WEBURL 10500 // reserve some for weburls! #define Irc_Version "(SMIRCv00.61)" #define Irc_Op 10317 #define Irc_DeOp 10318 #define Irc_Voice 10319 #define Irc_DeVoice 10320 #define Irc_HalfOp 10321 #define Irc_DeHalfOp 10322 #define Irc_Kick 10323 #define Irc_Slap 10324 #define Irc_Join 10325 #define Irc_Close 10326 #define Irc_Priv 10327 #define Irc_AddFriend 10328 #define Irc_SendLink 10329 #define Irc_SetSendLink 10330 // emule tagnames #define ET_COMPRESSION 0x20 #define ET_UDPPORT 0x21 #define ET_UDPVER 0x22 #define ET_SOURCEEXCHANGE 0x23 #define ET_COMMENTS 0x24 #define ET_EXTENDEDREQUEST 0x25 #define ET_COMPATABLECLIENT 0x26 // emuleapp <-> emuleapp #define OP_ED2KLINK 12000 #define OP_CLCOMMAND 12001 //thread messages #define TM_FINISHEDHASHING (WM_APP+10) #define TM_HASHTHREADFINISHED (WM_APP+20) // quick-speed changer #define MP_QS_U10 10501 #define MP_QS_U20 10502 #define MP_QS_U30 10503 #define MP_QS_U40 10504 #define MP_QS_U50 10505 #define MP_QS_U60 10506 #define MP_QS_U70 10507 #define MP_QS_U80 10508 #define MP_QS_U90 10509 #define MP_QS_U100 10510 #define MP_QS_UPC 10511 #define MP_QS_UP10 10512 #define MP_QS_UPL 10513 #define MP_QS_D10 10521 #define MP_QS_D20 10522 #define MP_QS_D30 10523 #define MP_QS_D40 10524 #define MP_QS_D50 10525 #define MP_QS_D60 10526 #define MP_QS_D70 10527 #define MP_QS_D80 10528 #define MP_QS_D90 10529 #define MP_QS_D100 10530 #define MP_QS_DC 10531 #define MP_QS_DL 10532 #define MP_QS_PA 10533 #define MP_QS_UA 10534 // Maella => -small latency- #ifndef _DEBUG #define TIMER_PERIOD 50 // base period in [ms] (emule default is 100 [ms]) #else #define TIMER_PERIOD 200 // base period in [ms] (emule default is 100 [ms]) #endif #define DISPLAY_REFRESH 1 // GUI refresh rate in [s] (emule default is 3 [s]) #define OVERHEAD_SAMPLES (DISPLAY_REFRESH+1) // number of of samples used for average datarate (Sampling rate 1[Hz], average value for 2s) #define UPLOAD_SAMPLES (DISPLAY_REFRESH+1) // number of of samples used for average datarate (Sampling rate 1[Hz], average value for 2s) #define DOWNLOAD_SAMPLES (DISPLAY_REFRESH+1) // number of of samples used for average datarate (Sampling rate 1[Hz], average value for 2s) // Maella end