Wireshark
4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
epan
dissectors
packet-edonkey.h
1
/* packet-edonkey.h
2
* Declarations for edonkey dissection
3
* Copyright 2003, Xuan Zhang <
[email protected]
>
4
* Copyright 2007, Stefano Picerno <
[email protected]
>
5
* Copyright 2008, Stefan Monhof <
[email protected]
>
6
*
7
* eDonkey dissector based on protocol descriptions from mldonkey:
8
* http://savannah.nongnu.org/download/mldonkey/docs/Edonkey-Overnet/edonkey-protocol.txt
9
* http://savannah.nongnu.org/download/mldonkey/docs/Edonkey-Overnet/overnet-protocol.txt
10
*
11
* Kademlia dissector based on source code inspection of aMule 2.1.3 and eMule 0.48a
12
* Modified and added on the basis of information and names from the eMule 0.49a source code
13
*
14
* Wireshark - Network traffic analyzer
15
* By Gerald Combs <
[email protected]
>
16
* Copyright 1998 Gerald Combs
17
*
18
* SPDX-License-Identifier: GPL-2.0-or-later
19
*/
20
21
void
proto_register_edonkey(
void
);
22
23
#define EDONKEY_MAX_SNAP_SIZE 1500
24
#define EDONKEY_TCP_HEADER_LENGTH 5
25
#define EDONKEY_UDP_HEADER_LENGTH 2
26
27
/* Definitions for EDONKEY protocols */
28
#define EDONKEY_PROTO_EDONKEY 0xe3
/* eDonkey */
29
#define EDONKEY_PROTO_EMULE_EXT 0xc5
/* eMule extensions */
30
#define EDONKEY_PROTO_EMULE_COMP 0xd4
/* eMule compressed (data is zlib compressed) */
31
32
/* Definitions for EDONKEY messages */
33
/* EDONKEY TCP MESSAGES */
34
/* Client <-> Server */
35
#define EDONKEY_MSG_HELLO 0x01
36
#define EDONKEY_MSG_BAD_PROTO 0x05
37
#define EDONKEY_MSG_GET_SERVER_LIST 0x14
38
#define EDONKEY_MSG_OFFER_FILES 0x15
39
#define EDONKEY_MSG_SEARCH_FILES 0x16
40
#define EDONKEY_MSG_DISCONNECT 0x18
41
#define EDONKEY_MSG_GET_SOURCES 0x19
42
#define EDONKEY_MSG_SEARCH_USER 0x1a
43
/* define EDONKEY_MSG_UNKNOWN 0x1b */
44
#define EDONKEY_MSG_CLIENT_CB_REQ 0x1c
45
/* define EDONKEY_MSG_UNKNOWN 0x20 */
46
#define EDONKEY_MSG_MORE_RESULTS 0x21
47
#define EDONKEY_MSG_GET_SOURCES_OBFU 0x23
48
#define EDONKEY_MSG_SERVER_LIST 0x32
49
#define EDONKEY_MSG_SEARCH_FILE_RESULTS 0x33
50
#define EDONKEY_MSG_SERVER_STATUS 0x34
51
#define EDONKEY_MSG_SERVER_CB_REQ 0x35
52
#define EDONKEY_MSG_CALLBACK_FAIL 0x36
53
#define EDONKEY_MSG_SERVER_MESSAGE 0x38
54
#define EDONKEY_MSG_ID_CHANGE 0x40
55
#define EDONKEY_MSG_SERVER_INFO_DATA 0x41
56
#define EDONKEY_MSG_FOUND_SOURCES 0x42
57
#define EDONKEY_MSG_SEARCH_USER_RESULTS 0x43
58
#define EDONKEY_MSG_FOUND_SOURCES_OBFU 0x44
59
60
/* Client <-> Client */
61
#define EDONKEY_MSG_HELLO_CLIENT 0x10
/* 0x01 0x10 */
62
#define EDONKEY_MSG_SENDING_PART 0x46
63
#define EDONKEY_MSG_REQUEST_PARTS 0x47
64
#define EDONKEY_MSG_NO_SUCH_FILE 0x48
65
#define EDONKEY_MSG_END_OF_DOWNLOAD 0x49
66
#define EDONKEY_MSG_VIEW_FILES 0x4a
67
#define EDONKEY_MSG_VIEW_FILES_ANSWER 0x4b
68
#define EDONKEY_MSG_HELLO_ANSWER 0x4c
69
#define EDONKEY_MSG_NEW_CLIENT_ID 0x4d
70
#define EDONKEY_MSG_CLIENT_MESSAGE 0x4e
71
#define EDONKEY_MSG_FILE_STATUS_REQUEST 0x4f
72
#define EDONKEY_MSG_FILE_STATUS 0x50
73
#define EDONKEY_MSG_HASHSET_REQUEST 0x51
74
#define EDONKEY_MSG_HASHSET_ANSWER 0x52
75
/*#define EDONKEY_MSG_UNKNOWN 0x53 */
76
#define EDONKEY_MSG_SLOT_REQUEST 0x54
77
#define EDONKEY_MSG_SLOT_GIVEN 0x55
78
#define EDONKEY_MSG_SLOT_RELEASE 0x56
79
#define EDONKEY_MSG_SLOT_TAKEN 0x57
80
#define EDONKEY_MSG_FILE_REQUEST 0x58
81
#define EDONKEY_MSG_FILE_REQUEST_ANSWER 0x59
82
/*#define EDONKEY_MSG_UNKNOWN 0x5b*/
83
#define EDONKEY_MSG_GET_SHARED_DIRS 0x5d
84
#define EDONKEY_MSG_GET_SHARED_FILES 0x5e
85
#define EDONKEY_MSG_SHARED_DIRS 0x5f
86
#define EDONKEY_MSG_SHARED_FILES 0x60
87
#define EDONKEY_MSG_SHARED_DENIED 0x61
88
89
/* OVERNET EXTENSIONS */
90
/*#define OVERNET_MSG_UNKNOWN 0x62*/
91
/*#define OVERNET_MSG_UNKNOWN 0x63*/
92
93
/* EMULE EXTENSIONS */
94
#define EMULE_MSG_HELLO 0x01
95
#define EMULE_MSG_HELLO_ANSWER 0x02
96
#define EMULE_MSG_DATA_COMPRESSED 0x40
97
#define EMULE_MSG_QUEUE_RANKING 0x60
98
#define EMULE_MSG_FILE_DESC 0x61
99
#define EMULE_MSG_SOURCES_REQUEST 0x81
100
#define EMULE_MSG_SOURCES_ANSWER 0x82
101
#define EMULE_MSG_PUBLIC_KEY 0x85
102
#define EMULE_MSG_SIGNATURE 0x86
103
#define EMULE_MSG_SEC_IDENT_STATE 0x87
104
#define EMULE_MSG_MULTIPACKET 0x92
105
#define EMULE_MSG_MULTIPACKET_ANSWER 0x93
106
#define EMULE_MSG_CALLBACK 0x99
107
#define EMULE_MSG_AICH_REQUEST 0x9b
108
#define EMULE_MSG_AICH_ANSWER 0x9c
109
#define EMULE_MSG_AICHFILEHASH_ANSWER 0x9d
110
#define EMULE_MSG_AICHFILEHASH_REQUEST 0x9e
111
#define EMULE_MSG_DATA_COMPRESSED_64 0xa1
112
#define EMULE_MSG_SENDING_PART_64 0xa2
113
#define EMULE_MSG_REQUEST_PARTS_64 0xa3
114
#define EMULE_MSG_MULTIPACKET_EXT 0xa4
115
116
/* EDONKEY UDP MESSAGES */
117
#define EDONKEY_MSG_UDP_SERVER_STATUS_REQUEST 0x96
118
#define EDONKEY_MSG_UDP_SERVER_STATUS 0x97
119
#define EDONKEY_MSG_UDP_SEARCH_FILE 0x98
120
#define EDONKEY_MSG_UDP_SEARCH_FILE_RESULTS 0x99
121
#define EDONKEY_MSG_UDP_GET_SOURCES 0x9a
122
#define EDONKEY_MSG_UDP_FOUND_SOURCES 0x9b
123
#define EDONKEY_MSG_UDP_CALLBACK_REQUEST 0x9c
124
#define EDONKEY_MSG_UDP_CALLBACK_FAIL 0x9e
125
/* #define EDONKEY_MSG_UDP_UNKNOWN 0xa0 */
126
#define EDONKEY_MSG_UDP_SERVER_LIST 0xa1
127
#define EDONKEY_MSG_UDP_GET_SERVER_INFO 0xa2
128
#define EDONKEY_MSG_UDP_SERVER_INFO 0xa3
129
#define EDONKEY_MSG_UDP_GET_SERVER_LIST 0xa4
130
131
/* EMULE UDP EXTENSIONS */
132
#define EMULE_MSG_UDP_REASKFILEPING 0x90
133
#define EMULE_MSG_UDP_REASKACK 0x91
134
#define EMULE_MSG_UDP_FILE_NOT_FOUND 0x92
135
#define EMULE_MSG_UDP_QUEUE_FULL 0x93
136
137
/* OVERNET UDP EXTENSIONS */
138
#define OVERNET_MSG_UDP_CONNECT 0x0a
139
#define OVERNET_MSG_UDP_CONNECT_REPLY 0x0b
140
#define OVERNET_MSG_UDP_PUBLICIZE 0x0c
141
#define OVERNET_MSG_UDP_PUBLICIZE_ACK 0x0d
142
#define OVERNET_MSG_UDP_SEARCH 0x0e
143
#define OVERNET_MSG_UDP_SEARCH_NEXT 0x0f
144
#define OVERNET_MSG_UDP_SEARCH_INFO 0x10
145
#define OVERNET_MSG_UDP_SEARCH_RESULT 0x11
146
#define OVERNET_MSG_UDP_SEARCH_END 0x12
147
#define OVERNET_MSG_UDP_PUBLISH 0x13
148
#define OVERNET_MSG_UDP_PUBLISH_ACK 0x14
149
#define OVERNET_MSG_UDP_IDENTIFY_REPLY 0x15
150
#define OVERNET_MSG_UDP_IDENTIFY_ACK 0x16
151
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION 0x18
152
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION_ACK 0x19
153
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION_NACK 0x1a
154
#define OVERNET_MSG_UDP_IP_QUERY 0x1b
155
#define OVERNET_MSG_UDP_IP_QUERY_ANSWER 0x1c
156
#define OVERNET_MSG_UDP_IP_QUERY_END 0x1d
157
#define OVERNET_MSG_UDP_IDENTIFY 0x1e
158
/*#define OVERNET_MSG_UDP_UNKNOWN 0x21 */
159
160
/* EDONKEY META TAG TYPES */
161
#define EDONKEY_MTAG_UNKNOWN 0x00
162
#define EDONKEY_MTAG_HASH 0x01
163
#define EDONKEY_MTAG_STRING 0x02
164
#define EDONKEY_MTAG_DWORD 0x03
165
#define EDONKEY_MTAG_FLOAT 0x04
166
#define EDONKEY_MTAG_BOOL 0x05
167
#define EDONKEY_MTAG_BOOL_ARRAY 0x06
168
#define EDONKEY_MTAG_BLOB 0x07
169
#define EDONKEY_MTAG_WORD 0x08
170
#define EDONKEY_MTAG_BYTE 0x09
171
#define EDONKEY_MTAG_BSOB 0x0a
172
#define EDONKEY_MTAG_STR1 0x11
173
#define EDONKEY_MTAG_STR16 0x20
174
#define EDONKEY_MTAG_SHORTNAME 0x80
175
176
/* EDONKEY SPECIAL TAGS */
177
#define EDONKEY_STAG_UNKNOWN 0x00
178
#define EDONKEY_STAG_NAME 0x01
179
#define EDONKEY_STAG_SIZE 0x02
180
#define EDONKEY_STAG_TYPE 0x03
181
#define EDONKEY_STAG_FORMAT 0x04
182
#define EDONKEY_STAG_COLLECTION 0x05
183
#define EDONKEY_STAG_PART_PATH 0x06
184
#define EDONKEY_STAG_PART_HASH 0x07
185
#define EDONKEY_STAG_COPIED 0x08
186
#define EDONKEY_STAG_GAP_START 0x09
187
#define EDONKEY_STAG_GAP_END 0x0a
188
#define EDONKEY_STAG_DESCRIPTION 0x0b
189
#define EDONKEY_STAG_PING 0x0c
190
#define EDONKEY_STAG_FAIL 0x0d
191
#define EDONKEY_STAG_PREFERENCE 0x0e
192
#define EDONKEY_STAG_PORT 0x0f
193
#define EDONKEY_STAG_IP 0x10
194
#define EDONKEY_STAG_VERSION 0x11
195
#define EDONKEY_STAG_TEMPFILE 0x12
196
#define EDONKEY_STAG_PRIORITY 0x13
197
#define EDONKEY_STAG_STATUS 0x14
198
#define EDONKEY_STAG_AVAILABILITY 0x15
199
#define EDONKEY_STAG_QTIME 0x16
200
#define EDONKEY_STAG_PARTS 0x17
201
#define EDONKEY_STAG_MOD_VERSION 0x55
202
203
/* EMULE SPECIAL TAGS */
204
#define EMULE_STAG_COMPRESSION 0x20
205
#define EMULE_STAG_UDP_CLIENT_PORT 0x21
206
#define EMULE_STAG_UDP_VERSION 0x22
207
#define EMULE_STAG_SOURCE_EXCHANGE 0x23
208
#define EMULE_STAG_COMMENTS 0x24
209
#define EMULE_STAG_EXTENDED_REQUEST 0x25
210
#define EMULE_STAG_COMPATIBLE_CLIENT 0x26
211
#define EMULE_STAG_COMPLETE_SOURCES 0x30
212
#define EMULE_STAG_SIZE_HI 0x3a
213
#define EMULE_STAG_SERVER_VERSION 0x91
214
#define EMULE_STAG_COMPAT_OPTIONS1 0xef
215
#define EMULE_STAG_UDPPORTS 0xf9
216
#define EMULE_STAG_MISCOPTIONS1 0xfa
217
#define EMULE_STAG_VERSION 0xfb
218
#define EMULE_STAG_BUDDYIP 0xfc
219
#define EMULE_STAG_BUDDYUDP 0xfd
220
#define EMULE_STAG_MISCOPTIONS2 0xfe
221
222
/* EDONKEY SEARCH TYPES */
223
#define EDONKEY_SEARCH_BOOL 0x00
224
#define EDONKEY_SEARCH_NAME 0x01
225
#define EDONKEY_SEARCH_META 0x02
226
#define EDONKEY_SEARCH_LIMIT 0x03
227
228
/* EDONKEY SEARCH OPERATORS */
229
#define EDONKEY_SEARCH_AND 0x00
230
#define EDONKEY_SEARCH_OR 0x01
231
#define EDONKEY_SEARCH_ANDNOT 0x02
232
233
/* EDONKEY SEARCH MIN/MAX */
234
#define EDONKEY_SEARCH_MIN 0x01
235
#define EDONKEY_SEARCH_MAX 0x02
236
237
/* KADEMLIA TAGS */
238
#define KADEMLIA_TAGTYPE_HASH 0x01
239
#define KADEMLIA_TAGTYPE_STRING 0x02
240
#define KADEMLIA_TAGTYPE_UINT32 0x03
241
#define KADEMLIA_TAGTYPE_FLOAT32 0x04
242
#define KADEMLIA_TAGTYPE_BOOL 0x05
243
#define KADEMLIA_TAGTYPE_BOOLARRAY 0x06
244
#define KADEMLIA_TAGTYPE_BLOB 0x07
245
#define KADEMLIA_TAGTYPE_UINT16 0x08
246
#define KADEMLIA_TAGTYPE_UINT8 0x09
247
#define KADEMLIA_TAGTYPE_BSOB 0x0A
248
#define KADEMLIA_TAGTYPE_UINT64 0x0B
249
250
#define KADEMLIA_TAGTYPE_STR1 0x11
251
#define KADEMLIA_TAGTYPE_STR2 0x12
252
#define KADEMLIA_TAGTYPE_STR3 0x13
253
#define KADEMLIA_TAGTYPE_STR4 0x14
254
#define KADEMLIA_TAGTYPE_STR5 0x15
255
#define KADEMLIA_TAGTYPE_STR6 0x16
256
#define KADEMLIA_TAGTYPE_STR7 0x17
257
#define KADEMLIA_TAGTYPE_STR8 0x18
258
#define KADEMLIA_TAGTYPE_STR9 0x19
259
#define KADEMLIA_TAGTYPE_STR10 0x1A
260
#define KADEMLIA_TAGTYPE_STR11 0x1B
261
#define KADEMLIA_TAGTYPE_STR12 0x1C
262
#define KADEMLIA_TAGTYPE_STR13 0x1D
263
#define KADEMLIA_TAGTYPE_STR14 0x1E
264
#define KADEMLIA_TAGTYPE_STR15 0x1F
265
#define KADEMLIA_TAGTYPE_STR16 0x20
266
#define KADEMLIA_TAGTYPE_STR17 0x21
267
#define KADEMLIA_TAGTYPE_STR18 0x22
268
#define KADEMLIA_TAGTYPE_STR19 0x23
269
#define KADEMLIA_TAGTYPE_STR20 0x24
270
#define KADEMLIA_TAGTYPE_STR21 0x25
271
#define KADEMLIA_TAGTYPE_STR22 0x26
272
273
#define KADEMLIA_TAG_MEDIA_ARTIST 0xD0
/* <string> */
274
#define KADEMLIA_TAG_MEDIA_ALBUM 0xD1
/* <string> */
275
#define KADEMLIA_TAG_MEDIA_TITLE 0xD2
/* <string> */
276
#define KADEMLIA_TAG_MEDIA_LENGTH 0xD3
/* <uint32> !!! */
277
#define KADEMLIA_TAG_MEDIA_BITRATE 0xD4
/* <uint32> */
278
#define KADEMLIA_TAG_MEDIA_CODEC 0xD5
/* <string> */
279
#define KADEMLIA_TAG_USER_COUNT 0xF4
/* <uint32> */
280
#define KADEMLIA_TAG_FILE_COUNT 0xF5
/* <uint32> */
281
#define KADEMLIA_TAG_FILECOMMENT 0xF6
/* <string> */
282
#define KADEMLIA_TAG_FILERATING 0xF7
/* <uint8> */
283
#define KADEMLIA_TAG_BUDDYHASH 0xF8
/* <string> */
284
#define KADEMLIA_TAG_CLIENTLOWID 0xF9
/* <uint32> */
285
#define KADEMLIA_TAG_SERVERPORT 0xFA
/* <uint16> */
286
#define KADEMLIA_TAG_SERVERIP 0xFB
/* <uint32> */
287
#define KADEMLIA_TAG_SOURCEUPORT 0xFC
/* <uint16> */
288
#define KADEMLIA_TAG_SOURCEPORT 0xFD
/* <uint16> */
289
#define KADEMLIA_TAG_SOURCEIP 0xFE
/* <uint32> */
290
#define KADEMLIA_TAG_SOURCETYPE 0xFF
/* <uint8> */
291
292
#define EDONKEY_PROTO_ADU_KADEMLIA 0xA4
293
#define EDONKEY_PROTO_ADU_KADEMLIA_COMP 0xA5
294
295
#define EDONKEY_PROTO_KADEMLIA 0xE4
296
#define EDONKEY_PROTO_KADEMLIA_COMP 0xE5
297
298
/* KADEMLIA (opcodes) (udp) */
299
#define KADEMLIA_BOOTSTRAP_REQ 0x00
/* <PEER (sender) [25]> */
300
#define KADEMLIA2_BOOTSTRAP_REQ 0x01
/* */
301
302
#define KADEMLIA_BOOTSTRAP_RES 0x08
/* <CNT [2]> <PEER [25]>*(CNT) */
303
#define KADEMLIA2_BOOTSTRAP_RES 0x09
/* */
304
305
#define KADEMLIA_HELLO_REQ 0x10
/* <PEER (sender) [25]> */
306
#define KADEMLIA2_HELLO_REQ 0x11
/* */
307
308
#define KADEMLIA_HELLO_RES 0x18
/* <PEER (receiver) [25]> */
309
#define KADEMLIA2_HELLO_RES 0x19
/* */
310
311
#define KADEMLIA_REQ 0x20
/* <TYPE [1]> <HASH (target) [16]> <HASH (receiver) 16> */
312
#define KADEMLIA2_REQ 0x21
/* */
313
314
#define KADEMLIA_RES 0x28
/* <HASH (target) [16]> <CNT> <PEER [25]>*(CNT) */
315
#define KADEMLIA2_RES 0x29
/* */
316
317
#define KADEMLIA_SEARCH_REQ 0x30
/* <HASH (key) [16]> <ext 0/1 [1]> <SEARCH_TREE>[ext] */
318
/*#define UNUSED 0x31 Old Opcode, don't use. */
319
#define KADEMLIA_SEARCH_NOTES_REQ 0x32
/* <HASH (key) [16]> */
320
#define KADEMLIA2_SEARCH_KEY_REQ 0x33
/* */
321
#define KADEMLIA2_SEARCH_SOURCE_REQ 0x34
/* */
322
#define KADEMLIA2_SEARCH_NOTES_REQ 0x35
/* */
323
324
#define KADEMLIA_SEARCH_RES 0x38
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
325
/*#define UNUSED 0x39 Old Opcode, don't use. */
326
#define KADEMLIA_SEARCH_NOTES_RES 0x3A
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
327
#define KADEMLIA2_SEARCH_RES 0x3B
/* */
328
329
#define KADEMLIA_PUBLISH_REQ 0x40
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
330
/*#define UNUSED 0x41 Old Opcode, don't use. */
331
#define KADEMLIA_PUBLISH_NOTES_REQ 0x42
/* <HASH (key) [16]> <HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
332
#define KADEMLIA2_PUBLISH_KEY_REQ 0x43
/* */
333
#define KADEMLIA2_PUBLISH_SOURCE_REQ 0x44
/* */
334
#define KADEMLIA2_PUBLISH_NOTES_REQ 0x45
/* */
335
336
#define KADEMLIA_PUBLISH_RES 0x48
/* <HASH (key) [16]> */
337
/*#define UNUSED 0x49 Old Opcode, don't use. */
338
#define KADEMLIA_PUBLISH_NOTES_RES 0x4A
/* <HASH (key) [16]> */
339
#define KADEMLIA2_PUBLISH_RES 0x4B
/* */
340
341
#define KADEMLIA_FIREWALLED_REQ 0x50
/* <TCPPORT (sender) [2]> */
342
#define KADEMLIA_FINDBUDDY_REQ 0x51
/* <TCPPORT (sender) [2]> */
343
#define KADEMLIA_CALLBACK_REQ 0x52
/* <TCPPORT (sender) [2]> */
344
345
#define KADEMLIA_FIREWALLED_RES 0x58
/* <IP (sender) [4]> */
346
#define KADEMLIA_FIREWALLED_ACK_RES 0x59
/* (null) */
347
#define KADEMLIA_FINDBUDDY_RES 0x5A
/* <TCPPORT (sender) [2]> */
348
349
/* KADEMLIA (parameter) */
350
#define KADEMLIA_FIND_VALUE 0x02
351
#define KADEMLIA_STORE 0x04
352
#define KADEMLIA_FIND_NODE 0x0B
353
354
/* Kad search + some unused tags to mirror the ed2k ones. */
355
#define KADEMLIA_TAG_FILENAME 0x01
/* <string> */
356
#define KADEMLIA_TAG_FILESIZE 0x02
/* <uint32> */
357
#define KADEMLIA_TAG_FILESIZE_HI 0x3A
/* <uint32> */
358
#define KADEMLIA_TAG_FILETYPE 0x03
/* <string> */
359
#define KADEMLIA_TAG_FILEFORMAT 0x04
/* <string> */
360
#define KADEMLIA_TAG_COLLECTION 0x05
361
#define KADEMLIA_TAG_PART_PATH 0x06
/* <string> */
362
#define KADEMLIA_TAG_PART_HASH 0x07
363
#define KADEMLIA_TAG_COPIED 0x08
/* <uint32> */
364
#define KADEMLIA_TAG_GAP_START 0x09
/* <uint32> */
365
#define KADEMLIA_TAG_GAP_END 0x0A
/* <uint32> */
366
#define KADEMLIA_TAG_DESCRIPTION 0x0B
/* <string> */
367
#define KADEMLIA_TAG_PING 0x0C
368
#define KADEMLIA_TAG_FAIL 0x0D
369
#define KADEMLIA_TAG_PREFERENCE 0x0E
370
#define KADEMLIA_TAG_PORT 0x0F
371
#define KADEMLIA_TAG_IP_ADDRESS 0x10
372
#define KADEMLIA_TAG_VERSION 0x11
/* <string> */
373
#define KADEMLIA_TAG_TEMPFILE 0x12
/* <string> */
374
#define KADEMLIA_TAG_PRIORITY 0x13
/* <uint32> */
375
#define KADEMLIA_TAG_STATUS 0x14
/* <uint32> */
376
#define KADEMLIA_TAG_SOURCES 0x15
/* <uint32> */
377
#define KADEMLIA_TAG_PERMISSIONS 0x16
378
#define KADEMLIA_TAG_QTIME 0x16
379
#define KADEMLIA_TAG_PARTS 0x17
380
#define KADEMLIA_TAG_MEDIA_ARTIST 0xD0
/* <string> */
381
#define KADEMLIA_TAG_MEDIA_ALBUM 0xD1
/* <string> */
382
#define KADEMLIA_TAG_MEDIA_TITLE 0xD2
/* <string> */
383
#define KADEMLIA_TAG_MEDIA_LENGTH 0xD3
/* <uint32> !!! */
384
#define KADEMLIA_TAG_MEDIA_BITRATE 0xD4
/* <uint32> */
385
#define KADEMLIA_TAG_MEDIA_CODEC 0xD5
/* <string> */
386
#define KADEMLIA_TAG_ENCRYPTION 0xF3
/* <uint8> */
387
#define KADEMLIA_TAG_FILERATING 0xF7
/* <uint8> */
388
#define KADEMLIA_TAG_BUDDYHASH 0xF8
/* <string> */
389
#define KADEMLIA_TAG_CLIENTLOWID 0xF9
/* <uint32> */
390
#define KADEMLIA_TAG_SERVERPORT 0xFA
/* <uint16> */
391
#define KADEMLIA_TAG_SERVERIP 0xFB
/* <uint32> */
392
#define KADEMLIA_TAG_SOURCEUPORT 0xFC
/* <uint16> */
393
#define KADEMLIA_TAG_SOURCEPORT 0xFD
/* <uint16> */
394
#define KADEMLIA_TAG_SOURCEIP 0xFE
/* <uint32> */
395
#define KADEMLIA_TAG_SOURCETYPE 0xFF
/* <uint8> */
396
397
/* KADEMLIA (version) */
398
#define KADEMLIA_VERSION1_46c 0x01
/*45b - 46c*/
399
#define KADEMLIA_VERSION2_47a 0x02
/*47a*/
400
#define KADEMLIA_VERSION3_47b 0x03
/*47b*/
401
#define KADEMLIA_VERSION5_48a 0x05
/* -0.48a */
402
#define KADEMLIA_VERSION6_49aBETA 0x06
/* -0.49aBETA1 */
403
#define KADEMLIA_VERSION7_49a 0x07
/* -0.49a */
Generated by
1.9.8