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