📄 opcodes.h
字号:
#define ST_PING 0x0C // <uint32>
#define ST_FAIL 0x0D // <uint32>
#define ST_PREFERENCE 0x0E // <uint32>
#define ST_DYNIP 0x85 // <string>
//#define ST_LASTPING 0x86 // <int> No longer used.
#define ST_MAXUSERS 0x87 // <uint32>
#define ST_SOFTFILES 0x88 // <uint32>
#define ST_HARDFILES 0x89 // <uint32>
#define ST_LASTPING 0x90 // <uint32>
#define ST_VERSION 0x91 // <string>|<uint32>
#define ST_UDPFLAGS 0x92 // <uint32>
#define ST_AUXPORTSLIST 0x93 // <string>
#define ST_LOWIDUSERS 0x94 // <uint32>
//file tags
#define FT_FILENAME 0x01 // <string>
#define TAG_NAME "\x01" // <string>
#define FT_FILESIZE 0x02 // <uint32>
#define TAG_SIZE "\x02" // <uint32>
#define FT_FILETYPE 0x03 // <string>
#define TAG_TYPE "\x03" // <string>
#define FT_FILEFORMAT 0x04 // <string>
#define TAG_FORMAT "\x04" // <string>
#define FT_LASTSEENCOMPLETE 0x05 // <uint32>
#define TAG_COLLECTION "\x05"
#define TAG_PART_PATH "\x06" // <string>
#define TAG_PART_HASH "\x07"
#define FT_TRANSFERED 0x08 // <uint32>
#define TAG_COPIED "\x08" // <uint32>
#define FT_GAPSTART 0x09 // <uint32>
#define TAG_GAP_START "\x09" // <uint32>
#define FT_GAPEND 0x0A // <uint32>
#define TAG_GAP_END "\x0A" // <uint32>
#define TAG_DESCRIPTION "\x0B" // <string>
#define TAG_PING "\x0C"
#define TAG_FAIL "\x0D"
#define TAG_PREFERENCE "\x0E"
#define TAG_PORT "\x0F"
#define TAG_IP_ADDRESS "\x10"
#define TAG_VERSION "\x11" // <string>
#define FT_PARTFILENAME 0x12 // <string>
#define TAG_TEMPFILE "\x12" // <string>
//#define FT_PRIORITY 0x13 // Not used anymore
#define TAG_PRIORITY "\x13" // <uint32>
#define FT_STATUS 0x14 // <uint32>
#define TAG_STATUS "\x14" // <uint32>
#define FT_SOURCES 0x15 // <uint32>
#define TAG_AVAILABILITY "\x15" // <uint32>
#define FT_PERMISSIONS 0x16 // <uint32>
#define TAG_QTIME "\x16"
//#define FT_ULPRIORITY 0x17 // Not used anymore
#define TAG_PARTS "\x17"
#define FT_DLPRIORITY 0x18 // Was 13
#define FT_ULPRIORITY 0x19 // Was 17
#define FT_KADLASTPUBLISHKEY 0x20 // <uint32>
#define FT_KADLASTPUBLISHSRC 0x21 // <uint32>
#define FT_FLAGS 0x22 // <uint32>
#define FT_DL_ACTIVE_TIME 0x23 // <uint32>
#define FT_CORRUPTEDPARTS 0x24 // <string>
#define FT_DL_PREVIEW 0x25
#define FT_AICH_HASH 0x27
#define FT_COMPLETE_SOURCES 0x30 // nr. of sources which share a complete version of the associated file (supported by eserver 16.46+)
// statistic
#define FT_ATTRANSFERED 0x50 // <uint32>
#define FT_ATREQUESTED 0x51 // <uint32>
#define FT_ATACCEPTED 0x52 // <uint32>
#define FT_CATEGORY 0x53 // <uint32>
#define FT_ATTRANSFEREDHI 0x54 // <uint32>
#define TAG_MEDIA_ARTIST "\xD0" // <string>
#define FT_MEDIA_ARTIST 0xD0 // <string>
#define TAG_MEDIA_ALBUM "\xD1" // <string>
#define FT_MEDIA_ALBUM 0xD1 // <string>
#define TAG_MEDIA_TITLE "\xD2" // <string>
#define FT_MEDIA_TITLE 0xD2 // <string>
#define TAG_MEDIA_LENGTH "\xD3" // <uint32> !!!
#define FT_MEDIA_LENGTH 0xD3 // <uint32> !!!
#define TAG_MEDIA_BITRATE "\xD4" // <uint32>
#define FT_MEDIA_BITRATE 0xD4 // <uint32>
#define TAG_MEDIA_CODEC "\xD5" // <string>
#define FT_MEDIA_CODEC 0xD5 // <string>
#define TAG_BUDDYHASH "\xF8" // <string>
#define TAG_CLIENTLOWID "\xF9" // <uint32>
#define TAG_SERVERPORT "\xFA" // <uint16>
#define TAG_SERVERIP "\xFB" // <uint32>
#define TAG_SOURCEUPORT "\xFC" // <uint16>
#define TAG_SOURCEPORT "\xFD" // <uint16>
#define TAG_SOURCEIP "\xFE" // <uint32>
#define TAG_SOURCETYPE "\xFF" // <uint8>
#define TAGTYPE_HASH 0x01
#define TAGTYPE_STRING 0x02
#define TAGTYPE_UINT32 0x03
#define TAGTYPE_FLOAT32 0x04
#define TAGTYPE_BOOL 0x05
#define TAGTYPE_BOOLARRAY 0x06
#define TAGTYPE_BLOB 0x07
#define TAGTYPE_UINT16 0x08
#define TAGTYPE_UINT8 0x09
#define TAGTYPE_BSOB 0x0A
#define TAGTYPE_STR1 0x11
#define TAGTYPE_STR2 0x12
#define TAGTYPE_STR3 0x13
#define TAGTYPE_STR4 0x14
#define TAGTYPE_STR5 0x15
#define TAGTYPE_STR6 0x16
#define TAGTYPE_STR7 0x17
#define TAGTYPE_STR8 0x18
#define TAGTYPE_STR9 0x19
#define TAGTYPE_STR10 0x1A
#define TAGTYPE_STR11 0x1B
#define TAGTYPE_STR12 0x1C
#define TAGTYPE_STR13 0x1D
#define TAGTYPE_STR14 0x1E
#define TAGTYPE_STR15 0x1F
#define TAGTYPE_STR16 0x20
#define TAGTYPE_STR17 0x21 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define TAGTYPE_STR18 0x22 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define TAGTYPE_STR19 0x23 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define TAGTYPE_STR20 0x24 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define TAGTYPE_STR21 0x25 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define TAGTYPE_STR22 0x26 // accepted by eMule 0.42f (02-Mai-2004) in receiving code only because of a flaw, those tags are handled correctly, but should not be handled at all
#define ED2KFTSTR_AUDIO "Audio" // value for eD2K tag FT_FILETYPE
#define ED2KFTSTR_VIDEO "Video" // value for eD2K tag FT_FILETYPE
#define ED2KFTSTR_IMAGE "Image" // value for eD2K tag FT_FILETYPE
#define ED2KFTSTR_DOCUMENT "Doc" // value for eD2K tag FT_FILETYPE
#define ED2KFTSTR_PROGRAM "Pro" // value for eD2K tag FT_FILETYPE
#define ED2KFTSTR_ARCHIVE "Arc" // eMule internal use only
#define ED2KFTSTR_CDIMAGE "Iso" // eMule internal use only
// additional media meta data tags from eDonkeyHybrid (note also the uppercase/lowercase)
#define FT_ED2K_MEDIA_ARTIST "Artist" // <string>
#define FT_ED2K_MEDIA_ALBUM "Album" // <string>
#define FT_ED2K_MEDIA_TITLE "Title" // <string>
#define FT_ED2K_MEDIA_LENGTH "length" // <string> !!!
#define FT_ED2K_MEDIA_BITRATE "bitrate" // <uint32>
#define FT_ED2K_MEDIA_CODEC "codec" // <string>
#define TAG_NSENT "# Sent"
#define TAG_ONIP "ip"
#define TAG_ONPORT "port"
// ed2k search expression comparison operators
#define ED2K_SEARCH_OP_EQUAL 0 // eserver 16.45+
#define ED2K_SEARCH_OP_GREATER 1 // dserver
#define ED2K_SEARCH_OP_LESS 2 // dserver
#define ED2K_SEARCH_OP_GREATER_EQUAL 3 // eserver 16.45+
#define ED2K_SEARCH_OP_LESS_EQUAL 4 // eserver 16.45+
#define ED2K_SEARCH_OP_NOTEQUAL 5 // eserver 16.45+
// Kad search expression comparison operators
#define KAD_SEARCH_OP_EQUAL 0 // eMule 0.43+
#define KAD_SEARCH_OP_GREATER_EQUAL 1 // eMule 0.40+; NOTE: this different than ED2K!
#define KAD_SEARCH_OP_LESS_EQUAL 2 // eMule 0.40+; NOTE: this different than ED2K!
#define KAD_SEARCH_OP_GREATER 3 // eMule 0.43+; NOTE: this different than ED2K!
#define KAD_SEARCH_OP_LESS 4 // eMule 0.43+; NOTE: this different than ED2K!
#define KAD_SEARCH_OP_NOTEQUAL 5 // eMule 0.43+
#define CT_NAME 0x01
#define CT_PORT 0x0f
#define CT_VERSION 0x11
#define CT_SERVER_FLAGS 0x20 // currently only used to inform a server about supported features
#define CT_MOD_VERSION 0x55
#define CT_EMULECOMPAT_OPTIONS1 0xef
#define CT_EMULE_RESERVED1 0xf0
#define CT_EMULE_RESERVED2 0xf1
#define CT_EMULE_RESERVED3 0xf2
#define CT_EMULE_RESERVED4 0xf3
#define CT_EMULE_RESERVED5 0xf4
#define CT_EMULE_RESERVED6 0xf5
#define CT_EMULE_RESERVED7 0xf6
#define CT_EMULE_RESERVED8 0xf7
#define CT_EMULE_RESERVED9 0xf8
#define CT_EMULE_UDPPORTS 0xf9
#define CT_EMULE_MISCOPTIONS1 0xfa
#define CT_EMULE_VERSION 0xfb
#define CT_EMULE_BUDDYIP 0xfc
#define CT_EMULE_BUDDYUDP 0xfd
#define CT_EMULE_RESERVED12 0xfe
#define CT_EMULE_RESERVED13 0xff
// values for CT_SERVER_FLAGS (server capabilities)
#define SRVCAP_ZLIB 0x01
#define SRVCAP_IP_IN_LOGIN 0x02
#define SRVCAP_AUXPORT 0x04
#define SRVCAP_NEWTAGS 0x08
#define SRVCAP_UNICODE 0x10
// emule tagnames
#define ET_COMPRESSION 0x20
#define ET_UDPPORT 0x21
#define ET_UDPVER 0x22
#define ET_SOURCEEXCHANGE 0x23
#define ET_COMMENTS 0x24
#define ET_EXTENDEDREQUEST 0x25
#define ET_COMPATIBLECLIENT 0x26
#define ET_FEATURES 0x27
#define ET_MOD_VERSION CT_MOD_VERSION
#define PCPCK_VERSION 0x01
// PeerCache packet sub objcodes
#define PCOP_NONE 0x00
#define PCOP_REQ 0x01
#define PCOP_RES 0x02
#define PCOP_ACK 0x03
// PeerCache tags (NOTE: those tags are using the new eD2K tags (short tags))
#define PCTAG_CACHEIP 0x01
#define PCTAG_CACHEPORT 0x02
#define PCTAG_PUBLICIP 0x03
#define PCTAG_PUBLICPORT 0x04
#define PCTAG_PUSHID 0x05
#define PCTAG_FILEID 0x06
// KADEMLIA (opcodes) (udp)
#define KADEMLIA_BOOTSTRAP_REQ 0x00 // <PEER (sender) [25]>
#define KADEMLIA_BOOTSTRAP_RES 0x08 // <CNT [2]> <PEER [25]>*(CNT)
#define KADEMLIA_HELLO_REQ 0x10 // <PEER (sender) [25]>
#define KADEMLIA_HELLO_RES 0x18 // <PEER (receiver) [25]>
#define KADEMLIA_REQ 0x20 // <TYPE [1]> <HASH (target) [16]> <HASH (receiver) 16>
#define KADEMLIA_RES 0x28 // <HASH (target) [16]> <CNT> <PEER [25]>*(CNT)
#define KADEMLIA_SEARCH_REQ 0x30 // <HASH (key) [16]> <ext 0/1 [1]> <SEARCH_TREE>[ext]
#define KADEMLIA_SRC_NOTES_REQ 0x31 // <HASH (key) [16]> <ext 0/1 [1]> <SEARCH_TREE>[ext]
#define KADEMLIA_SEARCH_RES 0x38 // <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1)
#define KADEMLIA_SRC_NOTES_RES 0x39 // <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1)
#define KADEMLIA_PUBLISH_REQ 0x40 // <HASH (key) [16]> <CNT1 [2]> (<HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1)
#define KADEMLIA_PUB_NOTES_REQ 0x41 // <HASH (key) [16]> <CNT1 [2]> (<HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1)
#define KADEMLIA_PUBLISH_RES 0x48 // <HASH (key) [16]>
#define KADEMLIA_PUB_NOTES_RES 0x49 // <HASH (key) [16]>
#define KADEMLIA_FIREWALLED_REQ 0x50 // <TCPPORT (sender) [2]>
#define KADEMLIA_FINDBUDDY_REQ 0x51 // <TCPPORT (sender) [2]>
#define KADEMLIA_FINDSOURCE_REQ 0x52 // <TCPPORT (sender) [2]>
#define KADEMLIA_FIREWALLED_RES 0x58 // <IP (sender) [4]>
#define KADEMLIA_FIREWALLED_ACK 0x59 // (null)
#define KADEMLIA_FINDBUDDY_RES 0x5A // <TCPPORT (sender) [2]>
// KADEMLIA (parameter)
#define KADEMLIA_FIND_VALUE 0x02
#define KADEMLIA_STORE 0x04
#define KADEMLIA_FIND_NODE 0x0B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -