Difference between revisions of "Emulecollection"
From AMule Project FAQ
m (=What is an emulecollection?=) |
(=binary files=) |
||
Line 60: | Line 60: | ||
uint64_t file size | uint64_t file size | ||
− | + | TAGTYPE_STR1 to 16 0x11 to 0x20 | |
FT_FILENAME 0x01 | FT_FILENAME 0x01 | ||
− | std::string file name | + | std::string file name |
+ | |||
+ | string length is TAGTYPE_STRx - 0x11 + 0x01 [1 to 16] | ||
+ | |||
+ | TAGTYPE_STRING 0x02 | ||
+ | FT_FILENAME 0x01 | ||
+ | uint16_t string length | ||
+ | std::string string value | ||
(notype) signature (only for signed files) | (notype) signature (only for signed files) |
Revision as of 18:46, 13 March 2007
Contents
What is an emulecollection?
An emulecollection is a file which contains various (hence a collection of) ed2k links. This is usually used to group various related files, e.g. a series.
emulecollection file structure
text files
Lines contain either an ed2k link or a comment starting with #.
binary files
uint32_t emulecollection version values: COLLECTION_FILE_VERSION1_INITIAL 0x01 COLLECTION_FILE_VERSION2_LARGEFILES 0x02 version 2 files support files bigger than 4GB (uint64_t file sizes) uint32_t header tag count header tags: TAGTYPE_STRING 0x02 uint16_t 0x0001 FT_FILENAME 0x01 uint16_t string length std::string string value TAGTYPE_STRING 0x02 uint16_t 0x0001 FT_COLLECTIONAUTHOR 0x31 uint16_t string length std::string string value TAGTYPE_BLOB 0x07 uint16_t 0x0001 FT_COLLECTIONAUTHORKEY 0x32 uint32_t blob size (notype) blob data uint32_t collection file count uint32_t file tag count at this point the TAGTYPE 0x01 will appear as 0x81 (uType | 0x80) -> see eMule packets.cpp TAGTYPE_HASH 0x01 FT_FILEHASH 0x28 (notype)[16] hash data TAGTYPE_UINT32 0x03 FT_FILESIZE 0x02 uint32_t file size TAGTYPE_UINT16 0x08 FT_FILESIZE 0x02 uint16_t file size TAGTYPE_UINT8 0x09 FT_FILESIZE 0x02 uint8_t file size TAGTYPE_UINT64 0x0B FT_FILESIZE 0x02 uint64_t file size TAGTYPE_STR1 to 16 0x11 to 0x20 FT_FILENAME 0x01 std::string file name string length is TAGTYPE_STRx - 0x11 + 0x01 [1 to 16] TAGTYPE_STRING 0x02 FT_FILENAME 0x01 uint16_t string length std::string string value (notype) signature (only for signed files)