2 // This file is part of the aMule Project.
4 // Copyright (c) 2004-2008 aMule Team ( admin@amule.org / http://www.amule.org )
6 // Any parts of this program derived from the xMule, lMule or eMule project,
7 // or contributed by third-party developers are copyrighted by their
10 // This program is free software; you can redistribute it and/or modify
11 // it under the terms of the GNU General Public License as published by
12 // the Free Software Foundation; either version 2 of the License, or
13 // (at your option) any later version.
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with this program; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 // EC codes and type definition.
30 typedef uint8_t ec_opcode_t
;
31 typedef uint16_t ec_tagname_t
;
32 typedef uint8_t ec_tagtype_t
;
33 typedef uint32_t ec_taglen_t
;
35 enum ProtocolVersion
{
36 EC_CURRENT_PROTOCOL_VERSION
= 0x0203
40 EC_FLAG_ZLIB
= 0x00000001,
41 EC_FLAG_UTF8_NUMBERS
= 0x00000002,
42 EC_FLAG_UNKNOWN_MASK
= 0xff7f7f08
47 EC_OP_AUTH_REQ
= 0x02,
48 EC_OP_AUTH_FAIL
= 0x03,
52 EC_OP_MISC_DATA
= 0x07,
53 EC_OP_SHUTDOWN
= 0x08,
54 EC_OP_ADD_LINK
= 0x09,
55 EC_OP_STAT_REQ
= 0x0A,
56 EC_OP_GET_CONNSTATE
= 0x0B,
58 EC_OP_GET_DLOAD_QUEUE
= 0x0D,
59 EC_OP_GET_ULOAD_QUEUE
= 0x0E,
60 EC_OP_GET_SHARED_FILES
= 0x10,
61 EC_OP_SHARED_SET_PRIO
= 0x11,
62 EC_OP_PARTFILE_REMOVE_NO_NEEDED
= 0x12,
63 EC_OP_PARTFILE_REMOVE_FULL_QUEUE
= 0x13,
64 EC_OP_PARTFILE_REMOVE_HIGH_QUEUE
= 0x14,
65 EC_OP_PARTFILE_UNUSED
= 0x15,
66 EC_OP_PARTFILE_SWAP_A4AF_THIS
= 0x16,
67 EC_OP_PARTFILE_SWAP_A4AF_THIS_AUTO
= 0x17,
68 EC_OP_PARTFILE_SWAP_A4AF_OTHERS
= 0x18,
69 EC_OP_PARTFILE_PAUSE
= 0x19,
70 EC_OP_PARTFILE_RESUME
= 0x1A,
71 EC_OP_PARTFILE_STOP
= 0x1B,
72 EC_OP_PARTFILE_PRIO_SET
= 0x1C,
73 EC_OP_PARTFILE_DELETE
= 0x1D,
74 EC_OP_PARTFILE_SET_CAT
= 0x1E,
75 EC_OP_DLOAD_QUEUE
= 0x1F,
76 EC_OP_ULOAD_QUEUE
= 0x20,
77 EC_OP_SHARED_FILES
= 0x22,
78 EC_OP_SHAREDFILES_RELOAD
= 0x23,
79 EC_OP_SHAREDFILES_ADD_DIRECTORY
= 0x24,
80 EC_OP_RENAME_FILE
= 0x25,
81 EC_OP_SEARCH_START
= 0x26,
82 EC_OP_SEARCH_STOP
= 0x27,
83 EC_OP_SEARCH_RESULTS
= 0x28,
84 EC_OP_SEARCH_PROGRESS
= 0x29,
85 EC_OP_DOWNLOAD_SEARCH_RESULT
= 0x2A,
86 EC_OP_IPFILTER_RELOAD
= 0x2B,
87 EC_OP_GET_SERVER_LIST
= 0x2C,
88 EC_OP_SERVER_LIST
= 0x2D,
89 EC_OP_SERVER_DISCONNECT
= 0x2E,
90 EC_OP_SERVER_CONNECT
= 0x2F,
91 EC_OP_SERVER_REMOVE
= 0x30,
92 EC_OP_SERVER_ADD
= 0x31,
93 EC_OP_SERVER_UPDATE_FROM_URL
= 0x32,
94 EC_OP_ADDLOGLINE
= 0x33,
95 EC_OP_ADDDEBUGLOGLINE
= 0x34,
97 EC_OP_GET_DEBUGLOG
= 0x36,
98 EC_OP_GET_SERVERINFO
= 0x37,
100 EC_OP_DEBUGLOG
= 0x39,
101 EC_OP_SERVERINFO
= 0x3A,
102 EC_OP_RESET_LOG
= 0x3B,
103 EC_OP_RESET_DEBUGLOG
= 0x3C,
104 EC_OP_CLEAR_SERVERINFO
= 0x3D,
105 EC_OP_GET_LAST_LOG_ENTRY
= 0x3E,
106 EC_OP_GET_PREFERENCES
= 0x3F,
107 EC_OP_SET_PREFERENCES
= 0x40,
108 EC_OP_CREATE_CATEGORY
= 0x41,
109 EC_OP_UPDATE_CATEGORY
= 0x42,
110 EC_OP_DELETE_CATEGORY
= 0x43,
111 EC_OP_GET_STATSGRAPHS
= 0x44,
112 EC_OP_STATSGRAPHS
= 0x45,
113 EC_OP_GET_STATSTREE
= 0x46,
114 EC_OP_STATSTREE
= 0x47,
115 EC_OP_KAD_START
= 0x48,
116 EC_OP_KAD_STOP
= 0x49,
117 EC_OP_CONNECT
= 0x4A,
118 EC_OP_DISCONNECT
= 0x4B,
119 EC_OP_KAD_UPDATE_FROM_URL
= 0x4D,
120 EC_OP_KAD_BOOTSTRAP_FROM_IP
= 0x4E,
121 EC_OP_AUTH_SALT
= 0x4F,
122 EC_OP_AUTH_PASSWD
= 0x50,
123 EC_OP_IPFILTER_UPDATE
= 0x51,
124 EC_OP_GET_UPDATE
= 0x52,
125 EC_OP_CLEAR_COMPLETED
= 0x53,
126 EC_OP_CLIENT_SWAP_TO_ANOTHER_FILE
= 0x54,
127 EC_OP_SHARED_FILE_SET_COMMENT
= 0x55,
128 EC_OP_SERVER_SET_STATIC_PRIO
= 0x56
132 EC_TAG_STRING
= 0x0000,
133 EC_TAG_PASSWD_HASH
= 0x0001,
134 EC_TAG_PROTOCOL_VERSION
= 0x0002,
135 EC_TAG_VERSION_ID
= 0x0003,
136 EC_TAG_DETAIL_LEVEL
= 0x0004,
137 EC_TAG_CONNSTATE
= 0x0005,
138 EC_TAG_ED2K_ID
= 0x0006,
139 EC_TAG_LOG_TO_STATUS
= 0x0007,
140 EC_TAG_BOOTSTRAP_IP
= 0x0008,
141 EC_TAG_BOOTSTRAP_PORT
= 0x0009,
142 EC_TAG_CLIENT_ID
= 0x000A,
143 EC_TAG_PASSWD_SALT
= 0x000B,
144 EC_TAG_CAN_ZLIB
= 0x000C,
145 EC_TAG_CAN_UTF8_NUMBERS
= 0x000D,
146 EC_TAG_CAN_NOTIFY
= 0x000E,
147 EC_TAG_ECID
= 0x000F,
148 EC_TAG_CLIENT_NAME
= 0x0100,
149 EC_TAG_CLIENT_VERSION
= 0x0101,
150 EC_TAG_CLIENT_MOD
= 0x0102,
151 EC_TAG_STATS_UL_SPEED
= 0x0200,
152 EC_TAG_STATS_DL_SPEED
= 0x0201,
153 EC_TAG_STATS_UL_SPEED_LIMIT
= 0x0202,
154 EC_TAG_STATS_DL_SPEED_LIMIT
= 0x0203,
155 EC_TAG_STATS_UP_OVERHEAD
= 0x0204,
156 EC_TAG_STATS_DOWN_OVERHEAD
= 0x0205,
157 EC_TAG_STATS_TOTAL_SRC_COUNT
= 0x0206,
158 EC_TAG_STATS_BANNED_COUNT
= 0x0207,
159 EC_TAG_STATS_UL_QUEUE_LEN
= 0x0208,
160 EC_TAG_STATS_ED2K_USERS
= 0x0209,
161 EC_TAG_STATS_KAD_USERS
= 0x020A,
162 EC_TAG_STATS_ED2K_FILES
= 0x020B,
163 EC_TAG_STATS_KAD_FILES
= 0x020C,
164 EC_TAG_STATS_LOGGER_MESSAGE
= 0x020D,
165 EC_TAG_STATS_KAD_FIREWALLED_UDP
= 0x020E,
166 EC_TAG_STATS_KAD_INDEXED_SOURCES
= 0x020F,
167 EC_TAG_STATS_KAD_INDEXED_KEYWORDS
= 0x0210,
168 EC_TAG_STATS_KAD_INDEXED_NOTES
= 0x0211,
169 EC_TAG_STATS_KAD_INDEXED_LOAD
= 0x0212,
170 EC_TAG_STATS_KAD_IP_ADRESS
= 0x0213,
171 EC_TAG_STATS_BUDDY_STATUS
= 0x0214,
172 EC_TAG_STATS_BUDDY_IP
= 0x0215,
173 EC_TAG_STATS_BUDDY_PORT
= 0x0216,
174 EC_TAG_STATS_KAD_IN_LAN_MODE
= 0x0217,
175 EC_TAG_PARTFILE
= 0x0300,
176 EC_TAG_PARTFILE_NAME
= 0x0301,
177 EC_TAG_PARTFILE_PARTMETID
= 0x0302,
178 EC_TAG_PARTFILE_SIZE_FULL
= 0x0303,
179 EC_TAG_PARTFILE_SIZE_XFER
= 0x0304,
180 EC_TAG_PARTFILE_SIZE_XFER_UP
= 0x0305,
181 EC_TAG_PARTFILE_SIZE_DONE
= 0x0306,
182 EC_TAG_PARTFILE_SPEED
= 0x0307,
183 EC_TAG_PARTFILE_STATUS
= 0x0308,
184 EC_TAG_PARTFILE_PRIO
= 0x0309,
185 EC_TAG_PARTFILE_SOURCE_COUNT
= 0x030A,
186 EC_TAG_PARTFILE_SOURCE_COUNT_A4AF
= 0x030B,
187 EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT
= 0x030C,
188 EC_TAG_PARTFILE_SOURCE_COUNT_XFER
= 0x030D,
189 EC_TAG_PARTFILE_ED2K_LINK
= 0x030E,
190 EC_TAG_PARTFILE_CAT
= 0x030F,
191 EC_TAG_PARTFILE_LAST_RECV
= 0x0310,
192 EC_TAG_PARTFILE_LAST_SEEN_COMP
= 0x0311,
193 EC_TAG_PARTFILE_PART_STATUS
= 0x0312,
194 EC_TAG_PARTFILE_GAP_STATUS
= 0x0313,
195 EC_TAG_PARTFILE_REQ_STATUS
= 0x0314,
196 EC_TAG_PARTFILE_SOURCE_NAMES
= 0x0315,
197 EC_TAG_PARTFILE_COMMENTS
= 0x0316,
198 EC_TAG_PARTFILE_STOPPED
= 0x0317,
199 EC_TAG_PARTFILE_DOWNLOAD_ACTIVE
= 0x0318,
200 EC_TAG_PARTFILE_LOST_CORRUPTION
= 0x0319,
201 EC_TAG_PARTFILE_GAINED_COMPRESSION
= 0x031A,
202 EC_TAG_PARTFILE_SAVED_ICH
= 0x031B,
203 EC_TAG_PARTFILE_SOURCE_NAMES_COUNTS
= 0x031C,
204 EC_TAG_PARTFILE_AVAILABLE_PARTS
= 0x031D,
205 EC_TAG_PARTFILE_HASH
= 0x031E,
206 EC_TAG_PARTFILE_SHARED
= 0x031F,
207 EC_TAG_PARTFILE_HASHED_PART_COUNT
= 0x0320,
208 EC_TAG_PARTFILE_A4AFAUTO
= 0x0321,
209 EC_TAG_PARTFILE_A4AF_SOURCES
= 0x0322,
210 EC_TAG_KNOWNFILE
= 0x0400,
211 EC_TAG_KNOWNFILE_XFERRED
= 0x0401,
212 EC_TAG_KNOWNFILE_XFERRED_ALL
= 0x0402,
213 EC_TAG_KNOWNFILE_REQ_COUNT
= 0x0403,
214 EC_TAG_KNOWNFILE_REQ_COUNT_ALL
= 0x0404,
215 EC_TAG_KNOWNFILE_ACCEPT_COUNT
= 0x0405,
216 EC_TAG_KNOWNFILE_ACCEPT_COUNT_ALL
= 0x0406,
217 EC_TAG_KNOWNFILE_AICH_MASTERHASH
= 0x0407,
218 EC_TAG_KNOWNFILE_FILENAME
= 0x0408,
219 EC_TAG_KNOWNFILE_COMPLETE_SOURCES_LOW
= 0x0409,
220 EC_TAG_KNOWNFILE_COMPLETE_SOURCES_HIGH
= 0x040A,
221 EC_TAG_KNOWNFILE_PRIO
= 0x040B,
222 EC_TAG_KNOWNFILE_ON_QUEUE
= 0x040C,
223 EC_TAG_KNOWNFILE_COMPLETE_SOURCES
= 0x040D,
224 EC_TAG_KNOWNFILE_COMMENT
= 0x040E,
225 EC_TAG_KNOWNFILE_RATING
= 0x040F,
226 EC_TAG_SERVER
= 0x0500,
227 EC_TAG_SERVER_NAME
= 0x0501,
228 EC_TAG_SERVER_DESC
= 0x0502,
229 EC_TAG_SERVER_ADDRESS
= 0x0503,
230 EC_TAG_SERVER_PING
= 0x0504,
231 EC_TAG_SERVER_USERS
= 0x0505,
232 EC_TAG_SERVER_USERS_MAX
= 0x0506,
233 EC_TAG_SERVER_FILES
= 0x0507,
234 EC_TAG_SERVER_PRIO
= 0x0508,
235 EC_TAG_SERVER_FAILED
= 0x0509,
236 EC_TAG_SERVER_STATIC
= 0x050A,
237 EC_TAG_SERVER_VERSION
= 0x050B,
238 EC_TAG_SERVER_IP
= 0x050C,
239 EC_TAG_SERVER_PORT
= 0x050D,
240 EC_TAG_CLIENT
= 0x0600,
241 EC_TAG_CLIENT_SOFTWARE
= 0x0601,
242 EC_TAG_CLIENT_SCORE
= 0x0602,
243 EC_TAG_CLIENT_HASH
= 0x0603,
244 EC_TAG_CLIENT_FRIEND
= 0x0604,
245 EC_TAG_CLIENT_WAIT_TIME
= 0x0605,
246 EC_TAG_CLIENT_XFER_TIME
= 0x0606,
247 EC_TAG_CLIENT_QUEUE_TIME
= 0x0607,
248 EC_TAG_CLIENT_LAST_TIME
= 0x0608,
249 EC_TAG_CLIENT_UPLOAD_SESSION
= 0x0609,
250 EC_TAG_CLIENT_UPLOAD_TOTAL
= 0x060A,
251 EC_TAG_CLIENT_DOWNLOAD_TOTAL
= 0x060B,
252 EC_TAG_CLIENT_DOWNLOAD_STATE
= 0x060C,
253 EC_TAG_CLIENT_UP_SPEED
= 0x060D,
254 EC_TAG_CLIENT_DOWN_SPEED
= 0x060E,
255 EC_TAG_CLIENT_FROM
= 0x060F,
256 EC_TAG_CLIENT_USER_IP
= 0x0610,
257 EC_TAG_CLIENT_USER_PORT
= 0x0611,
258 EC_TAG_CLIENT_SERVER_IP
= 0x0612,
259 EC_TAG_CLIENT_SERVER_PORT
= 0x0613,
260 EC_TAG_CLIENT_SERVER_NAME
= 0x0614,
261 EC_TAG_CLIENT_SOFT_VER_STR
= 0x0615,
262 EC_TAG_CLIENT_WAITING_POSITION
= 0x0616,
263 EC_TAG_CLIENT_IDENT_STATE
= 0x0617,
264 EC_TAG_CLIENT_OBFUSCATION_STATUS
= 0x0618,
265 EC_TAG_CLIENT_CURRENTLYUNUSED1
= 0x0619,
266 EC_TAG_CLIENT_REMOTE_QUEUE_RANK
= 0x061A,
267 EC_TAG_CLIENT_ASKED_COUNT
= 0x061B,
268 EC_TAG_CLIENT_UPLOAD_STATE
= 0x061C,
269 EC_TAG_CLIENT_EXT_PROTOCOL
= 0x061D,
270 EC_TAG_CLIENT_USER_ID
= 0x061E,
271 EC_TAG_CLIENT_UPLOAD_FILE
= 0x061F,
272 EC_TAG_CLIENT_REQUEST_FILE
= 0x0620,
273 EC_TAG_CLIENT_A4AF_FILES
= 0x0621,
274 EC_TAG_CLIENT_OLD_REMOTE_QUEUE_RANK
= 0x0622,
275 EC_TAG_CLIENT_KAD_PORT
= 0x0623,
276 EC_TAG_CLIENT_PART_STATUS
= 0x0624,
277 EC_TAG_CLIENT_NEXT_REQUESTED_PART
= 0x0625,
278 EC_TAG_CLIENT_LAST_DOWNLOADING_PART
= 0x0626,
279 EC_TAG_CLIENT_REMOTE_FILENAME
= 0x0627,
280 EC_TAG_SEARCHFILE
= 0x0700,
281 EC_TAG_SEARCH_TYPE
= 0x0701,
282 EC_TAG_SEARCH_NAME
= 0x0702,
283 EC_TAG_SEARCH_MIN_SIZE
= 0x0703,
284 EC_TAG_SEARCH_MAX_SIZE
= 0x0704,
285 EC_TAG_SEARCH_FILE_TYPE
= 0x0705,
286 EC_TAG_SEARCH_EXTENSION
= 0x0706,
287 EC_TAG_SEARCH_AVAILABILITY
= 0x0707,
288 EC_TAG_SEARCH_STATUS
= 0x0708,
289 EC_TAG_SELECT_PREFS
= 0x1000,
290 EC_TAG_PREFS_CATEGORIES
= 0x1100,
291 EC_TAG_CATEGORY
= 0x1101,
292 EC_TAG_CATEGORY_TITLE
= 0x1102,
293 EC_TAG_CATEGORY_PATH
= 0x1103,
294 EC_TAG_CATEGORY_COMMENT
= 0x1104,
295 EC_TAG_CATEGORY_COLOR
= 0x1105,
296 EC_TAG_CATEGORY_PRIO
= 0x1106,
297 EC_TAG_PREFS_GENERAL
= 0x1200,
298 EC_TAG_USER_NICK
= 0x1201,
299 EC_TAG_USER_HASH
= 0x1202,
300 EC_TAG_USER_HOST
= 0x1203,
301 EC_TAG_GENERAL_CHECK_NEW_VERSION
= 0x1204,
302 EC_TAG_PREFS_CONNECTIONS
= 0x1300,
303 EC_TAG_CONN_DL_CAP
= 0x1301,
304 EC_TAG_CONN_UL_CAP
= 0x1302,
305 EC_TAG_CONN_MAX_DL
= 0x1303,
306 EC_TAG_CONN_MAX_UL
= 0x1304,
307 EC_TAG_CONN_SLOT_ALLOCATION
= 0x1305,
308 EC_TAG_CONN_TCP_PORT
= 0x1306,
309 EC_TAG_CONN_UDP_PORT
= 0x1307,
310 EC_TAG_CONN_UDP_DISABLE
= 0x1308,
311 EC_TAG_CONN_MAX_FILE_SOURCES
= 0x1309,
312 EC_TAG_CONN_MAX_CONN
= 0x130A,
313 EC_TAG_CONN_AUTOCONNECT
= 0x130B,
314 EC_TAG_CONN_RECONNECT
= 0x130C,
315 EC_TAG_NETWORK_ED2K
= 0x130D,
316 EC_TAG_NETWORK_KADEMLIA
= 0x130E,
317 EC_TAG_PREFS_MESSAGEFILTER
= 0x1400,
318 EC_TAG_MSGFILTER_ENABLED
= 0x1401,
319 EC_TAG_MSGFILTER_ALL
= 0x1402,
320 EC_TAG_MSGFILTER_FRIENDS
= 0x1403,
321 EC_TAG_MSGFILTER_SECURE
= 0x1404,
322 EC_TAG_MSGFILTER_BY_KEYWORD
= 0x1405,
323 EC_TAG_MSGFILTER_KEYWORDS
= 0x1406,
324 EC_TAG_PREFS_REMOTECTRL
= 0x1500,
325 EC_TAG_WEBSERVER_AUTORUN
= 0x1501,
326 EC_TAG_WEBSERVER_PORT
= 0x1502,
327 EC_TAG_WEBSERVER_GUEST
= 0x1503,
328 EC_TAG_WEBSERVER_USEGZIP
= 0x1504,
329 EC_TAG_WEBSERVER_REFRESH
= 0x1505,
330 EC_TAG_WEBSERVER_TEMPLATE
= 0x1506,
331 EC_TAG_PREFS_ONLINESIG
= 0x1600,
332 EC_TAG_ONLINESIG_ENABLED
= 0x1601,
333 EC_TAG_PREFS_SERVERS
= 0x1700,
334 EC_TAG_SERVERS_REMOVE_DEAD
= 0x1701,
335 EC_TAG_SERVERS_DEAD_SERVER_RETRIES
= 0x1702,
336 EC_TAG_SERVERS_AUTO_UPDATE
= 0x1703,
337 EC_TAG_SERVERS_URL_LIST
= 0x1704,
338 EC_TAG_SERVERS_ADD_FROM_SERVER
= 0x1705,
339 EC_TAG_SERVERS_ADD_FROM_CLIENT
= 0x1706,
340 EC_TAG_SERVERS_USE_SCORE_SYSTEM
= 0x1707,
341 EC_TAG_SERVERS_SMART_ID_CHECK
= 0x1708,
342 EC_TAG_SERVERS_SAFE_SERVER_CONNECT
= 0x1709,
343 EC_TAG_SERVERS_AUTOCONN_STATIC_ONLY
= 0x170A,
344 EC_TAG_SERVERS_MANUAL_HIGH_PRIO
= 0x170B,
345 EC_TAG_SERVERS_UPDATE_URL
= 0x170C,
346 EC_TAG_PREFS_FILES
= 0x1800,
347 EC_TAG_FILES_ICH_ENABLED
= 0x1801,
348 EC_TAG_FILES_AICH_TRUST
= 0x1802,
349 EC_TAG_FILES_NEW_PAUSED
= 0x1803,
350 EC_TAG_FILES_NEW_AUTO_DL_PRIO
= 0x1804,
351 EC_TAG_FILES_PREVIEW_PRIO
= 0x1805,
352 EC_TAG_FILES_NEW_AUTO_UL_PRIO
= 0x1806,
353 EC_TAG_FILES_UL_FULL_CHUNKS
= 0x1807,
354 EC_TAG_FILES_START_NEXT_PAUSED
= 0x1808,
355 EC_TAG_FILES_RESUME_SAME_CAT
= 0x1809,
356 EC_TAG_FILES_SAVE_SOURCES
= 0x180A,
357 EC_TAG_FILES_EXTRACT_METADATA
= 0x180B,
358 EC_TAG_FILES_ALLOC_FULL_SIZE
= 0x180C,
359 EC_TAG_FILES_CHECK_FREE_SPACE
= 0x180D,
360 EC_TAG_FILES_MIN_FREE_SPACE
= 0x180E,
361 EC_TAG_PREFS_SRCDROP
= 0x1900,
362 EC_TAG_SRCDROP_NONEEDED
= 0x1901,
363 EC_TAG_SRCDROP_DROP_FQS
= 0x1902,
364 EC_TAG_SRCDROP_DROP_HQRS
= 0x1903,
365 EC_TAG_SRCDROP_HQRS_VALUE
= 0x1904,
366 EC_TAG_SRCDROP_AUTODROP_TIMER
= 0x1905,
367 EC_TAG_PREFS_DIRECTORIES
= 0x1A00,
368 EC_TAG_DIRECTORIES_INCOMING
= 0x1A01,
369 EC_TAG_DIRECTORIES_TEMP
= 0x1A02,
370 EC_TAG_DIRECTORIES_SHARED
= 0x1A03,
371 EC_TAG_DIRECTORIES_SHARE_HIDDEN
= 0x1A04,
372 EC_TAG_PREFS_STATISTICS
= 0x1B00,
373 EC_TAG_STATSGRAPH_WIDTH
= 0x1B01,
374 EC_TAG_STATSGRAPH_SCALE
= 0x1B02,
375 EC_TAG_STATSGRAPH_LAST
= 0x1B03,
376 EC_TAG_STATSGRAPH_DATA
= 0x1B04,
377 EC_TAG_STATTREE_CAPPING
= 0x1B05,
378 EC_TAG_STATTREE_NODE
= 0x1B06,
379 EC_TAG_STAT_NODE_VALUE
= 0x1B07,
380 EC_TAG_STAT_VALUE_TYPE
= 0x1B08,
381 EC_TAG_STATTREE_NODEID
= 0x1B09,
382 EC_TAG_PREFS_SECURITY
= 0x1C00,
383 EC_TAG_SECURITY_CAN_SEE_SHARES
= 0x1C01,
384 EC_TAG_IPFILTER_CLIENTS
= 0x1C02,
385 EC_TAG_IPFILTER_SERVERS
= 0x1C03,
386 EC_TAG_IPFILTER_AUTO_UPDATE
= 0x1C04,
387 EC_TAG_IPFILTER_UPDATE_URL
= 0x1C05,
388 EC_TAG_IPFILTER_LEVEL
= 0x1C06,
389 EC_TAG_IPFILTER_FILTER_LAN
= 0x1C07,
390 EC_TAG_SECURITY_USE_SECIDENT
= 0x1C08,
391 EC_TAG_SECURITY_OBFUSCATION_SUPPORTED
= 0x1C09,
392 EC_TAG_SECURITY_OBFUSCATION_REQUESTED
= 0x1C0A,
393 EC_TAG_SECURITY_OBFUSCATION_REQUIRED
= 0x1C0B,
394 EC_TAG_PREFS_CORETWEAKS
= 0x1D00,
395 EC_TAG_CORETW_MAX_CONN_PER_FIVE
= 0x1D01,
396 EC_TAG_CORETW_VERBOSE
= 0x1D02,
397 EC_TAG_CORETW_FILEBUFFER
= 0x1D03,
398 EC_TAG_CORETW_UL_QUEUE
= 0x1D04,
399 EC_TAG_CORETW_SRV_KEEPALIVE_TIMEOUT
= 0x1D05,
400 EC_TAG_PREFS_KADEMLIA
= 0x1E00,
401 EC_TAG_KADEMLIA_UPDATE_URL
= 0x1E01
404 enum EC_DETAIL_LEVEL
{
405 EC_DETAIL_CMD
= 0x00,
406 EC_DETAIL_WEB
= 0x01,
407 EC_DETAIL_FULL
= 0x02,
408 EC_DETAIL_UPDATE
= 0x03,
409 EC_DETAIL_INC_UPDATE
= 0x04
412 enum EC_SEARCH_TYPE
{
413 EC_SEARCH_LOCAL
= 0x00,
414 EC_SEARCH_GLOBAL
= 0x01,
415 EC_SEARCH_KAD
= 0x02,
419 enum EC_STATTREE_NODE_VALUE_TYPE
{
420 EC_VALUE_INTEGER
= 0x00,
421 EC_VALUE_ISTRING
= 0x01,
422 EC_VALUE_BYTES
= 0x02,
423 EC_VALUE_ISHORT
= 0x03,
424 EC_VALUE_TIME
= 0x04,
425 EC_VALUE_SPEED
= 0x05,
426 EC_VALUE_STRING
= 0x06,
427 EC_VALUE_DOUBLE
= 0x07
431 EC_PREFS_CATEGORIES
= 0x00000001,
432 EC_PREFS_GENERAL
= 0x00000002,
433 EC_PREFS_CONNECTIONS
= 0x00000004,
434 EC_PREFS_MESSAGEFILTER
= 0x00000008,
435 EC_PREFS_REMOTECONTROLS
= 0x00000010,
436 EC_PREFS_ONLINESIG
= 0x00000020,
437 EC_PREFS_SERVERS
= 0x00000040,
438 EC_PREFS_FILES
= 0x00000080,
439 EC_PREFS_SRCDROP
= 0x00000100,
440 EC_PREFS_DIRECTORIES
= 0x00000200,
441 EC_PREFS_STATISTICS
= 0x00000400,
442 EC_PREFS_SECURITY
= 0x00000800,
443 EC_PREFS_CORETWEAKS
= 0x00001000,
444 EC_PREFS_KADEMLIA
= 0x00002000
447 #ifdef DEBUG_EC_IMPLEMENTATION
449 wxString
GetDebugNameProtocolVersion(uint16 arg
)
452 case 0x0203: return wxT("EC_CURRENT_PROTOCOL_VERSION");
453 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
457 wxString
GetDebugNameECFlags(uint32 arg
)
460 case 0x00000001: return wxT("EC_FLAG_ZLIB");
461 case 0x00000002: return wxT("EC_FLAG_UTF8_NUMBERS");
462 case 0xff7f7f08: return wxT("EC_FLAG_UNKNOWN_MASK");
463 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
467 wxString
GetDebugNameECOpCodes(uint8 arg
)
470 case 0x01: return wxT("EC_OP_NOOP");
471 case 0x02: return wxT("EC_OP_AUTH_REQ");
472 case 0x03: return wxT("EC_OP_AUTH_FAIL");
473 case 0x04: return wxT("EC_OP_AUTH_OK");
474 case 0x05: return wxT("EC_OP_FAILED");
475 case 0x06: return wxT("EC_OP_STRINGS");
476 case 0x07: return wxT("EC_OP_MISC_DATA");
477 case 0x08: return wxT("EC_OP_SHUTDOWN");
478 case 0x09: return wxT("EC_OP_ADD_LINK");
479 case 0x0A: return wxT("EC_OP_STAT_REQ");
480 case 0x0B: return wxT("EC_OP_GET_CONNSTATE");
481 case 0x0C: return wxT("EC_OP_STATS");
482 case 0x0D: return wxT("EC_OP_GET_DLOAD_QUEUE");
483 case 0x0E: return wxT("EC_OP_GET_ULOAD_QUEUE");
484 case 0x10: return wxT("EC_OP_GET_SHARED_FILES");
485 case 0x11: return wxT("EC_OP_SHARED_SET_PRIO");
486 case 0x12: return wxT("EC_OP_PARTFILE_REMOVE_NO_NEEDED");
487 case 0x13: return wxT("EC_OP_PARTFILE_REMOVE_FULL_QUEUE");
488 case 0x14: return wxT("EC_OP_PARTFILE_REMOVE_HIGH_QUEUE");
489 case 0x15: return wxT("EC_OP_PARTFILE_UNUSED");
490 case 0x16: return wxT("EC_OP_PARTFILE_SWAP_A4AF_THIS");
491 case 0x17: return wxT("EC_OP_PARTFILE_SWAP_A4AF_THIS_AUTO");
492 case 0x18: return wxT("EC_OP_PARTFILE_SWAP_A4AF_OTHERS");
493 case 0x19: return wxT("EC_OP_PARTFILE_PAUSE");
494 case 0x1A: return wxT("EC_OP_PARTFILE_RESUME");
495 case 0x1B: return wxT("EC_OP_PARTFILE_STOP");
496 case 0x1C: return wxT("EC_OP_PARTFILE_PRIO_SET");
497 case 0x1D: return wxT("EC_OP_PARTFILE_DELETE");
498 case 0x1E: return wxT("EC_OP_PARTFILE_SET_CAT");
499 case 0x1F: return wxT("EC_OP_DLOAD_QUEUE");
500 case 0x20: return wxT("EC_OP_ULOAD_QUEUE");
501 case 0x22: return wxT("EC_OP_SHARED_FILES");
502 case 0x23: return wxT("EC_OP_SHAREDFILES_RELOAD");
503 case 0x24: return wxT("EC_OP_SHAREDFILES_ADD_DIRECTORY");
504 case 0x25: return wxT("EC_OP_RENAME_FILE");
505 case 0x26: return wxT("EC_OP_SEARCH_START");
506 case 0x27: return wxT("EC_OP_SEARCH_STOP");
507 case 0x28: return wxT("EC_OP_SEARCH_RESULTS");
508 case 0x29: return wxT("EC_OP_SEARCH_PROGRESS");
509 case 0x2A: return wxT("EC_OP_DOWNLOAD_SEARCH_RESULT");
510 case 0x2B: return wxT("EC_OP_IPFILTER_RELOAD");
511 case 0x2C: return wxT("EC_OP_GET_SERVER_LIST");
512 case 0x2D: return wxT("EC_OP_SERVER_LIST");
513 case 0x2E: return wxT("EC_OP_SERVER_DISCONNECT");
514 case 0x2F: return wxT("EC_OP_SERVER_CONNECT");
515 case 0x30: return wxT("EC_OP_SERVER_REMOVE");
516 case 0x31: return wxT("EC_OP_SERVER_ADD");
517 case 0x32: return wxT("EC_OP_SERVER_UPDATE_FROM_URL");
518 case 0x33: return wxT("EC_OP_ADDLOGLINE");
519 case 0x34: return wxT("EC_OP_ADDDEBUGLOGLINE");
520 case 0x35: return wxT("EC_OP_GET_LOG");
521 case 0x36: return wxT("EC_OP_GET_DEBUGLOG");
522 case 0x37: return wxT("EC_OP_GET_SERVERINFO");
523 case 0x38: return wxT("EC_OP_LOG");
524 case 0x39: return wxT("EC_OP_DEBUGLOG");
525 case 0x3A: return wxT("EC_OP_SERVERINFO");
526 case 0x3B: return wxT("EC_OP_RESET_LOG");
527 case 0x3C: return wxT("EC_OP_RESET_DEBUGLOG");
528 case 0x3D: return wxT("EC_OP_CLEAR_SERVERINFO");
529 case 0x3E: return wxT("EC_OP_GET_LAST_LOG_ENTRY");
530 case 0x3F: return wxT("EC_OP_GET_PREFERENCES");
531 case 0x40: return wxT("EC_OP_SET_PREFERENCES");
532 case 0x41: return wxT("EC_OP_CREATE_CATEGORY");
533 case 0x42: return wxT("EC_OP_UPDATE_CATEGORY");
534 case 0x43: return wxT("EC_OP_DELETE_CATEGORY");
535 case 0x44: return wxT("EC_OP_GET_STATSGRAPHS");
536 case 0x45: return wxT("EC_OP_STATSGRAPHS");
537 case 0x46: return wxT("EC_OP_GET_STATSTREE");
538 case 0x47: return wxT("EC_OP_STATSTREE");
539 case 0x48: return wxT("EC_OP_KAD_START");
540 case 0x49: return wxT("EC_OP_KAD_STOP");
541 case 0x4A: return wxT("EC_OP_CONNECT");
542 case 0x4B: return wxT("EC_OP_DISCONNECT");
543 case 0x4D: return wxT("EC_OP_KAD_UPDATE_FROM_URL");
544 case 0x4E: return wxT("EC_OP_KAD_BOOTSTRAP_FROM_IP");
545 case 0x4F: return wxT("EC_OP_AUTH_SALT");
546 case 0x50: return wxT("EC_OP_AUTH_PASSWD");
547 case 0x51: return wxT("EC_OP_IPFILTER_UPDATE");
548 case 0x52: return wxT("EC_OP_GET_UPDATE");
549 case 0x53: return wxT("EC_OP_CLEAR_COMPLETED");
550 case 0x54: return wxT("EC_OP_CLIENT_SWAP_TO_ANOTHER_FILE");
551 case 0x55: return wxT("EC_OP_SHARED_FILE_SET_COMMENT");
552 case 0x56: return wxT("EC_OP_SERVER_SET_STATIC_PRIO");
553 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
557 wxString
GetDebugNameECTagNames(uint16 arg
)
560 case 0x0000: return wxT("EC_TAG_STRING");
561 case 0x0001: return wxT("EC_TAG_PASSWD_HASH");
562 case 0x0002: return wxT("EC_TAG_PROTOCOL_VERSION");
563 case 0x0003: return wxT("EC_TAG_VERSION_ID");
564 case 0x0004: return wxT("EC_TAG_DETAIL_LEVEL");
565 case 0x0005: return wxT("EC_TAG_CONNSTATE");
566 case 0x0006: return wxT("EC_TAG_ED2K_ID");
567 case 0x0007: return wxT("EC_TAG_LOG_TO_STATUS");
568 case 0x0008: return wxT("EC_TAG_BOOTSTRAP_IP");
569 case 0x0009: return wxT("EC_TAG_BOOTSTRAP_PORT");
570 case 0x000A: return wxT("EC_TAG_CLIENT_ID");
571 case 0x000B: return wxT("EC_TAG_PASSWD_SALT");
572 case 0x000C: return wxT("EC_TAG_CAN_ZLIB");
573 case 0x000D: return wxT("EC_TAG_CAN_UTF8_NUMBERS");
574 case 0x000E: return wxT("EC_TAG_CAN_NOTIFY");
575 case 0x000F: return wxT("EC_TAG_ECID");
576 case 0x0100: return wxT("EC_TAG_CLIENT_NAME");
577 case 0x0101: return wxT("EC_TAG_CLIENT_VERSION");
578 case 0x0102: return wxT("EC_TAG_CLIENT_MOD");
579 case 0x0200: return wxT("EC_TAG_STATS_UL_SPEED");
580 case 0x0201: return wxT("EC_TAG_STATS_DL_SPEED");
581 case 0x0202: return wxT("EC_TAG_STATS_UL_SPEED_LIMIT");
582 case 0x0203: return wxT("EC_TAG_STATS_DL_SPEED_LIMIT");
583 case 0x0204: return wxT("EC_TAG_STATS_UP_OVERHEAD");
584 case 0x0205: return wxT("EC_TAG_STATS_DOWN_OVERHEAD");
585 case 0x0206: return wxT("EC_TAG_STATS_TOTAL_SRC_COUNT");
586 case 0x0207: return wxT("EC_TAG_STATS_BANNED_COUNT");
587 case 0x0208: return wxT("EC_TAG_STATS_UL_QUEUE_LEN");
588 case 0x0209: return wxT("EC_TAG_STATS_ED2K_USERS");
589 case 0x020A: return wxT("EC_TAG_STATS_KAD_USERS");
590 case 0x020B: return wxT("EC_TAG_STATS_ED2K_FILES");
591 case 0x020C: return wxT("EC_TAG_STATS_KAD_FILES");
592 case 0x020D: return wxT("EC_TAG_STATS_LOGGER_MESSAGE");
593 case 0x020E: return wxT("EC_TAG_STATS_KAD_FIREWALLED_UDP");
594 case 0x020F: return wxT("EC_TAG_STATS_KAD_INDEXED_SOURCES");
595 case 0x0210: return wxT("EC_TAG_STATS_KAD_INDEXED_KEYWORDS");
596 case 0x0211: return wxT("EC_TAG_STATS_KAD_INDEXED_NOTES");
597 case 0x0212: return wxT("EC_TAG_STATS_KAD_INDEXED_LOAD");
598 case 0x0213: return wxT("EC_TAG_STATS_KAD_IP_ADRESS");
599 case 0x0214: return wxT("EC_TAG_STATS_BUDDY_STATUS");
600 case 0x0215: return wxT("EC_TAG_STATS_BUDDY_IP");
601 case 0x0216: return wxT("EC_TAG_STATS_BUDDY_PORT");
602 case 0x0217: return wxT("EC_TAG_STATS_KAD_IN_LAN_MODE");
603 case 0x0300: return wxT("EC_TAG_PARTFILE");
604 case 0x0301: return wxT("EC_TAG_PARTFILE_NAME");
605 case 0x0302: return wxT("EC_TAG_PARTFILE_PARTMETID");
606 case 0x0303: return wxT("EC_TAG_PARTFILE_SIZE_FULL");
607 case 0x0304: return wxT("EC_TAG_PARTFILE_SIZE_XFER");
608 case 0x0305: return wxT("EC_TAG_PARTFILE_SIZE_XFER_UP");
609 case 0x0306: return wxT("EC_TAG_PARTFILE_SIZE_DONE");
610 case 0x0307: return wxT("EC_TAG_PARTFILE_SPEED");
611 case 0x0308: return wxT("EC_TAG_PARTFILE_STATUS");
612 case 0x0309: return wxT("EC_TAG_PARTFILE_PRIO");
613 case 0x030A: return wxT("EC_TAG_PARTFILE_SOURCE_COUNT");
614 case 0x030B: return wxT("EC_TAG_PARTFILE_SOURCE_COUNT_A4AF");
615 case 0x030C: return wxT("EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT");
616 case 0x030D: return wxT("EC_TAG_PARTFILE_SOURCE_COUNT_XFER");
617 case 0x030E: return wxT("EC_TAG_PARTFILE_ED2K_LINK");
618 case 0x030F: return wxT("EC_TAG_PARTFILE_CAT");
619 case 0x0310: return wxT("EC_TAG_PARTFILE_LAST_RECV");
620 case 0x0311: return wxT("EC_TAG_PARTFILE_LAST_SEEN_COMP");
621 case 0x0312: return wxT("EC_TAG_PARTFILE_PART_STATUS");
622 case 0x0313: return wxT("EC_TAG_PARTFILE_GAP_STATUS");
623 case 0x0314: return wxT("EC_TAG_PARTFILE_REQ_STATUS");
624 case 0x0315: return wxT("EC_TAG_PARTFILE_SOURCE_NAMES");
625 case 0x0316: return wxT("EC_TAG_PARTFILE_COMMENTS");
626 case 0x0317: return wxT("EC_TAG_PARTFILE_STOPPED");
627 case 0x0318: return wxT("EC_TAG_PARTFILE_DOWNLOAD_ACTIVE");
628 case 0x0319: return wxT("EC_TAG_PARTFILE_LOST_CORRUPTION");
629 case 0x031A: return wxT("EC_TAG_PARTFILE_GAINED_COMPRESSION");
630 case 0x031B: return wxT("EC_TAG_PARTFILE_SAVED_ICH");
631 case 0x031C: return wxT("EC_TAG_PARTFILE_SOURCE_NAMES_COUNTS");
632 case 0x031D: return wxT("EC_TAG_PARTFILE_AVAILABLE_PARTS");
633 case 0x031E: return wxT("EC_TAG_PARTFILE_HASH");
634 case 0x031F: return wxT("EC_TAG_PARTFILE_SHARED");
635 case 0x0320: return wxT("EC_TAG_PARTFILE_HASHED_PART_COUNT");
636 case 0x0321: return wxT("EC_TAG_PARTFILE_A4AFAUTO");
637 case 0x0322: return wxT("EC_TAG_PARTFILE_A4AF_SOURCES");
638 case 0x0400: return wxT("EC_TAG_KNOWNFILE");
639 case 0x0401: return wxT("EC_TAG_KNOWNFILE_XFERRED");
640 case 0x0402: return wxT("EC_TAG_KNOWNFILE_XFERRED_ALL");
641 case 0x0403: return wxT("EC_TAG_KNOWNFILE_REQ_COUNT");
642 case 0x0404: return wxT("EC_TAG_KNOWNFILE_REQ_COUNT_ALL");
643 case 0x0405: return wxT("EC_TAG_KNOWNFILE_ACCEPT_COUNT");
644 case 0x0406: return wxT("EC_TAG_KNOWNFILE_ACCEPT_COUNT_ALL");
645 case 0x0407: return wxT("EC_TAG_KNOWNFILE_AICH_MASTERHASH");
646 case 0x0408: return wxT("EC_TAG_KNOWNFILE_FILENAME");
647 case 0x0409: return wxT("EC_TAG_KNOWNFILE_COMPLETE_SOURCES_LOW");
648 case 0x040A: return wxT("EC_TAG_KNOWNFILE_COMPLETE_SOURCES_HIGH");
649 case 0x040B: return wxT("EC_TAG_KNOWNFILE_PRIO");
650 case 0x040C: return wxT("EC_TAG_KNOWNFILE_ON_QUEUE");
651 case 0x040D: return wxT("EC_TAG_KNOWNFILE_COMPLETE_SOURCES");
652 case 0x040E: return wxT("EC_TAG_KNOWNFILE_COMMENT");
653 case 0x040F: return wxT("EC_TAG_KNOWNFILE_RATING");
654 case 0x0500: return wxT("EC_TAG_SERVER");
655 case 0x0501: return wxT("EC_TAG_SERVER_NAME");
656 case 0x0502: return wxT("EC_TAG_SERVER_DESC");
657 case 0x0503: return wxT("EC_TAG_SERVER_ADDRESS");
658 case 0x0504: return wxT("EC_TAG_SERVER_PING");
659 case 0x0505: return wxT("EC_TAG_SERVER_USERS");
660 case 0x0506: return wxT("EC_TAG_SERVER_USERS_MAX");
661 case 0x0507: return wxT("EC_TAG_SERVER_FILES");
662 case 0x0508: return wxT("EC_TAG_SERVER_PRIO");
663 case 0x0509: return wxT("EC_TAG_SERVER_FAILED");
664 case 0x050A: return wxT("EC_TAG_SERVER_STATIC");
665 case 0x050B: return wxT("EC_TAG_SERVER_VERSION");
666 case 0x050C: return wxT("EC_TAG_SERVER_IP");
667 case 0x050D: return wxT("EC_TAG_SERVER_PORT");
668 case 0x0600: return wxT("EC_TAG_CLIENT");
669 case 0x0601: return wxT("EC_TAG_CLIENT_SOFTWARE");
670 case 0x0602: return wxT("EC_TAG_CLIENT_SCORE");
671 case 0x0603: return wxT("EC_TAG_CLIENT_HASH");
672 case 0x0604: return wxT("EC_TAG_CLIENT_FRIEND");
673 case 0x0605: return wxT("EC_TAG_CLIENT_WAIT_TIME");
674 case 0x0606: return wxT("EC_TAG_CLIENT_XFER_TIME");
675 case 0x0607: return wxT("EC_TAG_CLIENT_QUEUE_TIME");
676 case 0x0608: return wxT("EC_TAG_CLIENT_LAST_TIME");
677 case 0x0609: return wxT("EC_TAG_CLIENT_UPLOAD_SESSION");
678 case 0x060A: return wxT("EC_TAG_CLIENT_UPLOAD_TOTAL");
679 case 0x060B: return wxT("EC_TAG_CLIENT_DOWNLOAD_TOTAL");
680 case 0x060C: return wxT("EC_TAG_CLIENT_DOWNLOAD_STATE");
681 case 0x060D: return wxT("EC_TAG_CLIENT_UP_SPEED");
682 case 0x060E: return wxT("EC_TAG_CLIENT_DOWN_SPEED");
683 case 0x060F: return wxT("EC_TAG_CLIENT_FROM");
684 case 0x0610: return wxT("EC_TAG_CLIENT_USER_IP");
685 case 0x0611: return wxT("EC_TAG_CLIENT_USER_PORT");
686 case 0x0612: return wxT("EC_TAG_CLIENT_SERVER_IP");
687 case 0x0613: return wxT("EC_TAG_CLIENT_SERVER_PORT");
688 case 0x0614: return wxT("EC_TAG_CLIENT_SERVER_NAME");
689 case 0x0615: return wxT("EC_TAG_CLIENT_SOFT_VER_STR");
690 case 0x0616: return wxT("EC_TAG_CLIENT_WAITING_POSITION");
691 case 0x0617: return wxT("EC_TAG_CLIENT_IDENT_STATE");
692 case 0x0618: return wxT("EC_TAG_CLIENT_OBFUSCATION_STATUS");
693 case 0x0619: return wxT("EC_TAG_CLIENT_CURRENTLYUNUSED1");
694 case 0x061A: return wxT("EC_TAG_CLIENT_REMOTE_QUEUE_RANK");
695 case 0x061B: return wxT("EC_TAG_CLIENT_ASKED_COUNT");
696 case 0x061C: return wxT("EC_TAG_CLIENT_UPLOAD_STATE");
697 case 0x061D: return wxT("EC_TAG_CLIENT_EXT_PROTOCOL");
698 case 0x061E: return wxT("EC_TAG_CLIENT_USER_ID");
699 case 0x061F: return wxT("EC_TAG_CLIENT_UPLOAD_FILE");
700 case 0x0620: return wxT("EC_TAG_CLIENT_REQUEST_FILE");
701 case 0x0621: return wxT("EC_TAG_CLIENT_A4AF_FILES");
702 case 0x0622: return wxT("EC_TAG_CLIENT_OLD_REMOTE_QUEUE_RANK");
703 case 0x0623: return wxT("EC_TAG_CLIENT_KAD_PORT");
704 case 0x0624: return wxT("EC_TAG_CLIENT_PART_STATUS");
705 case 0x0625: return wxT("EC_TAG_CLIENT_NEXT_REQUESTED_PART");
706 case 0x0626: return wxT("EC_TAG_CLIENT_LAST_DOWNLOADING_PART");
707 case 0x0627: return wxT("EC_TAG_CLIENT_REMOTE_FILENAME");
708 case 0x0700: return wxT("EC_TAG_SEARCHFILE");
709 case 0x0701: return wxT("EC_TAG_SEARCH_TYPE");
710 case 0x0702: return wxT("EC_TAG_SEARCH_NAME");
711 case 0x0703: return wxT("EC_TAG_SEARCH_MIN_SIZE");
712 case 0x0704: return wxT("EC_TAG_SEARCH_MAX_SIZE");
713 case 0x0705: return wxT("EC_TAG_SEARCH_FILE_TYPE");
714 case 0x0706: return wxT("EC_TAG_SEARCH_EXTENSION");
715 case 0x0707: return wxT("EC_TAG_SEARCH_AVAILABILITY");
716 case 0x0708: return wxT("EC_TAG_SEARCH_STATUS");
717 case 0x1000: return wxT("EC_TAG_SELECT_PREFS");
718 case 0x1100: return wxT("EC_TAG_PREFS_CATEGORIES");
719 case 0x1101: return wxT("EC_TAG_CATEGORY");
720 case 0x1102: return wxT("EC_TAG_CATEGORY_TITLE");
721 case 0x1103: return wxT("EC_TAG_CATEGORY_PATH");
722 case 0x1104: return wxT("EC_TAG_CATEGORY_COMMENT");
723 case 0x1105: return wxT("EC_TAG_CATEGORY_COLOR");
724 case 0x1106: return wxT("EC_TAG_CATEGORY_PRIO");
725 case 0x1200: return wxT("EC_TAG_PREFS_GENERAL");
726 case 0x1201: return wxT("EC_TAG_USER_NICK");
727 case 0x1202: return wxT("EC_TAG_USER_HASH");
728 case 0x1203: return wxT("EC_TAG_USER_HOST");
729 case 0x1204: return wxT("EC_TAG_GENERAL_CHECK_NEW_VERSION");
730 case 0x1300: return wxT("EC_TAG_PREFS_CONNECTIONS");
731 case 0x1301: return wxT("EC_TAG_CONN_DL_CAP");
732 case 0x1302: return wxT("EC_TAG_CONN_UL_CAP");
733 case 0x1303: return wxT("EC_TAG_CONN_MAX_DL");
734 case 0x1304: return wxT("EC_TAG_CONN_MAX_UL");
735 case 0x1305: return wxT("EC_TAG_CONN_SLOT_ALLOCATION");
736 case 0x1306: return wxT("EC_TAG_CONN_TCP_PORT");
737 case 0x1307: return wxT("EC_TAG_CONN_UDP_PORT");
738 case 0x1308: return wxT("EC_TAG_CONN_UDP_DISABLE");
739 case 0x1309: return wxT("EC_TAG_CONN_MAX_FILE_SOURCES");
740 case 0x130A: return wxT("EC_TAG_CONN_MAX_CONN");
741 case 0x130B: return wxT("EC_TAG_CONN_AUTOCONNECT");
742 case 0x130C: return wxT("EC_TAG_CONN_RECONNECT");
743 case 0x130D: return wxT("EC_TAG_NETWORK_ED2K");
744 case 0x130E: return wxT("EC_TAG_NETWORK_KADEMLIA");
745 case 0x1400: return wxT("EC_TAG_PREFS_MESSAGEFILTER");
746 case 0x1401: return wxT("EC_TAG_MSGFILTER_ENABLED");
747 case 0x1402: return wxT("EC_TAG_MSGFILTER_ALL");
748 case 0x1403: return wxT("EC_TAG_MSGFILTER_FRIENDS");
749 case 0x1404: return wxT("EC_TAG_MSGFILTER_SECURE");
750 case 0x1405: return wxT("EC_TAG_MSGFILTER_BY_KEYWORD");
751 case 0x1406: return wxT("EC_TAG_MSGFILTER_KEYWORDS");
752 case 0x1500: return wxT("EC_TAG_PREFS_REMOTECTRL");
753 case 0x1501: return wxT("EC_TAG_WEBSERVER_AUTORUN");
754 case 0x1502: return wxT("EC_TAG_WEBSERVER_PORT");
755 case 0x1503: return wxT("EC_TAG_WEBSERVER_GUEST");
756 case 0x1504: return wxT("EC_TAG_WEBSERVER_USEGZIP");
757 case 0x1505: return wxT("EC_TAG_WEBSERVER_REFRESH");
758 case 0x1506: return wxT("EC_TAG_WEBSERVER_TEMPLATE");
759 case 0x1600: return wxT("EC_TAG_PREFS_ONLINESIG");
760 case 0x1601: return wxT("EC_TAG_ONLINESIG_ENABLED");
761 case 0x1700: return wxT("EC_TAG_PREFS_SERVERS");
762 case 0x1701: return wxT("EC_TAG_SERVERS_REMOVE_DEAD");
763 case 0x1702: return wxT("EC_TAG_SERVERS_DEAD_SERVER_RETRIES");
764 case 0x1703: return wxT("EC_TAG_SERVERS_AUTO_UPDATE");
765 case 0x1704: return wxT("EC_TAG_SERVERS_URL_LIST");
766 case 0x1705: return wxT("EC_TAG_SERVERS_ADD_FROM_SERVER");
767 case 0x1706: return wxT("EC_TAG_SERVERS_ADD_FROM_CLIENT");
768 case 0x1707: return wxT("EC_TAG_SERVERS_USE_SCORE_SYSTEM");
769 case 0x1708: return wxT("EC_TAG_SERVERS_SMART_ID_CHECK");
770 case 0x1709: return wxT("EC_TAG_SERVERS_SAFE_SERVER_CONNECT");
771 case 0x170A: return wxT("EC_TAG_SERVERS_AUTOCONN_STATIC_ONLY");
772 case 0x170B: return wxT("EC_TAG_SERVERS_MANUAL_HIGH_PRIO");
773 case 0x170C: return wxT("EC_TAG_SERVERS_UPDATE_URL");
774 case 0x1800: return wxT("EC_TAG_PREFS_FILES");
775 case 0x1801: return wxT("EC_TAG_FILES_ICH_ENABLED");
776 case 0x1802: return wxT("EC_TAG_FILES_AICH_TRUST");
777 case 0x1803: return wxT("EC_TAG_FILES_NEW_PAUSED");
778 case 0x1804: return wxT("EC_TAG_FILES_NEW_AUTO_DL_PRIO");
779 case 0x1805: return wxT("EC_TAG_FILES_PREVIEW_PRIO");
780 case 0x1806: return wxT("EC_TAG_FILES_NEW_AUTO_UL_PRIO");
781 case 0x1807: return wxT("EC_TAG_FILES_UL_FULL_CHUNKS");
782 case 0x1808: return wxT("EC_TAG_FILES_START_NEXT_PAUSED");
783 case 0x1809: return wxT("EC_TAG_FILES_RESUME_SAME_CAT");
784 case 0x180A: return wxT("EC_TAG_FILES_SAVE_SOURCES");
785 case 0x180B: return wxT("EC_TAG_FILES_EXTRACT_METADATA");
786 case 0x180C: return wxT("EC_TAG_FILES_ALLOC_FULL_SIZE");
787 case 0x180D: return wxT("EC_TAG_FILES_CHECK_FREE_SPACE");
788 case 0x180E: return wxT("EC_TAG_FILES_MIN_FREE_SPACE");
789 case 0x1900: return wxT("EC_TAG_PREFS_SRCDROP");
790 case 0x1901: return wxT("EC_TAG_SRCDROP_NONEEDED");
791 case 0x1902: return wxT("EC_TAG_SRCDROP_DROP_FQS");
792 case 0x1903: return wxT("EC_TAG_SRCDROP_DROP_HQRS");
793 case 0x1904: return wxT("EC_TAG_SRCDROP_HQRS_VALUE");
794 case 0x1905: return wxT("EC_TAG_SRCDROP_AUTODROP_TIMER");
795 case 0x1A00: return wxT("EC_TAG_PREFS_DIRECTORIES");
796 case 0x1A01: return wxT("EC_TAG_DIRECTORIES_INCOMING");
797 case 0x1A02: return wxT("EC_TAG_DIRECTORIES_TEMP");
798 case 0x1A03: return wxT("EC_TAG_DIRECTORIES_SHARED");
799 case 0x1A04: return wxT("EC_TAG_DIRECTORIES_SHARE_HIDDEN");
800 case 0x1B00: return wxT("EC_TAG_PREFS_STATISTICS");
801 case 0x1B01: return wxT("EC_TAG_STATSGRAPH_WIDTH");
802 case 0x1B02: return wxT("EC_TAG_STATSGRAPH_SCALE");
803 case 0x1B03: return wxT("EC_TAG_STATSGRAPH_LAST");
804 case 0x1B04: return wxT("EC_TAG_STATSGRAPH_DATA");
805 case 0x1B05: return wxT("EC_TAG_STATTREE_CAPPING");
806 case 0x1B06: return wxT("EC_TAG_STATTREE_NODE");
807 case 0x1B07: return wxT("EC_TAG_STAT_NODE_VALUE");
808 case 0x1B08: return wxT("EC_TAG_STAT_VALUE_TYPE");
809 case 0x1B09: return wxT("EC_TAG_STATTREE_NODEID");
810 case 0x1C00: return wxT("EC_TAG_PREFS_SECURITY");
811 case 0x1C01: return wxT("EC_TAG_SECURITY_CAN_SEE_SHARES");
812 case 0x1C02: return wxT("EC_TAG_IPFILTER_CLIENTS");
813 case 0x1C03: return wxT("EC_TAG_IPFILTER_SERVERS");
814 case 0x1C04: return wxT("EC_TAG_IPFILTER_AUTO_UPDATE");
815 case 0x1C05: return wxT("EC_TAG_IPFILTER_UPDATE_URL");
816 case 0x1C06: return wxT("EC_TAG_IPFILTER_LEVEL");
817 case 0x1C07: return wxT("EC_TAG_IPFILTER_FILTER_LAN");
818 case 0x1C08: return wxT("EC_TAG_SECURITY_USE_SECIDENT");
819 case 0x1C09: return wxT("EC_TAG_SECURITY_OBFUSCATION_SUPPORTED");
820 case 0x1C0A: return wxT("EC_TAG_SECURITY_OBFUSCATION_REQUESTED");
821 case 0x1C0B: return wxT("EC_TAG_SECURITY_OBFUSCATION_REQUIRED");
822 case 0x1D00: return wxT("EC_TAG_PREFS_CORETWEAKS");
823 case 0x1D01: return wxT("EC_TAG_CORETW_MAX_CONN_PER_FIVE");
824 case 0x1D02: return wxT("EC_TAG_CORETW_VERBOSE");
825 case 0x1D03: return wxT("EC_TAG_CORETW_FILEBUFFER");
826 case 0x1D04: return wxT("EC_TAG_CORETW_UL_QUEUE");
827 case 0x1D05: return wxT("EC_TAG_CORETW_SRV_KEEPALIVE_TIMEOUT");
828 case 0x1E00: return wxT("EC_TAG_PREFS_KADEMLIA");
829 case 0x1E01: return wxT("EC_TAG_KADEMLIA_UPDATE_URL");
830 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
834 wxString
GetDebugNameEC_DETAIL_LEVEL(uint8 arg
)
837 case 0x00: return wxT("EC_DETAIL_CMD");
838 case 0x01: return wxT("EC_DETAIL_WEB");
839 case 0x02: return wxT("EC_DETAIL_FULL");
840 case 0x03: return wxT("EC_DETAIL_UPDATE");
841 case 0x04: return wxT("EC_DETAIL_INC_UPDATE");
842 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
846 wxString
GetDebugNameEC_SEARCH_TYPE(uint8 arg
)
849 case 0x00: return wxT("EC_SEARCH_LOCAL");
850 case 0x01: return wxT("EC_SEARCH_GLOBAL");
851 case 0x02: return wxT("EC_SEARCH_KAD");
852 case 0x03: return wxT("EC_SEARCH_WEB");
853 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
857 wxString
GetDebugNameEC_STATTREE_NODE_VALUE_TYPE(uint8 arg
)
860 case 0x00: return wxT("EC_VALUE_INTEGER");
861 case 0x01: return wxT("EC_VALUE_ISTRING");
862 case 0x02: return wxT("EC_VALUE_BYTES");
863 case 0x03: return wxT("EC_VALUE_ISHORT");
864 case 0x04: return wxT("EC_VALUE_TIME");
865 case 0x05: return wxT("EC_VALUE_SPEED");
866 case 0x06: return wxT("EC_VALUE_STRING");
867 case 0x07: return wxT("EC_VALUE_DOUBLE");
868 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
872 wxString
GetDebugNameEcPrefs(uint32 arg
)
875 case 0x00000001: return wxT("EC_PREFS_CATEGORIES");
876 case 0x00000002: return wxT("EC_PREFS_GENERAL");
877 case 0x00000004: return wxT("EC_PREFS_CONNECTIONS");
878 case 0x00000008: return wxT("EC_PREFS_MESSAGEFILTER");
879 case 0x00000010: return wxT("EC_PREFS_REMOTECONTROLS");
880 case 0x00000020: return wxT("EC_PREFS_ONLINESIG");
881 case 0x00000040: return wxT("EC_PREFS_SERVERS");
882 case 0x00000080: return wxT("EC_PREFS_FILES");
883 case 0x00000100: return wxT("EC_PREFS_SRCDROP");
884 case 0x00000200: return wxT("EC_PREFS_DIRECTORIES");
885 case 0x00000400: return wxT("EC_PREFS_STATISTICS");
886 case 0x00000800: return wxT("EC_PREFS_SECURITY");
887 case 0x00001000: return wxT("EC_PREFS_CORETWEAKS");
888 case 0x00002000: return wxT("EC_PREFS_KADEMLIA");
889 default: return CFormat(wxT("unknown %d 0x%x")) % arg
% arg
;
893 #endif // DEBUG_EC_IMPLEMENTATION
895 #endif // __ECCODES_H__