Difference Analysis Generated by HtmlDiff on 01.03.2003 16:52  

Base file: eMule0.26d.Maella.v2.0.beta6\src\opcodes.h

Modified file: vampirev1esrc\src\opcodes.h

//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