Difference between revisions of "Emulecollection"
From AMule Project FAQ
(corrected binary file structure) |
m (wiki formatting) |
||
Line 19: | Line 19: | ||
uint32_t header tag count | uint32_t header tag count | ||
− | header tags: | + | 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 | |
− | + | FT_COLLECTIONAUTHORKEY 0x32 | |
− | + | uint32_t blob size | |
− | + | (notype) blob data | |
uint32_t collection file count | uint32_t collection file count |
Revision as of 21:10, 11 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 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_STR3 0x13 FT_FILENAME 0x01 std::string file name (notype) signature (only for signed files)