Upstream tarball 20080304
[amule.git] / src / include / protocol / ed2k / Client2Client / TCP.h
blobaecd2efac08b446547fb59e11dcb89029a8e4f4e
1 //
2 // This file is part of the aMule Project.
3 //
4 // Copyright (c) 2003-2008 aMule Team ( admin@amule.org / http://www.amule.org )
5 // Copyright (c) 2002 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.
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.
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
26 #ifndef ED2KC2CTCP_H
27 #define ED2KC2CTCP_H
29 // Client <-> Client
30 enum ED2KStandardClientTCP {
31 OP_HELLO = 0x01, // 0x10<HASH 16><ID 4><PORT 2><1 Tag_set>
32 OP_SENDINGPART = 0x46, // <HASH 16><von 4><bis 4><Daten len:(von-bis)>
33 OP_REQUESTPARTS = 0x47, // <HASH 16><von[3] 4*3><bis[3] 4*3>
34 OP_FILEREQANSNOFIL = 0x48, // <HASH 16>
35 OP_END_OF_DOWNLOAD = 0x49, // <HASH 16> // Unused for sending
36 OP_ASKSHAREDFILES = 0x4A, // (null)
37 OP_ASKSHAREDFILESANSWER = 0x4B, // <count 4>(<HASH 16><ID 4><PORT 2><1 Tag_set>)[count]
38 OP_HELLOANSWER = 0x4C, // <HASH 16><ID 4><PORT 2><1 Tag_set><SERVER_IP 4><SERVER_PORT 2>
39 OP_CHANGE_CLIENT_ID = 0x4D, // <ID_old 4><ID_new 4> // Unused for sending
40 OP_MESSAGE = 0x4E, // <len 2><Message len>
41 OP_SETREQFILEID = 0x4F, // <HASH 16>
42 OP_FILESTATUS = 0x50, // <HASH 16><count 2><status(bit array) len:((count+7)/8)>
43 OP_HASHSETREQUEST = 0x51, // <HASH 16>
44 OP_HASHSETANSWER = 0x52, // <count 2><HASH[count] 16*count>
45 OP_STARTUPLOADREQ = 0x54, // <HASH 16>
46 OP_ACCEPTUPLOADREQ = 0x55, // (null)
47 OP_CANCELTRANSFER = 0x56, // (null)
48 OP_OUTOFPARTREQS = 0x57, // (null)
49 OP_REQUESTFILENAME = 0x58, // <HASH 16> (more correctly file_name_request)
50 OP_REQFILENAMEANSWER = 0x59, // <HASH 16><len 4><NAME len>
51 OP_CHANGE_SLOT = 0x5B, // <HASH 16> // Not used for sending
52 OP_QUEUERANK = 0x5C, // <wert 4> (slot index of the request) // Not used for sending
53 OP_ASKSHAREDDIRS = 0x5D, // (null)
54 OP_ASKSHAREDFILESDIR = 0x5E, // <len 2><Directory len>
55 OP_ASKSHAREDDIRSANS = 0x5F, // <count 4>(<len 2><Directory len>)[count]
56 OP_ASKSHAREDFILESDIRANS = 0x60, // <len 2><Directory len><count 4>(<HASH 16><ID 4><PORT 2><1 T
57 OP_ASKSHAREDDENIEDANS = 0x61 // (null)
60 // Extended prot client <-> Extended prot client
61 enum ED2KExtendedClientTCP {
62 OP_EMULEINFO = 0x01, //
63 OP_EMULEINFOANSWER = 0x02, //
64 OP_COMPRESSEDPART = 0x40, //
65 OP_QUEUERANKING = 0x60, // <RANG 2>
66 OP_FILEDESC = 0x61, // <len 2><NAME len>
67 OP_VERIFYUPSREQ = 0x71, // (never used)
68 OP_VERIFYUPSANSWER = 0x72, // (never used)
69 OP_UDPVERIFYUPREQ = 0x73, // (never used)
70 OP_UDPVERIFYUPA = 0x74, // (never used)
71 OP_REQUESTSOURCES = 0x81, // <HASH 16>
72 OP_ANSWERSOURCES = 0x82, //
73 OP_REQUESTSOURCES2 = 0x83, // <HASH 16>
74 OP_ANSWERSOURCES2 = 0x84, //
75 OP_PUBLICKEY = 0x85, // <len 1><pubkey len>
76 OP_SIGNATURE = 0x86, // v1: <len 1><signature len>
77 // v2:<len 1><signature len><sigIPused 1>
78 OP_SECIDENTSTATE = 0x87, // <state 1><rndchallenge 4>
79 OP_REQUESTPREVIEW = 0x90, // <HASH 16> // Never used for sending on aMule
80 OP_PREVIEWANSWER = 0x91, // <HASH 16><frames 1>{frames * <len 4><frame len>} // Never used for sending on aMule
81 OP_MULTIPACKET = 0x92,
82 OP_MULTIPACKETANSWER = 0x93,
83 // OP_PEERCACHE_QUERY = 0x94, // Unused on aMule - no PeerCache
84 // OP_PEERCACHE_ANSWER = 0x95, // Unused on aMule - no PeerCache
85 // OP_PEERCACHE_ACK = 0x96, // Unused on aMule - no PeerCache
86 OP_PUBLICIP_REQ = 0x97,
87 OP_PUBLICIP_ANSWER = 0x98,
88 OP_CALLBACK = 0x99, // <HASH 16><HASH 16><uint 16>
89 OP_REASKCALLBACKTCP = 0x9A,
90 OP_AICHREQUEST = 0x9B, // <HASH 16><uint16><HASH aichhashlen>
91 OP_AICHANSWER = 0x9C, // <HASH 16><uint16><HASH aichhashlen> <data>
92 OP_AICHFILEHASHANS = 0x9D,
93 OP_AICHFILEHASHREQ = 0x9E,
94 OP_BUDDYPING = 0x9F,
95 OP_BUDDYPONG = 0xA0,
96 OP_COMPRESSEDPART_I64 = 0xA1, // <HASH 16><von 8><size 4><Data len:size>
97 OP_SENDINGPART_I64 = 0xA2, // <HASH 16><start 8><end 8><Data len:(end-start)>
98 OP_REQUESTPARTS_I64 = 0xA3, // <HASH 16><start[3] 8*3><end[3] 8*3>
99 OP_MULTIPACKET_EXT = 0xA4
102 #endif // ED2KC2CTCP_H